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

# Webhook events

> Schema reference and event types for Instantly webhook payloads.

# Webhook events

Webhook event payloads follow the schema below.

```json theme={null}
{
  // Base fields (always present)
  "timestamp": "string",       // ISO timestamp when the event occurred
  "event_type": "string",      // Type of event (see event types below)
  "workspace": "string",       // UUID of the workspace
  "campaign_id": "string",     // UUID of the campaign
  "campaign_name": "string",   // Name of the campaign

  // Optional fields
  "lead_email": "string",      // Email address of the lead (if the event is for a lead)
  "email_account": "string",   // Email account used to send the message (if applicable)
  "unibox_url": "string",      // URL to view the conversation in Unibox (only for reply events)

  // Step information (if available)
  "step": 1,                   // Step number in the campaign (starting at 1)
  "variant": 1,                // Variant number of the step (starting at 1)
  "is_first": true,            // Whether this is the first event of this type for the lead

  // Email information (for sent emails)
  "email_id": "string",        // The ID of the email (reply_to_uuid). You can use it to reply via the reply endpoint.
  "email_subject": "string",
  "email_text": "string",
  "email_html": "string",

  // Reply information (for reply events)
  "reply_text_snippet": "string", // Short preview of the reply content
  "reply_subject": "string",      // Subject of the reply email
  "reply_text": "string",         // Full plain-text content of the reply
  "reply_html": "string"          // Full HTML content of the reply

  // Lead data (merged from database if available)
  // Additional lead data fields from your database may appear as extra keys.
}
```

## Event types

### Email events

| Event type            | Description                      |
| --------------------- | -------------------------------- |
| `email_sent`          | An email was sent                |
| `email_opened`        | A lead opened an email           |
| `reply_received`      | A reply was received from a lead |
| `auto_reply_received` | An auto-reply was received       |
| `link_clicked`        | A lead clicked a tracked link    |
| `email_bounced`       | An email bounced                 |
| `lead_unsubscribed`   | A lead unsubscribed              |
| `account_error`       | An account-level error occurred  |
| `campaign_completed`  | A campaign completed             |

### Lead status events

| Event type            | Description                   |
| --------------------- | ----------------------------- |
| `lead_neutral`        | Lead marked as neutral        |
| `lead_interested`     | Lead marked as interested     |
| `lead_not_interested` | Lead marked as not interested |

### Meeting events

| Event type               | Description             |
| ------------------------ | ----------------------- |
| `lead_meeting_booked`    | A meeting was booked    |
| `lead_meeting_completed` | A meeting was completed |

### Other lead events

| Event type           | Description                 |
| -------------------- | --------------------------- |
| `lead_closed`        | Lead marked as closed       |
| `lead_out_of_office` | Lead is out of office       |
| `lead_wrong_person`  | Lead marked as wrong person |

### Custom labels

Any custom label configured in your workspace will be sent as the `event_type` value as-is.
