Skip to main content
POST
/
api
/
v1
/
webhooks
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"
}
This endpoint creates a new webhook for receiving real-time event notifications.

Body Parameters

url
string
required
The webhook listener URL where events will be sent
events
array
required
A list of event types to listen for. Supported events:
  • action_log.completed
  • action_log.failed
  • document.received
  • document.extracted
isEnabled
boolean
Whether the webhook should be enabled immediately (default: true)
description
string
Optional description for the webhook

Response

id
string
Unique identifier for the webhook
url
string
The webhook URL where events will be sent
events
array
Array of event types this webhook is subscribed to
isEnabled
boolean
Whether the webhook is currently enabled
description
string
Optional description for the webhook
createdAt
string
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"
}