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 Object and Custom Object.
Standard object webhooks
The availability of some standard objects depends on your ActiveCampaign plan.
You can use Standard webhooks to post data to a third-party source when an action occurs.
Standard object webhooks include Contacts, Deals, Accounts, Campaigns, Website, and SMS events.
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
Use custom object webhooks to post data to a third-party source when an action occurs with a custom object. This includes 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.
For Shopify and WooCommerce users, custom object webhooks are available for:
- Orders: created, updated, deleted
- Products: created, updated, deleted
Where webhooks are created
There are two 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.
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 object webhooks.
Learn how to send a webhook from an automation.
Webhook initiation options
Below are webhook initiation options:
- Initiated by a contact: This option runs hooks when a contact causes the action. For example, when a contact opens a campaign
- Initiated by any user: Run the hooks when an administrator in the account causes the action. For example, when a contact is added from the admin area
- Initiated by system processes: In this case, run the hooks when automated systems run the action. An example would be when an email bounces
- Initiated by the API: Run the hooks when the API call causes the action. For example, when adding a contact using the contact_add API call
Create a webhook under Developer Settings
With this setup, you can choose which type of webhook to create.
- Click Settings (gear icon), then Developer on the left menu.
- Click the "Manage Webhooks" button.
- Click the "Add" button.
- A modal window will appear. Choose the type of webhook you want to create.
- On the next screen, complete the fields to create your webhook:
- Standard object webhooks:
- Complete the name and URL fields. The URL field is where the webhook will post to when the action occurs
- From the "Type" dropdown, select the action or event that will trigger the webhook to run. You can select multiple events
- Select where the action(s) should initialize from. For example, you can choose if the webhook should trigger from a contact's action or an account user's action
- Select the list with which the webhook should be associated. This list field will only appear if the webhook type requires a list
- Click the "Save" button
- App and Custom webhooks:
- Provide a name for your webhook
- Click the "Type" dropdown to select the action or event that will trigger the webhook to run. You can select multiple events
- Provide the URL that the webhook should post to
- Click the "Save" button
- Ecommerce Custom Object webhooks:
- Provide the name for your webhook
- Provide the URL that the webhook should post to
- Click the "Events" dropdown to select the action or event that will trigger the webhook. You can select multiple events
- Click the "Save" button
- Standard object webhooks:
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 sent here.
ActiveCampaign guarantees the delivery of webhooks at least once. This means that we may 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 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.