With ActiveCampaign, you can use webhooks to send real-time updates about your contact and campaign activity to an outside source.
Take Note
- When creating a webhook, the receiving application must accept POST requests and have an API. In addition, we only support sending HTTPS requests to the default HTTPS port (port 443)
- ActiveCampaign does not accept incoming webhooks
- Webhook payloads cannot be customized. Authorization specification is limited to the URL and URL parameters
What is a webhook?
Webhooks are automated messages sent from one system to another when a specified event occurs. You can use webhooks to send data from your ActiveCampaign account to update an external database or application with contact, campaign, deal, and custom object activities as they happen.
For example, you may want to create a webhook to send data to an external database every time a contact record is updated, when an account is added, when a deal task is created, or when a contact clicks a link in your email.
There are two webhook types Standard and Custom Object. The availability of these webhook types depends on the type of plan you have. For example, some accounts may have access to both types while others will only have standard webhooks.
Webhook types
ActiveCampaign offers two types of webhooks: Standard and Custom Object.
Standard webhooks
Available on Marketing and Sales plans.
You can use Standard webhooks to post data to a third-party source when an action occurs.
Note that some products may not be available in your account based on your plan.
Here is a list of the available actions to trigger a standard webhook:
- Account - added or updated
- Campaign - forwarded, opened, shared, starts sending
- Contact - added or updated to your ActiveCampaign, added, updated, or removed on an Account in your ActiveCampaign, note added, tag added or removed, task added, unsubscribed
- Deal - added or updated, note added, pipeline added, stage added, task added or completed, task type added
- Email - bounced, replied
- Link - clicked
- List - added
- SMS - replied, sent, unsubscribed
Custom object webhooks
Available on Marketing Enterprise and Sales Enterprise plans.
Use custom object webhooks to post data to a third-party source when an action occurs with a custom object, including custom objects imported from a supported third-party integration and custom objects you create using the API or the “Manage Data” page in your account.
All custom object webhooks have the ability to post when the following events occur:
- Custom object record - created, updated, deleted
Where webhooks are created
There are two different places where you can create a webhook in ActiveCampaign: Developer Settings and Automation.
Developer Settings under My Settings
Will post data to a third-party source every time a specified action(s)/event is completed.
Standard and custom object webhooks are created here.
Webhook automation action
Will post data to another URL once a contact interacts with the Webhook action in an automation.
This action only works with Standard webhooks. Custom webhooks do not work with this automation action.
You do not need to create a webhook under "Developer Settings" to send a webhook from an automation.
Learn how to send a webhook from an automation.
How to create a standard webhook under Developer Settings
Available on Marketing and Sales plans.
With this setup, you need to choose the contact list that the webhook will be associated with, the URL to send data to, the event that will trigger the webhook to send data, and from where the webhook should run.
- Click Settings then click Developer.
- Click the "Manage Webhooks" button.
- Click the "Add" button.
- Select "Standard" for the webhook type.
- Click the "List" dropdown and select the list with which your webhook will be associated.
- Type the name of the webhook into the "Name" field.
- Type the URL of the outside source that will receive the webhook data. Note that we only support sending HTTPS requests to the default HTTPS port (port 443).
- Choose the event that will trigger the webhook to send data to your outside source. Note that you can select more than one event.
- Choose an initiation option:
- By a contact - Runs when a contact causes the action. For example, when a contact subscribes to your list or opens your campaign
- By an admin user - Runs when an admin user causes the action. For example, when an admin user creates a new contact record
- By the API - Runs when API call causes the action. For example, adding a contact using contact_add API call
- By system processes - Runs when automated system causes the action. For example, when an email bounces, an automation email is sent, and more
- Click the "Add" button when finished.
How to create a Custom object webhook under Developer Settings
Available on Marketing Enterprise and Sales Enterprise plans.
- Click Settings then click Developer.
- Click the "Manage Webhooks" button.
- Click the "Add" button.
- Select “Custom” for the webhook type.
- Type the name of the webhook into the "Name" field.
- Type the URL of the outside source that will receive the webhook data.
- Choose the event that will trigger the webhook to send data to your outside source. Note that you can select more than one event.
- Click the “Add” button.
How webhook data is received
The data you receive will be sent as a POST parameter to your URL. View a list of fields that will be sent in your webhook.
If you use the webhook automation action, you can find the specific data that is sent here.
ActiveCampaign guarantees at-least-once delivery of webhooks. This means that we will sometimes send a webhook more than once for a single event.
Valid characters and limits for webhooks
You can use alphanumeric characters, plus the following special characters in your webhook URL:
"$-_.+!*' (),"
There are no character limits on the number of characters included in a note or other field in a webhook.
Testing your webhook
To test your webhook, click the "Send Sample Data" button located on the Settings > Developer > Webhooks page in your ActiveCampaign account. Once clicked, we'll send test data to the URL specified in your webhook URL bar.