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

# Event payload reference

> The fields and headers of a connection webhook event delivered to your callback URL.

# Event payload reference

This page documents the payload Zapier POSTs to your `callback_url` for each connection webhook event. For the CRUD endpoints that register and manage webhooks, go to the [Connections API reference](/api-reference/connections/connection-webhooks/create-a-connection-webhook).

## Delivery headers

Each delivery includes the Standard Webhooks signature headers. For how to use them, go to [Verify signatures](/white-label/connection-webhooks/verify-signatures).

| Header              | Description                                                                                                                                                                                                                                 |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `webhook-id`        | Unique identifier for the delivery. Use it to deduplicate retries.                                                                                                                                                                          |
| `webhook-timestamp` | Unix timestamp (seconds) when the delivery was sent.                                                                                                                                                                                        |
| `webhook-signature` | Space-delimited list of `v1,<base64>` signatures over the delivery.                                                                                                                                                                         |
| `webhook-test`      | Present and set to `true` only on test deliveries sent from the [test endpoint](/white-label/connection-webhooks/connection-webhooks-quickstart#step-3-test-the-webhook). Absent on real events. Use it to skip side effects while testing. |

The body is sent as `application/json`.

## Event object

| Field        | Type               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------ | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type`       | string             | The event type. Matches the `event_type` the webhook subscribed to. Currently always `connection.expiry_scheduled`.                                                                                                                                                                                                                                                                                                                                                                       |
| `expires_at` | string (date-time) | ISO 8601 timestamp when the connection is scheduled to expire. Usually at or near the current time (the connection is already unusable, for example after a credential failure). It can also be a future time, up to about 30 days ahead, when expiry is deferred (for example a grace period). Compare it to the current time to decide whether the connection is already dead or will expire soon. This differs from the `webhook-timestamp` header, which is always the delivery time. |
| `data`       | object             | Event-specific details. See [`data` object](#data-object).                                                                                                                                                                                                                                                                                                                                                                                                                                |

### `data` object

| Field           | Type   | Description                                                                                                                                                       |
| --------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `connection_id` | string | External (opaque) ID of the connection that triggered the event. Use it to start a [reconnection flow](/white-label/implementation/connection-flow#reconnecting). |
| `account_id`    | string | External (opaque) ID of the account that owns the connection.                                                                                                     |
| `app`           | string | The integration the connection belongs to, as `app_key@version` (for example, `SlackCLIAPI@1.0.0`).                                                               |
| `title`         | string | Human-readable title of the connection.                                                                                                                           |

<Warning>
  `data.title` can contain personal data (PII), for example a person's name,
  username, email address, or phone number. Handle it accordingly: avoid
  logging it in plaintext, keep it
  out of analytics or third-party tools that are not approved for PII, and apply
  your normal data-handling and retention controls.
</Warning>

## Example

```json theme={null}
{
  "type": "connection.expiry_scheduled",
  "expires_at": "2026-08-01T00:00:00Z",
  "data": {
    "connection_id": "8e9b4d0a-3f1a-4b8c-9e5d-2f7c1a6e8d3b",
    "account_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "app": "SlackCLIAPI@1.0.0",
    "title": "My Slack workspace"
  }
}
```

## Event types

| Event type                    | Fires when                                                                                                                                                                   |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `connection.expiry_scheduled` | A connection you manage is scheduled to expire and needs to be reconnected. The `expires_at` field carries the scheduled expiry time, so you can prompt the user in advance. |

`connection.expiry_scheduled` is the only event type today. New event types may be added later, so treat an unknown `type` as one to ignore rather than an error.
