Webhooks allow aXcelerate to automatically send real-time data to an external system when certain events occur in your account. This feature is ideal for keeping external tools and platforms in sync with what's happening inside aXcelerate, such as enrolments, contact updates, and completed assessments.
Settings
Tip: Webhooks can be used in combination with tools like Zapier, Make.com, or custom APIs to trigger actions such as CRM updates, calendar events, or email notifications.
Note: You must have administrative access to configure Webhooks.
Access aXcelerate Webhook Documentation
To assist with building and integrating your webhook endpoints, aXcelerate provides detailed documentation on the structure of webhook payloads, supported events, and integration guidelines. This is especially useful for developers working with CRMs, marketing platforms, or other external systems that need to receive real-time data from aXcelerate.
- Reference our Webhooks Documentation
- Review the list of available trigger events and payload samples
- Use the data schemas provided to develop your integration
Note: If you're unsure about how to use a webhook payload, our documentation includes example JSON structures and descriptions of each field.
Create a Webhook
A Webhook is triggered by a specific system event in aXcelerate. When that event occurs, the system sends a payload of data to the designated URL.
- Go to Settings > Webhooks
- Click New Webhook
- Enter a Name for your webhook
- Paste in your Target URL where the payload will be sent, ensuring you include the protocol portion (https://) with your URL
- Select the Event Type that will trigger the webhook (e.g. Contact Updated, Enrolment Created)
- Click Save
Tip: You can configure multiple webhooks for different events. Each webhook can be tailored to suit the needs of a specific integration or external system.
Webhook Payload Format
All webhook event payloads will have the following structure, with all information pertaining to the specific event contained within the message object:
{
"type"
:
"namespace.event_name"
,
"message"
: {
// object(s) specific to the event
},
"clientId"
: 12345678,
"messageId"
:
"669ee575-71c1-5cf2-97ee-bb20be1f817d"
,
"timestamp"
:
"2024-02-25T23:30:38.056Z"
}
Note: Our Webhooks use an exponential backoff for retries to a total of 20 retries.
Webhook Signed Payload Format
Each event request sent to your endpoint will include two additional headers:
-
- Ax-Signature-Version
- Ax-Signature
You can provide a private key within the aXcelerate interface, where webhook endpoints and event listeners are managed. This key will be utilised to generate a signature unique to the payload.
If a private key is supplied, the Ax-Signature-Version header will be set to 1. Conversely, if no private key is provided, Ax-Signature-Version will be 0, and Ax-Signature will remain empty. In cases where a private key is provided, we employ the sha256 algorithm to produce a hash from the payload using it for the value of Ax-Signature.
It's important to note that aXcelerate will not verify whether your endpoint validates the signature for each payload. It will be incumbent upon developers to ensure that incoming payloads have been accurately signed before processing them.
Monitor Webhook Activity
You can view recent webhook activity and debug issues from the Webhook management area.
- Go to Web & Other Integrations
- Click the name of your webhook
- Scroll to Recent Activity to view delivery status and payload data
Tip: If a delivery fails, check the error code and review the response from your external system.
Can I test a webhook before using it in production?
Yes, it’s recommended to use a test endpoint like https://webhook.site to confirm the payload structure and ensure your receiving system is working as expected.
What happens if my webhook fails?
The webhook retry mechanism uses exponential backoff, meaning that the delay between retries increases exponentially with each failed attempt. For example, the system may wait 1 second after the first failure, 2 seconds after the second, 4 seconds after the third, and so on - up to a maximum retry limit of 20 times.