> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getomni.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook Events

# Webhook Events

This page provides an overview of all available webhook events. Each event type has its own detailed documentation page.

## Event Types

### Action Log Events

Track agent activity and action completion:

<CardGroup cols={2}>
  <Card title="Action Log Completed" href="/api-reference/webhooks/events/action-log-completed">
    Fired when an action completes successfully
  </Card>

  <Card title="Action Log Failed" href="/api-reference/webhooks/events/action-log-failed">
    Fired when an action fails
  </Card>
</CardGroup>

### Document Events

Track document collection and processing:

<CardGroup cols={2}>
  <Card title="Document Received" href="/api-reference/webhooks/events/document-received">
    Fired when a document is received
  </Card>

  <Card title="Document Extracted" href="/api-reference/webhooks/events/document-extracted">
    Fired when document extraction completes
  </Card>
</CardGroup>

### Lead Events

Track lead lifecycle:

<CardGroup cols={2}>
  <Card title="Lead Created" href="/api-reference/webhooks/events/lead-created">
    Fired when a lead is created
  </Card>

  <Card title="Lead Updated" href="/api-reference/webhooks/events/lead-updated">
    Fired when a lead is updated
  </Card>

  <Card title="Lead Completed" href="/api-reference/webhooks/events/lead-completed">
    Fired when a lead application is completed
  </Card>
</CardGroup>

## Webhook Delivery

### Request Format

Webhooks are sent as HTTP POST requests with:

* **Content-Type**: `application/json`
* **Method**: POST
* **Body**: JSON payload containing the event data

### Response Requirements

Your webhook endpoint should:

* Return a `200 OK` status code within 5 seconds
* Handle requests asynchronously if processing takes longer
* Return appropriate error codes for invalid requests

### Retry Logic

If your endpoint doesn't respond with a 200 status code, OmniAI will retry:

* **Initial retry**: After 1 minute
* **Subsequent retries**: Exponential backoff
* **Maximum retries**: 3 attempts

## Security

### Webhook Secrets

For enhanced security, you can configure a webhook secret. OmniAI will include this secret in the webhook request headers, allowing you to verify request authenticity.

### Best Practices

* Use HTTPS endpoints only
* Verify webhook signatures when possible
* Implement idempotency to handle duplicate events
* Set up retry logic for failed webhook deliveries
* Monitor webhook delivery status

## Related Guides

<CardGroup cols={2}>
  <Card title="Webhooks User Guide" href="/webhooks">
    Learn how to set up webhooks
  </Card>

  <Card title="Create Webhook API" href="/api-reference/webhooks/create-webhook">
    Create webhooks via API
  </Card>

  <Card title="List Webhooks API" href="/api-reference/webhooks/list-webhooks">
    List your webhooks
  </Card>
</CardGroup>
