AsyncAPI description of ActiveCampaign's outbound webhook surface. When a webhook is configured (via the dashboard or the REST API at POST /api/3/webhooks), ActiveCampaign delivers events as HTTP POST requests with an application/x-www-form-urlencoded body to a customer-controlled URL. Every event body includes a `type` discriminator field that identifies the event class, plus `date_time`, `initiated_by`, `initiated_from` (where applicable) and `list` (the account/list id the event was scoped to). Some events also include the standard `contact[...]` block. Field names use bracketed PHP-style keys (for example `contact[email]`, `deal[id]`, `campaign[message][subject]`). Source documentation: - Webhooks reference: https://developers.activecampaign.com/reference/webhooks - Webhook payload page: https://developers.activecampaign.com/page/webhooks - Manage webhooks (API): https://developers.activecampaign.com/reference/list-all-webhooks Delivery characteristics (per ActiveCampaign docs): - At-least-once delivery: subscribers must be idempotent. - Webhooks are not retried on failure. - A webhook is automatically deactivated when the subscriber returns HTTP 410. - Mass operations (e.g. contact imports) do not fire webhooks. Security: ActiveCampaign does not publish an HMAC signature header for outbound webhooks. Subscribers should rely on HTTPS plus a hard-to-guess URL path (or HTTP Basic credentials embedded in the configured URL) to authenticate inbound calls.
View SpecView on GitHubMarketing AutomationEmail MarketingCRMSales AutomationCustomer ExperienceAsyncAPIWebhooksEvents
Channels
/activecampaign/webhook
publishreceiveActiveCampaignWebhook
Receive an ActiveCampaign webhook event
Single subscriber endpoint that receives every ActiveCampaign webhook event configured for the registered URL. The `type` field on the form body identifies the event class. ActiveCampaign sends one event per HTTP POST.
Messages
✉
Subscribe
Contact subscribed
A new contact is subscribed to a list.
✉
Unsubscribe
Contact unsubscribed
A contact unsubscribed from a list (optionally tied to a campaign).
✉
ContactUpdate
Contact updated
A contact's details (fields, name, phone, etc.) were updated.
✉
SubscriberNote
Contact note added
A new note was added to a contact.
✉
ContactTaskAdd
Contact task added
A new task was assigned to a contact.
✉
AccountAdd
Account added
A new account record was created.
✉
AccountUpdate
Account updated
An existing account record was updated.
✉
AccountContactAdd
Account contact added
A contact was associated with an account.
✉
AccountContactUpdate
Account contact updated
An account contact association was updated.
✉
ListAdd
List created
A new list was created.
✉
CampaignSent
Campaign sent
A campaign starts sending.
✉
CampaignOpen
Campaign opened
A campaign message was opened by a contact.
✉
CampaignClick
Campaign link clicked
A link in a campaign message was clicked by a contact.
✉
CampaignReply
Campaign reply
A contact replied to a campaign message.
✉
CampaignForward
Campaign forwarded
A contact forwarded a campaign using the built-in forward feature.
✉
CampaignShare
Campaign shared
A contact shared a campaign to a social network.
✉
CampaignBounce
Campaign bounce
A campaign message bounced.
✉
DealAdd
Deal created
A new deal was created.
✉
DealUpdate
Deal updated
An existing deal was updated.
✉
DealNoteAdd
Deal note added
A note was attached to a deal.
✉
DealPipelineAdd
Deal pipeline created
A new sales pipeline was created.
✉
DealStageAdd
Deal stage created
A new pipeline stage was created.
✉
DealTaskAdd
Deal task added
A task was added against a deal.
✉
DealTaskTypeAdd
Deal task type added
A new task type was defined for deals.
✉
SmsSent
SMS sent
An SMS message was sent.
✉
SmsReply
SMS reply received
A recipient replied to an SMS message.
✉
SmsUnsub
SMS unsubscribe
A contact unsubscribed via SMS.
Servers
https
subscriber{webhookUrl}
Customer-hosted HTTPS endpoint registered with ActiveCampaign that receives webhook POSTs. The URL is configured per webhook via the dashboard or the Webhooks REST API.