Working with webhooks

A webhook is a lightweight way for an app to pass information to other apps in near real-time. This could mean notifying a private application developed just for you, or a way to notify another 3rd party application that accepts POST requests.

In ActiveCampaign, webhooks are used to send data from your account into another system or database that has an API (application programming interface) that can listen for webhooks (eg, Zapier). They are event driven and allow you to update 3rd party applications with contact and campaign activity as they happen.

ActiveCampaign does not accept incoming webhooks. Instead, you will need to use our API to send information into your account from a 3rd party application.

You may want to use webhooks to keep subscriber records in sync with an external database or application, maintain an external unsubscribe or bounce list, or capture campaign opens, clicks, forwards, and shares to push to another application for your own custom reporting needs.

In this article, we will discuss the following:

Where webhooks are created

There are two different places where you can setup a webhook:

  • Developer Settings under My Settings: Will fire every time a specified action(s)/event is completed.
  • Webhook automation action: Will fire only when a contact completes the webhook automation action step. For more information on sending a webhook from an automation, please see this help document.

It is important to note that you do not need to create a webhook under developer settings in order to fire a webhook from an automation.

Back to top.

How to create a webhook: Developer Settings

With every webhook you create, you can choose when it should fire. For example, you may only want to receive data when a contact opens an email or you may want to only receive data when a contact is added via API.

To get started, click your avatar and select “My Settings.”


Select “Developer” from the left side menu and then click “Manage Webhooks.”


You will be redirected to the webhooks page. Click “Add” to create a webhook.

Select which list your webhook will be associated with by selecting it from the dropdown, or select “All Lists.”

Then type the name of your webhook in the Name field and type the URL from your integration or application where you want to send information to. This URL will need to come from your 3rd party application or integration.


Next, check the boxes next to any action/event that will trigger your webhook:

  • Campaign forwarded (through the ActiveCampaign forward link)
  • Campaign opened
  • Campaign shared (to Facebook or Twitter)
  • Campaign starts sending
  • Contact added
  • Contact note added
  • Contact tag added
  • Contact tag removed
  • Contact unsubscription
  • Contact updated
  • Deal added
  • Deal note added
  • Deal pipeline added
  • Deal stage added
  • Deal task added
  • Deal task completed
  • Deal task type added
  • Deal updated
  • Email bounces
  • Email replies
  • Link clicked
  • List added
  • SMS reply
  • SMS sent
  • SMS unsubscribe


Then, check the boxes next to any source that will trigger your webhook:

  • Contact action - Runs when a contact causes the action (eg, subscribes, opens a campaign, etc)
  • Admin user action - Runs when an admin user causes the action (eg, adding a contact from the admin area)
  • API - Runs when API call causes the action (eg, adding a contact using contact_add API call)
  • System processes - Runs when automated system causes the action (eg, bounces, automation emails, etc)


When finished, click “Add” on the lower left of your screen.

Here is an example of a webhook that we created. In this webhook, we wish to send information to Zapier (which will update another application) each time a contact in any list unsubscribes themselves from our emails:


Back to top.

How webhook data is received

The data you receive will be sent as a POST parameter to your URL. To view a list of fields that will be sent in your webhook for each action listed above, click here.

Back to top.

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.

Back to top.

Testing your webhook

To test your webhook, simply click “Send Sample Data” on your webhook page, and we’ll send test data to the URL specified in your webhook URL bar.


Back to top.

Troubleshooting your webhook

If your webhook isn’t working, we recommend testing your URL using a service like Request Catcher to make sure it’s responsive and can receive POST requests.

If there is an issue with the URL, we recommend working with your developer or your 3rd party application to troubleshoot further. In addition, we invite you to check out our Developer Community Forums.

If you find that the URL is responsive and you’re still not receiving information, please submit a support ticket or open up a live chat with one of our agents.

Back to top.

Learn more about using webhooks

To learn how to send a webhook from an automation, click here.
To learn how to use a webhook to update a Google sheet with contact information via Zapier for custom reporting needs, click here
To learn how to insert the value of one custom field into another using Zapier and a webhook in an automation, click here.

Back to top.

Have more questions? Submit a request