Reference · Tools

ActiveCampaign Trigger

Starts workflow when ActiveCampaign fires a webhook event (contact, deal, campaign, etc.)

Webhook trigger Marketing v1

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

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires ActiveCampaign API credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
EventsmultiOptionsNo[]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
SourcemultiOptionsNo[]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 — always activecampaign_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 BusyBot

Last updated . Spotted something wrong? Tell us.