Requex.me LogoRequex.me

Documentation

Browse by section

Keep all guides, tool docs, automation recipes, and comparison pages in one navigable place.

Docs Home
Docs

Foundation docs for getting started fast, understanding key terms, and tracking what has changed.

Guides

Start with fundamentals, then move into provider-specific webhook testing and production hardening.

Tool Docs

These pages explain what each tool does, when to use it, and how it fits into a webhook debugging workflow.

Automation Docs

Use these setup guides when you want forwarding rules, custom responses, security checks, or multi-destination fanout.

Compare

Use these pages to compare developer workflows, pricing tradeoffs, and feature differences between webhook tools.

How to Test Notion Webhooks

Set up Notion webhook listeners for database page events and capture real API payloads before your integration goes live.

Editorially reviewed by the Requex team10 min readAbout the product

TL;DR: Get a free URL from requex.me, create a Notion integration at developers.notion.com, add a webhook listener pointing to your Requex URL, and add or update a database page. The event payload appears in Requex — no server deployment required.

Notion Webhooks — What You Need to Know

Notion's webhook feature is managed through the Notion Developer Portal (developers.notion.com). You create an integration, add a webhook listener to it, and Notion sends events to your endpoint whenever pages or databases change — as long as the integration has been connected to those pages.

Note: Notion's Webhooks API was released in beta. The setup flow and available event types may evolve. Always check the official Notion developer docs for the current event catalog.

What Events Notion Sends

EventTriggerUse Case
page.createdA new page is created in a connected workspaceCRM sync, task creation in external tools
page.updatedPage properties or parent changedStatus sync, downstream automation triggers
page.content_updatedPage body content changedDocument version tracking, notifications
database.createdA new database is created (beta)Workspace provisioning, auditing

Step 1 — Generate a Requex Endpoint

Open requex.me and copy your unique URL:

https://requex.me/hook/a1b2c3d4-e5f6-7890-abcd-ef1234567890

Keep the Requex tab open so you can see requests arrive in real time.

Step 2 — Configure Notion Webhook

  1. Go to developers.notion.com and sign in with your Notion account.
  2. Click My integrations and either create a new integration or open an existing one.
  3. Inside your integration, look for the Webhooks section (may be listed as "Webhook listeners" or under a Configuration tab).
  4. Click Add webhook or New listener and paste your Requex URL into the endpoint URL field.
  5. Select the event types you want to receive. Start with page.created and page.updated for the most common use cases.
  6. Save the webhook. Notion may send a verification request — Requex handles this automatically with a 200 response.
  7. Connect the integration to a Notion page or database: in Notion, open the page, click the three-dot menu → Add connections → select your integration. Notion will only send events for pages the integration has access to.

Step 3 — Trigger a Test Event

In a database connected to your integration, click New to create a row. Notion fires the page.created event. Switch back to Requex — the payload should appear within a few seconds.

To test page.updated, change a property value on the row — for example, switch a status field from "Not started" to "In progress". Notion fires one event for the property change.

Step 4 — Inspect the Payload

In Requex, click the incoming request. A Notion webhook payload looks like:

{
  "id": "evt_01abc123def456",
  "type": "page.created",
  "created_time": "2026-04-05T12:00:00.000Z",
  "workspace_id": "wsp_abc123",
  "workspace_name": "My Workspace",
  "subscription_id": "sub_xyz789",
  "integration_id": "int_def456",
  "data": {
    "object": "event",
    "id": "evt_01abc123def456",
    "type": "page.created",
    "entity": {
      "id": "page_abc123",
      "type": "page"
    },
    "parent": {
      "id": "db_xyz789",
      "type": "database"
    },
    "authors": [
      { "id": "user_abc", "type": "person" }
    ],
    "timestamp": "2026-04-05T12:00:00.000Z"
  }
}

Notice that the payload contains the page ID and parent database ID, but not the full page content. To retrieve the page properties, call the Notion API: GET /v1/pages/{entity.id}. This is a common pattern in Notion integrations — the webhook notifies you, then you fetch the full object.

Handling Notion Webhooks in Your Integration

Here is a basic Node.js handler that processes Notion webhook events:

const express = require('express');
const { Client } = require('@notionhq/client');

const notion = new Client({ auth: process.env.NOTION_TOKEN });
const app = express();

app.post('/webhooks/notion', express.json(), async (req, res) => {
  // Respond 200 immediately to prevent Notion from retrying
  res.sendStatus(200);

  const { type, data } = req.body;
  const pageId = data?.entity?.id;

  if (!pageId) return;

  try {
    if (type === 'page.created' || type === 'page.updated') {
      // Fetch the full page from the Notion API
      const page = await notion.pages.retrieve({ page_id: pageId });
      const title = page.properties?.Name?.title?.[0]?.plain_text ?? 'Untitled';
      console.log(`Page ${type}: "${title}" (${pageId})`);
      // Sync to your database, send a Slack message, etc.
    }
  } catch (err) {
    console.error('Failed to fetch Notion page:', err.message);
  }
});

Common Issues

ProblemCauseFix
No events arriving for changes to a pageIntegration not connected to that pageOpen the page in Notion → three-dot menu → Add connections → select your integration
Events arrive but fetching the page returns 404Integration doesn't have read access to the pageRe-share the page with the integration; check integration capabilities include "Read content"
Duplicate events for one changeMultiple event types subscribed; page and content events fire separatelyDeduplicate by id field or filter to only the event types your integration needs

Test Notion Webhooks Free

Capture real Notion database page events and inspect every field. No signup required.

Open Requex →

Related guides

Start Testing Webhooks Now

Generate your unique URL and test webhooks instantly. Free, no signup.

Open Webhook Tester →