<!-- BusyBot node reference — https://busybot.net/tools/activecampaign-trigger/ -->

> Node: ActiveCampaign Trigger (`activecampaign_trigger`) · Webhook trigger · v1
> Category: Marketing · Credentials: ActiveCampaign API (`activeCampaignApi`)
> Updated: 2026-08-16

# 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](https://busybot.net/credentials/active-campaign-api/) 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` — 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:

```json
{
  "type": "activecampaign_trigger",
  "parameters": {
    "events": ["subscribe", "contact_add", "contact_update"],
    "sources": []
  }
}
```

React to deal movement, but only when a person made the change:

```json
{
  "type": "activecampaign_trigger",
  "parameters": {
    "events": ["deal_add", "deal_update", "deal_stage_add"],
    "sources": ["public", "admin"]
  }
}
```

Track campaign engagement:

```json
{
  "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.