This endpoint creates a new webhook for receiving real-time event notifications.
Body Parameters
The webhook listener URL where events will be sent
A list of event types to listen for. Supported events:
action_log.completed
action_log.failed
document.received
document.extracted
Whether the webhook should be enabled immediately (default: true)
Optional description for the webhook
Response
Unique identifier for the webhook
The webhook URL where events will be sent
Array of event types this webhook is subscribed to
Whether the webhook is currently enabled
Optional description for the webhook
ISO 8601 timestamp when the webhook was created
Your webhook endpoint should return a 200 status code within 5 seconds. If it doesn’t, OmniAI will retry the delivery.
const options = {
method: 'POST',
headers: {
'x-api-key': '<your-api-key>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://your-app.com/webhook/omniai',
events: ['action_log.completed', 'action_log.failed'],
isEnabled: true,
description: 'Production webhook for CRM sync'
}),
};
fetch('https://api-v2.getomni.ai/api/v1/webhooks', options)
.then((response) => response.json())
.then((response) => console.log(response))
.catch((err) => console.error(err));
{
"id": "06e4b90b-86dd-41c7-9a1e-73a592963682",
"workspaceId": "6048d78a-584a-4f1e-9e39-e011ca4cc48c",
"url": "https://c4b3632a95ef.ngrok-free.app/webhook/test-receiver",
"secret": null,
"events": [
"action_log.completed",
"action_log.failed"
],
"isEnabled": false,
"description": null,
"createdAt": "2025-10-30T19:49:46.581Z",
"updatedAt": "2025-10-30T20:07:31.930Z"
}