> ## 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>

### Spread Events

Track financial spreading runs:

<CardGroup cols={2}>
  <Card title="Spread Started" href="/api-reference/webhooks/events/spread-started">
    Fired when a spreading run starts, from the API or the Monumint app
  </Card>

  <Card title="Spread Completed" href="/api-reference/webhooks/events/spread-completed">
    Fired when a spreading run completes and its artifacts are ready
  </Card>

  <Card title="Spread Failed" href="/api-reference/webhooks/events/spread-failed">
    Fired when a spreading run fails
  </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 2xx status code within 5 seconds, Monumint will retry:

* **Initial retry**: After 1 minute
* **Subsequent retries**: Backoff of roughly 2, 5, 10, then 20 minutes
* **Maximum**: 6 total attempts

## Security

### Authenticating Deliveries

Deliveries are not signed. To authenticate them, set custom `headers` on the subscription — for example a shared-secret header — and reject requests to your endpoint that don't carry it. See [Create Webhook](/api-reference/webhooks/create-webhook).

### Best Practices

* Use HTTPS endpoints only
* Reject deliveries that don't carry your secret header
* 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>
