Use this file to discover all available pages before exploring further.
The payload structure depends on your destination type:
Webhook destinations: Payloads include notificationType and data fields.
Kinesis destinations: Payloads contain the data object. The notificationType is included in the event metadata.
You can find the OpenAPI spec for notification payloads on GitHub, or refer to the examples below:
Some payloads may include a config field nested within the data field. This config contains the complete installation configuration, including read, write, subscribe, and proxy settings.
The installation.updated event also includes an additional lastConfig field representing the previous configuration.
If the configuration object is too large to include inline, we will generate a signed URL you can use to fetch full configuration via GET request as a JSON file.
Example payload
{ "notificationType": "installation.updated", "data": { ..., "config": { //If the config content is too large, the config field will be empty and you can retrieve the content from the URL provided in `configURL`. "read": { "objects": { "account": { "objectName": "account", "destination": "my-webhook", "requiredFields": [...], "optionalFields": [...] } } } }, // "configURL": "https://example.com/config.json" // If the config content is too large to deliver directly, we will provide a signed URL where you can download the content as a JSON file. "lastConfig": { // Only for `installation.updated` notifications. If the config is too large, it will be omitted and the content will be available in `lastConfigURL`. "read": { "objects": { "account": { "objectName": "account", "destination": "my-old-webhook", "requiredFields": [...], "optionalFields": [...] } } } } // "lastConfigURL": "https://example.com/lastconfig.json" }}
Installation events (created, updated, deleted)
Webhook destination payload:
{ "notificationType": "installation.created", "data": { "projectId": "8f4a2b1c-3d5e-4f6a-9b0c-1d2e3f4a5b6c", "provider": "salesforce", "integrationId": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "integrationName": "Salesforce Integration", "installationId": "a3bb189e-8bf9-3888-9912-ace4e6543002", "connectionId": "c4e7f2a1-8b3d-4f6e-9a2c-5d1e3f4b6a7c", "groupRef": "customer-group-ref", "groupName": "Customer Name", "consumerRef": "user-123", "consumerName": "John Doe", "config": { //If the config content is too large, the config field will be empty and you can retrieve the content from the URL provided in `configURL`. "read": { "objects": { "account": { "objectName": "account", "destination": "my-webhook", "requiredFields": [...], "optionalFields": [...] } } } }, "lastConfig": { // Only for `installation.updated` notifications. If the config is too large, it will be omitted and the content will be available in `lastConfigURL`. "read": { "objects": { "account": { "objectName": "account", "destination": "my-old-webhook", "requiredFields": [...], "optionalFields": [...] } } } } // "lastConfigURL": "https://example.com/lastconfig.json" }}
Note: config contains the complete installation configuration object including read, write, subscribe, and proxy settings. installation.updated includes an additional lastConfig field with the previous configuration.
Note: For partial failures, success is false with both successfulRecordIds and errors populated.
Connection events (created, refreshed, deleted)
connection.created, connection.refreshed, and connection.deleted share the same payload shape. notificationType reflects the specific event.Webhook destination payload: