Make sure your webhook endpoint is accessible
SDK Integration
Quick Setup
Create a webhook channel and subscribe to events in one call:
await client.notification.setupForWorkflow({
workflowId: 'your-workflow-id',
events: ['workflow_data_change'],
channels: {
WEBHOOK: {
name: 'api-integration',
url: 'https://api.example.com/webhooks/kadoa',
httpMethod: 'POST'
}
}
});
Channel Management
For more control over webhook channels, use the channel management methods:
// Create webhook channel
const channel = await client.notification.channels.createChannel({
channelType: 'WEBHOOK',
name: 'api-integration',
config: {
webhookUrl: 'https://api.example.com/webhooks/kadoa',
httpMethod: 'POST'
}
});
// List all channels
const channels = await client.notification.channels.listChannels({});
// Delete a channel
await client.notification.channels.deleteChannel('channel-id');
For API configuration, see the API reference.
UI Configuration
For non-technical users who prefer a visual interface:
- Add a webhook channel via the notifications tab in the left sidebar or notifications tab in a workflow
- Subscribe to events by selecting the webhook channel in workspace settings or workflow-specific settings
Event Payload Examples
Kadoa sends a POST request to your webhook URL with different payload structures depending on the event type:
workflow_data_change
workflow_finished
workflow_failed
Triggered when data changes are detected in monitored workflows:{
"eventType": "workflow_data_change",
"timestamp": "2025-01-01T00:00:00.000Z",
"data": {
"id": "change-id",
"workflowId": "workflow-id",
"data": [...],
"differences": [...],
"url": "https://monitored-page.com",
"createdAt": "2025-01-09T10:00:00Z",
"metadata": {
"workflowName": "My Workflow",
"tags": ["tag1", "tag2"]
}
}
}