Reference · Tools
ActiveCampaign Trigger
Starts workflow when ActiveCampaign fires a webhook event (contact, deal, campaign, etc.)
The ActiveCampaign Trigger node listens for webhook events from your ActiveCampaign account — contacts, deals, campaigns, automations, tags, and list changes — and starts a BusyBot workflow the moment they fire. For example, you could automatically sync a new contact to your CRM the instant they opt into a list. The webhook URL is registered with ActiveCampaign automatically when you activate the workflow.
- Node type
- Webhook trigger
- Parameters
- 2
- Outputs
- Output
- Credentials
- ActiveCampaign API
ActiveCampaign Trigger
Trigger workflow on ActiveCampaign events
Overview
Receives webhook callbacks from ActiveCampaign when contacts, deals, campaigns, automations, or other objects change. Events are dynamically registered with the ActiveCampaign API. Supports filtering by event type and source (public, admin, api, system). Outputs the full webhook payload including contact data, deal info, list/tag changes, and automation events.
Category: Marketing
Tool Name: activecampaign_trigger
Version: 1
Appearance: Icon: lucide-Megaphone | Color: #356ae6
Node Type
Trigger — webhook (receives incoming HTTP callbacks)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires ActiveCampaign API credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Events | multiOptions | No | [] | Which ActiveCampaign events to listen for. Events are registered as webhook subscriptions on the ActiveCampaign API. |
Options: subscribe, unsubscribe, contact_add, contact_update, contact_tag_added, contact_tag_removed, list_add, deal_add, deal_update, deal_note_add, deal_task_add, deal_tasktype_add, deal_task_complete, deal_pipeline_add, deal_stage_add, open (campaign open), click (campaign click), bounce (campaign bounce), reply (campaign reply), share (campaign share), forward (campaign forward), sent (campaign sent), sms_sent, sms_reply, automation_before_start | ||||
| Source | multiOptions | No | [] | Filter webhooks by the source that triggered the event. Leave empty to receive from all sources. |
Options: public (a contact triggered the action), admin (an admin user triggered the action), api (an API call triggered the action), system (an automated system triggered the action) |
Output Data
Each delivered event produces one output item. The item JSON is the ActiveCampaign payload exactly as sent — the shape depends on the event, and typically carries type, date_time, initiated_from, initiated_by, list, and a contact object (id, email, first_name, last_name, phone, ip, tags, fields) for contact events, or the corresponding deal/campaign object for those events.
Three fields are added to every item:
_trigger— alwaysactivecampaign_webhook_timestamp— ISO 8601 timestamp of when the request arrived_webhookEvent— the event type ActiveCampaign reported
When Events is non-empty, deliveries whose event type is not in your selection are acknowledged but do not start the workflow.
Reference the payload downstream by expression, e.g. {{ $json.contact.email }}.
Usage Examples
- Trigger workflow when a new contact subscribes in ActiveCampaign
- Start automation when an ActiveCampaign deal is updated
- React to ActiveCampaign campaign open or click events
- Process ActiveCampaign contact tag changes in real-time
Example Configuration
Listen for new and updated contacts:
{
"type": "activecampaign_trigger",
"parameters": {
"events": ["subscribe", "contact_add", "contact_update"],
"sources": []
}
}
React to deal movement, but only when a person made the change:
{
"type": "activecampaign_trigger",
"parameters": {
"events": ["deal_add", "deal_update", "deal_stage_add"],
"sources": ["public", "admin"]
}
}
Track campaign engagement:
{
"type": "activecampaign_trigger",
"parameters": {
"events": ["open", "click", "bounce", "unsubscribe"],
"sources": []
}
}
Trigger Behavior
- Activation: When the workflow is activated, a webhook endpoint is registered with the service.
- Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
- Payload: The incoming webhook payload is parsed and output as workflow items.
- Verification: Supports signature verification where applicable.
Tips
Configure which ActiveCampaign events to listen for and optionally filter by source. The webhook URL is automatically registered with ActiveCampaign when the workflow is activated.
- Leave Source empty to receive events regardless of what caused them. Selecting sources is useful when you want to ignore changes your own integration makes through the API.
- The event list is also applied on the way in: anything ActiveCampaign delivers that is not in your Events selection is discarded before the workflow starts.
Frequently asked questions
Do I need to manually create a webhook inside ActiveCampaign?
No. BusyBot registers the webhook URL with ActiveCampaign automatically when you activate the workflow. When you deactivate it, the registration is also cleaned up. You only need valid ActiveCampaign API credentials configured on the node.
What credentials does this node require?
It uses the ActiveCampaign API credential type (activeCampaignApi). You'll need your ActiveCampaign account URL and API key, which you can find under Settings → Developer in ActiveCampaign.
What happens if ActiveCampaign sends an event I haven't selected in the Events parameter?
The node discards it before the workflow starts. Filtering happens on the BusyBot side as events arrive, so only the event types you've explicitly selected will trigger a workflow run. If you want to catch everything, select all relevant event types.
When should I use the Source filter, and when should I leave it empty?
Leave Source empty if you want the workflow to fire regardless of what caused the event — a contact clicking an email, an admin making a change, or your own API calls. Set it to a specific source (such as 'api' or 'system') if you want to exclude certain origins — most commonly to prevent your own integration's API writes from triggering a feedback loop.
What data does the node output when an event fires?
It outputs the full webhook payload that ActiveCampaign delivers, which includes contact details, deal information, list and tag changes, and automation event data depending on the event type. You can inspect the exact payload structure by running a test activation and examining the output in BusyBot's workflow editor.
Build with the ActiveCampaign Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need ActiveCampaign API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.