Webhooks integration

Get notified automatically for individual campaign actions

The webhooks integration lets you get automatic notifications related to campaign actions for individual recipients. From the settings page you'll be able to subscribe to different campaign events.

Enable the integration

Navigate to Settings > Integrations > Marketplace > Webhooks and click on Connect.

Basic settings

Give your connection a Name that helps you easily identify it.

Webhooks settings

Enter the endpoint where you'll be sending the campaign events in the URL field.


Endpoint format

The endpoint value should be a full URL, starting with https://.

Select the type of authentication required: Basic Auth, which requires username and password or Bearer Token, which just requires a token. These should match the credentials your endpoint is configured to receive.


Basic Auth example


Bearer Token example

Configure the integration

The settings section allows you to select the type of events you want to get notified about (for example, for message send, message open or message unsubscribe) and the channels for which you want to receive these webhooks (all single-stage campaign types are supported). For an exhaustive list of message events, review the Message Events section.

Click Connect to complete the setup.


More than one webhooks connection

It is possible to have additional webhooks connections by repeating the integration steps outlined in the section above.

This might be helpful in case you want to set up different endpoints for different message events or message types.

Webhook request format

The HTTP requests made by Xtremepush to your webhook endpoint are sent with Content-type as application/json and contain a JSON object in the request body.

The JSON object contains elements with the following keys:

  • event: String, for example: "message_send", "message_delivery".
  • time: Integer, UNIX timestamp.
  • properties: a nested JSON object containing elements described below:

Event properties

  • message_type: Indicates the communication channel.
  • campaign_id: Indicates the campaign ID (by which it's possible to search from the Existing Campaigns page).
  • profile_id: The Xtremepush unique profile ID.
  • device_id: The Xtremepush unique device ID. Will only be populated in device-centric campaigns (such as mobile, web push or in-app campaigns).
  • trigger_id: Xtremepush's internal unique identifier for the action that triggered the campaign to be sent.
  • error_message: More information about the reason a message failed. Only available for Message failure events.
  • user_id: External unique identifier. Learn more about how to set the user ID.
  • email: The email address of the user.

Update or delete an existing connection

Select the integration from Settings > Integrations > Marketplace > Configured Integrations. Go to the Settings tab and update any necessary setting; click Save to confirm. If you need to delete or deactivate the connection, click on the Actions button. You will be presented with the option to either Deactivate or Delete the integration. Clicking either of them opens a confirmation dialog.