Documentation
Docs
Webhook

Webhook

Send AI chat table exports to any HTTPS endpoint — Zapier, Make, n8n, or your own backend.

Webhook Integration

Turn AI chat tables into JSON payloads sent to any HTTPS endpoint — connect ExtractDB to Zapier, Make, n8n, or your own automation stack.

This integration is coming soon in the extension. You can set it up now; export will be available in an upcoming release.

Prerequisites

Before you begin, ensure you have:

  1. An HTTPS webhook URL (or http://localhost for local development).
  2. The ExtractDB extension installed on your browser.
  3. An active ExtractDB license (Webhook is a paid integration).

Connection Steps

Set up your webhook endpoint

Create a webhook URL in your automation tool or backend:

  • Zapier: Create a Zap → trigger Webhooks by ZapierCatch Hook → copy the URL.
  • Make: Create a scenario → add a Webhooks module → Custom webhook → copy the URL.
  • n8n: Add a Webhook node → set method to POST → copy the production URL.

Configure ExtractDB

  1. Open the ExtractDB extension popup.
  2. Activate your license key if you have not already.
  3. Find the Webhook card.
  4. Paste your Webhook URL (must start with https://, or http://localhost for local dev).
  5. (Optional) Enter a Secret header name and Secret header value if your endpoint requires custom authentication.
  6. Click Save Webhook.

Verify connection

Once saved, the webhook URL appears as the connection status. The endpoint is tested when you run your first export.

Payload format

Each export sends a POST request with Content-Type: application/json. The body shape is:

{
  "source": "extractdb",
  "table": {
    "id": "table-node-id",
    "name": "Content Calendar"
  },
  "fields": ["Title", "Date", "Status"],
  "rows": [
    { "Title": "Blog post draft", "Date": "2025-06-01", "Status": "Planned" },
    { "Title": "Newsletter", "Date": "2025-06-08", "Status": "In progress" }
  ]
}
FieldDescription
sourceAlways "extractdb" — use this to identify the sender.
table.idInternal ID of the detected table structure.
table.nameHuman-readable name of the detected table.
fieldsList of destination field names included in the export.
rowsArray of objects, one per exported row.

If you configured a secret header, it is sent as a custom HTTP header on every request (e.g., X-Webhook-Secret: your-value).

Exporting data

Click Export on a chat message

  1. Open a supported AI chat and get a structured response.
  2. Click the ExtractDB button next to the message's Copy button.

Select the detected table

  1. In the export modal, select the table structure from the content tree.
  2. Choose Webhook from the destination dropdown.

Map fields and review payload

  1. Review the field mapping — by default, all detected fields are included.
  2. Toggle off any fields you do not want in the payload.
  3. Preview the row count before sending.

Send the webhook

  1. Click Export to POST the JSON payload to your configured URL.
  2. Your endpoint should respond with a 2xx status code.
  3. A success toast confirms delivery; non-2xx responses show an error with the status code.

Automation examples

Zapier — After receiving the webhook, add actions like "Create Airtable Record" or "Add Row to Google Sheets" and map rows fields to your columns.

Make — Parse the JSON body, iterate over rows with an Iterator module, and route each row to your destination.

n8n — Connect the Webhook node to a Split Out node on rows, then branch to any integration node in your workflow.

Custom backend — Accept the POST, validate your secret header, and insert rows into your database.

Features

  • Universal destination: Send data anywhere that accepts HTTPS POST requests.
  • Structured JSON: Consistent payload shape for reliable automation parsing.
  • Optional auth header: Protect your endpoint with a custom secret header.
  • Field filtering: Choose which columns to include before sending.

Troubleshooting

  • Invalid URL: Webhook URLs must use https://. Only http://localhost is allowed for local development.
  • Webhook failed (4xx/5xx): Check your endpoint logs. The error message includes the HTTP status and a snippet of the response body.
  • Auth header rejected: Verify the header name and value match what your server expects (case-sensitive).
  • Empty payload: Ensure at least one field is mapped and the detected table contains rows.
  • Endpoint not receiving data: Confirm the URL is the production URL (not a test URL that requires manual activation, like n8n's test webhook).

Privacy: Your webhook URL and secret header are stored locally on your device. Export data is sent directly from your browser to your endpoint — ExtractDB does not log or store your payloads.