Creates a new webhook subscription for the specified database. The webhook will receive HTTP POST notifications when the subscribed events occur.
Event Types
Subscribe to any combination of these events:
| Event | Description |
|---|
record.created | Triggered when new records are added |
record.updated | Triggered when existing records are modified |
record.deleted | Triggered when records are deleted |
table.created | Triggered when new tables are added |
table.updated | Triggered when table properties change |
table.deleted | Triggered when tables are deleted |
field.created | Triggered when new fields are added |
field.updated | Triggered when field properties change |
field.deleted | Triggered when fields are deleted |
Filtering by Table
Use the optional tableId parameter to receive events only for a specific table:
{
"url": "https://your-server.com/webhook",
"events": ["record.created", "record.updated"],
"tableId": "tbl_abc123"
}
Omit tableId to receive events from all tables in the database.
Example: Subscribe to Record Changes
curl -X POST "https://tables.fillout.com/api/v1/bases/{databaseId}/webhooks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-server.com/webhooks/fillout",
"events": ["record.created", "record.updated", "record.deleted"]
}'
Response:
{
"id": 123,
"secret": "a1b2c3d4e5f6..."
}
Store the secret securely - it is only returned once on creation and cannot be retrieved later. You’ll need this secret to verify webhook signatures.