List Table Hooks
Retrieve all webhooks configured for a specific table.GET /api/v1/db/meta/tables/{tableId}/hooks
Unique Table ID
Array of hook objects
Unique Hook ID
Hook Title
Event type:
after, before, manual, view, or fieldArray of operations:
insert, update, delete, or triggerWhether the hook is active
Hook notification configuration including type, payload, method, body, headers, and path
Foreign Key to Model/Table
Whether the hook executes asynchronously
Number of retry attempts (default: 10)
Retry interval in milliseconds (default: 60000)
Timeout in milliseconds (default: 60000)
Create Table Hook
Create a new webhook for a table.POST /api/v1/db/meta/tables/{tableId}/hooks
Unique Table ID
Hook Title
Event type:
after, before, manual, view, or fieldArray of operations:
insert, update, delete, or triggerWhether the hook is active (default: true)
Whether the hook executes asynchronously
Hook description
Number of retry attempts (default: 10)
Retry interval in milliseconds (default: 60000)
Timeout in milliseconds (default: 60000)
Whether this hook only triggers when specific fields are affected
Array of field IDs that trigger this hook
Update Hook
Update an existing webhook.PATCH /api/v1/db/meta/hooks/{hookId}
Unique Hook ID
Delete Hook
Delete a webhook.DELETE /api/v1/db/meta/hooks/{hookId}
Unique Hook ID
Test Hook
Test a webhook configuration before saving it.POST /api/v1/db/meta/tables/{tableId}/hooks/test
Unique Table ID
Hook configuration to test
Sample payload to send to the webhook
Get Sample Hook Payload
Get a sample payload for webhook testing based on table schema.GET /api/v1/db/meta/tables/{tableId}/hooks/samplePayload/{event}/{operation}/{version}
Unique Table ID
Hook event:
after, before, manual, view, or fieldHook operation:
insert, update, delete, or triggerHook version:
v1, v2, or v3Include user information in sample payload (“true” or “false”)
List Hook Logs
Retrieve execution logs for a specific hook.GET /api/v1/db/meta/hooks/{hookId}/logs
Unique Hook ID
Array of hook log objects
Unique Log ID
Foreign Key to Hook
Hook event type
Hook operation
Execution time in milliseconds
HTTP response from the webhook endpoint
Payload sent to the webhook
Error message if the webhook failed
User who triggered the hook
Whether this was a test call
Webhook Payload Structure
When a webhook is triggered, NocoDB sends a POST request to the configured URL with the following structure:v3 Payload Structure
Event Types
Thetype field follows this pattern: records.{event}.{operation}
records.after.insert- After a record is insertedrecords.after.update- After a record is updatedrecords.after.delete- After a record is deletedrecords.before.insert- Before a record is insertedrecords.before.update- Before a record is updatedrecords.before.delete- Before a record is deleted
Using Webhook Data
You can use template variables in your webhook configuration:{{ json data }}- Full JSON payload{{ json data.rows }}- Array of affected rows{{ data.table_name }}- Table name{{ user.email }}- User email who triggered the action