ActiveCampaign
Manage contacts, accounts, deals, tags, lists, and e-commerce data in ActiveCampaign.
Overview
ActiveCampaign is a marketing automation platform that combines email marketing, CRM and sales automation. This node reads and writes your ActiveCampaign data through the v3 API: create, fetch, update and delete contacts, accounts, account-contact links, deals and deal notes, tags, connections, e-commerce customers, e-commerce orders and e-commerce order products, and page through your lists. Choose a resource first, then an operation — the node then shows only the fields that operation needs.
Category: Marketing
Tool Name: active_campaign
Version: 1
Appearance: Icon: lucide-Megaphone | Color: #356ae6
Node Type
Action — processes input items and produces output
| Direction | Port(s) |
|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires ActiveCampaign API credentials.
See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|
| Account | account |
| Account Contact | accountContact |
| Connection | connection |
| Contact | contact |
| Contact List | contactList |
| Contact Tag | contactTag |
| Deal | deal |
| E-Commerce Customer | ecommerceCustomer |
| E-Commerce Order | ecommerceOrder |
| E-Commerce Order Product | ecommerceOrderProducts |
| List | list |
| Tag | tag |
Operations
Every resource carries its own operation list. Changing the resource changes both the operations offered and the fields shown below them.
Account
| Operation | Value | Description |
|---|
| Create | create | Create a new account. |
| Delete | delete | Delete an existing account. |
| Get | get | Retrieve a single account by ID. |
| Get Many | getAll | Retrieve multiple accounts. |
| Update | update | Update an existing account. |
Account Contact
| Operation | Value | Description |
|---|
| Create | create | Link a contact to an account. |
| Delete | delete | Delete an account-contact link. |
| Update | update | Update an account-contact link. |
Connection
| Operation | Value | Description |
|---|
| Create | create | Create a new connection to an external service. |
| Delete | delete | Delete an existing connection. |
| Get | get | Retrieve a single connection by ID. |
| Get Many | getAll | Retrieve multiple connections. |
| Update | update | Update an existing connection. |
Contact
| Operation | Value | Description |
|---|
| Create | create | Create a new contact, optionally updating one that already exists. |
| Delete | delete | Delete an existing contact. |
| Get | get | Retrieve a single contact by ID. |
| Get Many | getAll | Retrieve multiple contacts, with filtering and sorting. |
| Update | update | Update an existing contact. |
Contact List
| Operation | Value | Description |
|---|
| Add | add | Subscribe a contact to a list. |
| Remove | remove | Unsubscribe a contact from a list. |
Contact Tag
| Operation | Value | Description |
|---|
| Add | add | Apply a tag to a contact. |
| Remove | remove | Remove a contact-tag link. |
Deal
| Operation | Value | Description |
|---|
| Create | create | Create a new deal. |
| Create Note | createNote | Add a note to a deal. |
| Delete | delete | Delete an existing deal. |
| Get | get | Retrieve a single deal by ID. |
| Get Many | getAll | Retrieve multiple deals. |
| Update | update | Update an existing deal. |
| Update Deal Note | updateNote | Update an existing note on a deal. |
E-Commerce Customer
| Operation | Value | Description |
|---|
| Create | create | Create a new e-commerce customer. |
| Delete | delete | Delete an existing e-commerce customer. |
| Get | get | Retrieve a single e-commerce customer by ID. |
| Get Many | getAll | Retrieve multiple e-commerce customers. |
| Update | update | Update an existing e-commerce customer. |
E-Commerce Order
| Operation | Value | Description |
|---|
| Create | create | Create a new e-commerce order or abandoned cart. |
| Delete | delete | Delete an existing e-commerce order. |
| Get | get | Retrieve a single e-commerce order by ID. |
| Get Many | getAll | Retrieve multiple e-commerce orders. |
| Update | update | Update an existing e-commerce order. |
E-Commerce Order Product
| Operation | Value | Description |
|---|
| Get Many | getAll | Retrieve order products across all orders. |
| Get by Product ID | getByProductId | Retrieve a single order product by its ID. |
| Get by Order ID | getByOrderId | Retrieve every order product belonging to one order. |
List
| Operation | Value | Description |
|---|
| Get Many | getAll | Retrieve the lists in your account. |
Tag
| Operation | Value | Description |
|---|
| Create | create | Create a new tag. |
| Delete | delete | Delete an existing tag. |
| Get | get | Retrieve a single tag by ID. |
| Get Many | getAll | Retrieve multiple tags. |
| Update | update | Update an existing tag. |
Parameters
Account: Create
| Parameter | Type | Required | Default | Description |
|---|
| Name | string | Yes | — | Account’s name. |
| Additional Fields | collection | No | {} | Optional account fields to set. |
| — Account URL | string | No | — | Account’s website. |
| — Fields | fixedCollection | No | {} | Account custom fields. Field ID can be found via GET /api/3/accountCustomFieldMeta. |
— — Field ID (customFieldId) | string | No | — | ID of the custom field. |
— — Field Value (fieldValue) | string | No | — | Value of the field to set. |
Account: Delete
| Parameter | Type | Required | Default | Description |
|---|
Account ID (accountId) | number | Yes | 0 | ID of the account to delete. |
Account: Get
| Parameter | Type | Required | Default | Description |
|---|
Account ID (accountId) | number | Yes | 0 | ID of the account to get. |
Account: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response. |
| Filters | collection | No | {} | Narrows which accounts are returned. |
| — Search | string | No | — | Search by name. |
Account: Update
| Parameter | Type | Required | Default | Description |
|---|
Account ID (accountId) | number | Yes | 0 | ID of the account to update. |
| Update Fields | collection | No | {} | The fields to update. |
| — Name | string | No | — | Account’s name. |
| — Account URL | string | No | — | Account’s website. |
| — Fields | fixedCollection | No | {} | Account custom fields. |
— — Field ID (customFieldId) | string | No | — | ID of the custom field. |
— — Field Value (fieldValue) | string | No | — | Value of the field to set. |
| Parameter | Type | Required | Default | Description |
|---|
Account ID (account) | number | Yes | 0 | The account ID. |
Contact ID (contact) | number | Yes | 0 | The contact ID. |
| Additional Fields | collection | No | {} | Optional fields to set on the link. |
| — Job Title | string | No | — | Job title of the contact at the account. |
| Parameter | Type | Required | Default | Description |
|---|
| Account Contact ID | number | Yes | 0 | ID of the account contact to delete. |
| Parameter | Type | Required | Default | Description |
|---|
| Account Contact ID | number | Yes | — | ID of the account contact to update. |
| Update Fields | collection | No | {} | The fields to update. |
| — Job Title | string | No | — | Job title of the contact at the account. |
Connection: Create
| Parameter | Type | Required | Default | Description |
|---|
| Service | string | Yes | — | The name of the service. |
| External Account ID | string | Yes | — | The ID of the account in the external service. |
| Account Name | string | Yes | — | The name associated with the account in the external service. |
| Logo URL | string | Yes | — | The URL to a logo image for the external service. |
| Link URL | string | Yes | — | The URL to a page where the integration with the external service can be managed. |
Connection: Delete
| Parameter | Type | Required | Default | Description |
|---|
Connection ID (connectionId) | number | Yes | 0 | ID of the connection to delete. |
Connection: Get
| Parameter | Type | Required | Default | Description |
|---|
Connection ID (connectionId) | number | Yes | 0 | ID of the connection to get. |
Connection: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response. |
Connection: Update
| Parameter | Type | Required | Default | Description |
|---|
Connection ID (connectionId) | number | Yes | 0 | ID of the connection to update. |
| Update Fields | collection | No | {} | The fields to update. |
| — Service | string | No | — | The name of the service. |
| — External Account ID | string | No | — | The ID of the account in the external service. |
| — Account Name | string | No | — | The name associated with the account. |
| — Logo URL | string | No | — | The URL to a logo image. |
| — Link URL | string | No | — | The URL to a page for integration management. |
| — Status | number | No | 1 | The status of the connection (0 = error; 1 = connected). |
| — Sync Status | number | No | 1 | The sync status (0 = sync stopped; 1 = sync running). |
| Parameter | Type | Required | Default | Description |
|---|
| Email | string | Yes | — | The email of the contact to create. |
| Update if Exists | boolean | No | false | Whether to update the contact if it exists already. If not set and the contact exists it will error instead. |
| Additional Fields | collection | No | {} | Optional contact fields to set. |
| — Custom Fields | fixedCollection | No | {} | Adds custom fields. Field ID can be found via GET /api/3/fields. |
— — Field ID (field) | string | No | — | ID of the custom field. Find via GET /api/3/fields?limit=100. |
— — Field Value (value) | string | No | — | Value of the field to set. |
| — First Name | string | No | — | The first name of the contact. |
| — Last Name | string | No | — | The last name of the contact. |
| — Phone | string | No | — | Phone number of the contact. |
| Parameter | Type | Required | Default | Description |
|---|
Contact ID (contactId) | number | Yes | 0 | ID of the contact to delete. |
| Parameter | Type | Required | Default | Description |
|---|
Contact ID (contactId) | number | Yes | 0 | ID of the contact to get. |
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response instead of the raw data. |
| Additional Fields | collection | No | {} | Filters and sorting to apply to the query. |
| — Datetime | string | No | — | Contacts created on the specified date. |
| — Email | string | No | — | Email address of the contact you want to get. |
| — Email Like | string | No | — | Filter contacts that contain the given value in the email address. |
| — Exclude | string | No | — | Exclude from the response the contact with the given ID. |
| — Form ID | string | No | — | Filter contacts associated with the given form. |
— List ID (listid) | string | No | — | Filter contacts associated with the given list. |
| — Search | string | No | — | Filter contacts that match the given value in contact names, organization, phone or email. |
| — Segment ID | string | No | — | Return only contacts that match a list segment. |
| — Series ID | string | No | — | Filter contacts associated with the given automation. |
| — Status | options | No | — | Restrict the result to contacts in one subscription state. |
| | | | Options: 1 (Active), -1 (Any), 3 (Bounced), 0 (Unconfirmed), 2 (Unsubscribed) |
— Tag ID (tagid) | string | No | — | Filter contacts associated with the given tag. |
| — Created Before | string | No | — | Filter contacts that were created prior to this date. |
| — Created After | string | No | — | Filter contacts that were created after this date. |
| — Updated Before | string | No | — | Filter contacts that were updated before this date. |
| — Updated After | string | No | — | Filter contacts that were updated after this date. |
| — Wait ID | string | No | — | Filter by contacts in the wait queue of an automation block. |
| — Order By | options | No | — | Field the results are sorted on. |
| | | | Options: cdate (Creation Date), email, first_name, last_name, name, score |
| — Order Direction | options | No | DESC | Sort direction, applied to the Order By field. |
| | | | Options: ASC (Ascending), DESC (Descending) |
| Parameter | Type | Required | Default | Description |
|---|
Contact ID (contactId) | number | Yes | 0 | ID of the contact to update. |
| Update Fields | collection | No | {} | The fields to update. |
| — Custom Fields | fixedCollection | No | {} | Adds custom fields. Field ID can be found via GET /api/3/fields. |
— — Field ID (field) | string | No | — | ID of the custom field. |
— — Field Value (value) | string | No | — | Value of the field to set. |
| — Email | string | No | — | Email of the contact. |
| — First Name | string | No | — | First name of the contact. |
| — Last Name | string | No | — | Last name of the contact. |
| — Phone | string | No | — | Phone number of the contact. |
| Parameter | Type | Required | Default | Description |
|---|
List ID (listId) | number | Yes | — | The list ID. |
Contact ID (contactId) | number | Yes | — | The contact ID. |
| Parameter | Type | Required | Default | Description |
|---|
List ID (listId) | number | Yes | — | The list ID. |
Contact ID (contactId) | number | Yes | — | The contact ID. |
| Parameter | Type | Required | Default | Description |
|---|
Tag ID (tagId) | string | Yes | — | The tag ID. Find via GET /api/3/tags or the Tag resource in this tool. |
Contact ID (contactId) | number | Yes | — | The contact ID. |
| Parameter | Type | Required | Default | Description |
|---|
| Contact Tag ID | number | Yes | 0 | ID of the contact tag to delete. This is the ID of the contact-tag link, not the tag’s own ID. |
Deal: Create
| Parameter | Type | Required | Default | Description |
|---|
| Title | string | Yes | — | The title of the deal. |
| Deal’s Contact ID | number | Yes | 0 | The ID of the deal’s contact. |
| Deal Value | number | Yes | 0 | The value of the deal in cents. |
| Currency | string | Yes | usd | The currency of the deal in 3-character ISO format (e.g. usd, eur, gbp). |
| Deal Pipeline ID | string | No | — | The pipeline ID of the deal. |
| Deal Stage ID | string | No | — | The stage ID of the deal. |
| Deal Owner ID | string | No | — | The owner ID of the deal. |
| Additional Fields | collection | No | {} | Optional deal fields to set. |
| — Description | string | No | — | The description of the deal. |
| — Deal Percentage | number | No | 0 | The percentage of the deal. |
| — Deal Status | number | No | 0 | The status of the deal. |
Deal: Create Note
| Parameter | Type | Required | Default | Description |
|---|
| Deal ID | number | Yes | — | The ID of the deal. |
| Deal Note | string | Yes | — | The content of the deal note. |
Deal: Delete
| Parameter | Type | Required | Default | Description |
|---|
| Deal ID | number | Yes | 0 | The ID of the deal to delete. |
Deal: Get
| Parameter | Type | Required | Default | Description |
|---|
| Deal ID | number | Yes | 0 | The ID of the deal to get. |
Deal: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response. |
Deal: Update
| Parameter | Type | Required | Default | Description |
|---|
| Deal ID | number | Yes | 0 | ID of the deal to update. |
| Update Fields | collection | No | {} | The fields to update. |
| — Title | string | No | — | The title of the deal. |
| — Deal’s Contact ID | number | No | 0 | The ID of the deal’s contact. |
| — Deal Value | number | No | 0 | The value of the deal in cents. |
| — Currency | string | No | usd | The currency of the deal in 3-character ISO format. |
| — Description | string | No | — | The description of the deal. |
| — Deal Pipeline ID | string | No | — | The pipeline ID of the deal. |
| — Deal Stage ID | string | No | — | The stage ID of the deal. |
| — Deal Owner ID | string | No | — | The owner ID of the deal. |
| — Deal Percentage | number | No | 0 | The percentage of the deal. |
| — Deal Status | number | No | 0 | The status of the deal. |
Deal: Update Deal Note
| Parameter | Type | Required | Default | Description |
|---|
| Deal ID | number | Yes | — | The ID of the deal. |
| Deal Note ID | number | Yes | — | The ID of the deal note. |
| Deal Note | string | No | — | The content of the deal note. |
E-Commerce Customer: Create
| Parameter | Type | Required | Default | Description |
|---|
| Service ID | string | Yes | — | The ID of the connection object for the service where the customer originates. |
Customer ID (externalid) | string | Yes | — | The ID of the customer in the external service. |
| Customer Email | string | Yes | — | The email address of the customer. |
| Additional Fields | collection | No | {} | Optional customer fields to set. |
| — Accepts Marketing | boolean | No | false | Whether the customer has opted in to marketing communications. |
E-Commerce Customer: Delete
| Parameter | Type | Required | Default | Description |
|---|
Customer ID (ecommerceCustomerId) | number | Yes | 0 | ID of the e-commerce customer to delete. |
E-Commerce Customer: Get
| Parameter | Type | Required | Default | Description |
|---|
Customer ID (ecommerceCustomerId) | number | Yes | 0 | ID of the e-commerce customer to get. |
E-Commerce Customer: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response. |
E-Commerce Customer: Update
| Parameter | Type | Required | Default | Description |
|---|
Customer ID (ecommerceCustomerId) | number | Yes | 0 | ID of the e-commerce customer to update. |
| Update Fields | collection | No | {} | The fields to update. |
| — Service ID | string | No | — | The ID of the connection object. |
— Customer ID (externalid) | string | No | — | The ID of the customer in the external service. |
| — Customer Email | string | No | — | The email address of the customer. |
| — Accepts Marketing | boolean | No | false | Whether the customer has opted in to marketing communications. |
E-Commerce Order: Create
| Parameter | Type | Required | Default | Description |
|---|
| External ID | string | No | — | The ID of the order in the external service. Required only if External Checkout ID is not included. |
| External Checkout ID | string | No | — | The ID of the cart in the external service. Required only if External ID is not included. |
| Order Source | number | Yes | 0 | The order source code (0 - will not trigger automations, 1 - will trigger automations). |
| Customer Email | string | Yes | — | The email address of the customer who placed the order. |
| Total Price | number | Yes | 0 | The total price of the order in cents, including tax and shipping charges (e.g. $456.78 => 45678). |
| Order Currency | string | Yes | usd | The currency of the order (3-digit ISO code, e.g. “USD”). |
Connection ID (connectionid) | number | Yes | 0 | The ID of the connection from which this order originated. |
Customer ID (customerid) | number | Yes | 0 | The ID of the customer associated with this order. |
Creation Date (externalCreatedDate) | string | Yes | — | The date the order was placed (ISO 8601 format). |
| Abandoning Date | string | No | — | The date the cart was abandoned. Required only if you include External Checkout ID. |
| Products | json | No | [] | JSON array of ordered products. Each product: { name, price, quantity, externalid, category, sku, description, imageUrl, productUrl }. |
| Additional Fields | collection | No | {} | Optional order fields to set. |
| — Shipping Amount | number | No | 0 | The total shipping amount for the order in cents. |
| — Tax Amount | number | No | 0 | The total tax amount for the order in cents. |
| — Discount Amount | number | No | 0 | The total discount amount for the order in cents. |
| — Order URL | string | No | — | The URL for the order in the external service. |
| — External Updated Date | string | No | — | The date the order was updated. |
| — Shipping Method | string | No | — | The shipping method of the order. |
| — Order Number | string | No | — | The order number. |
E-Commerce Order: Delete
| Parameter | Type | Required | Default | Description |
|---|
| Order ID | number | No | 0 | The ID of the e-commerce order. |
E-Commerce Order: Get
| Parameter | Type | Required | Default | Description |
|---|
| Order ID | number | No | 0 | The ID of the e-commerce order. |
E-Commerce Order: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response. |
E-Commerce Order: Update
| Parameter | Type | Required | Default | Description |
|---|
| Order ID | number | No | 0 | The ID of the e-commerce order. |
| Update Fields | collection | No | {} | The fields to update. |
| — External ID | string | No | — | The ID of the order in the external service. |
| — External Checkout ID | string | No | — | The ID of the cart in the external service. |
| — Order Source | number | No | 0 | The order source code. |
| — Customer Email | string | No | — | The email address of the customer. |
| — Total Price | number | No | 0 | The total price of the order in cents. |
| — Order Currency | string | No | usd | The currency of the order (3-digit ISO code). |
— Connection ID (connectionid) | number | No | 0 | The ID of the connection. |
— Customer ID (customerid) | number | No | 0 | The ID of the customer. |
— Creation Date (externalupdatedDate) | string | No | — | The date the order was placed. |
| — Abandoning Date | string | No | — | The date the cart was abandoned. |
| — Shipping Amount | number | No | 0 | The total shipping amount in cents. |
| — Tax Amount | number | No | 0 | The total tax amount in cents. |
| — Discount Amount | number | No | 0 | The total discount amount in cents. |
| — Order URL | string | No | — | The URL for the order. |
| — External Updated Date | string | No | — | The date the order was updated. |
| — Shipping Method | string | No | — | The shipping method of the order. |
| — Order Number | string | No | — | The order number. |
| — Products | json | No | [] | JSON array of ordered products. |
E-Commerce Order Product: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response. |
E-Commerce Order Product: Get by Product ID
| Parameter | Type | Required | Default | Description |
|---|
| Product ID | number | No | 0 | The ID of the product you’d like returned. |
E-Commerce Order Product: Get by Order ID
| Parameter | Type | Required | Default | Description |
|---|
| Order ID | number | No | 0 | The ID of the order whose products you’d like returned. |
List: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response. |
Tag: Create
| Parameter | Type | Required | Default | Description |
|---|
| Type | options | Yes | contact | Tag-type of the new tag. |
| | | | Options: contact (a tag you apply to contacts), template (a tag you apply to templates) |
| Name | string | Yes | — | Name of the new tag. |
| Additional Fields | collection | No | {} | Optional tag fields to set. |
| — Description | string | No | — | Description of the new tag. |
Tag: Delete
| Parameter | Type | Required | Default | Description |
|---|
Tag ID (tagId) | number | Yes | 0 | ID of the tag to delete. |
Tag: Get
| Parameter | Type | Required | Default | Description |
|---|
Tag ID (tagId) | number | Yes | 0 | ID of the tag to get. |
Tag: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Simplify | boolean | No | true | Whether to return a simplified version of the response. |
Tag: Update
| Parameter | Type | Required | Default | Description |
|---|
Tag ID (tagId) | number | Yes | 0 | ID of the tag to update. |
| Update Fields | collection | No | {} | The fields to update. |
| — Tag | string | No | — | Name of the tag. |
| — Description | string | No | — | Description of the tag being updated. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
The ActiveCampaign response is merged onto the incoming item JSON — the node returns { ...inputItem, ...result }, so upstream fields survive unless the API returns a field with the same name. Binary data on the input item is forwarded unchanged.
Every operation except Get Many produces one output item per input item. The Get Many (getAll) operations on Account, Connection, Contact, Deal, E-Commerce Customer, E-Commerce Order, E-Commerce Order Product, List and Tag fan out — one output item per record returned — whenever Return All is on or Simplify is on. With both off, a Get Many produces a single item carrying the raw response envelope instead.
What lands on the item depends on the operation:
| Operation | Merged result |
|---|
Contact, Account, Account Contact and Tag create / update; Contact Tag add; Contact List add / remove | The created or updated record’s own fields, unwrapped from the response envelope. |
Any resource’s get; Deal, Connection, E-Commerce Customer and E-Commerce Order create / update; Deal createNote / updateNote; E-Commerce Order Product getByProductId / getByOrderId | The raw response envelope, with the record nested under its own key (for example deal, connection, note). |
Any delete; Contact Tag remove | success: true when ActiveCampaign returns an empty body, otherwise the parsed response. Contact List add also falls back to success: true when the API returns nothing. |
| Get Many with Simplify on, or Return All on | One item per record, carrying that record’s own fields. |
| Get Many with Simplify off and Return All off | A single item carrying the raw envelope — the record array under its resource key, plus the pagination metadata ActiveCampaign returns. |
A contact created from an item that already carried an orderRef field comes out looking like this:
{
"orderRef": "A-1001",
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"phone": "+1234567890"
}
Here orderRef came from the input item and the rest is the ActiveCampaign record. The record also carries the identifiers, timestamps and relationship links ActiveCampaign assigns — reference them downstream by whatever names the API returns, for example {{ $json.id }}.
Usage Examples
- Create a new contact in ActiveCampaign
- Get all deals from ActiveCampaign
- Add a tag to a contact
- Create an e-commerce order
- Update account information
Example Configuration
Create a contact from an incoming item, updating it instead of failing when the address already exists:
{
"type": "active_campaign",
"parameters": {
"resource": "contact",
"operation": "create",
"email": "{{ $json.email }}",
"updateIfExists": true,
"additionalFields": {
"firstName": "{{ $json.firstName }}",
"lastName": "{{ $json.lastName }}",
"phone": "{{ $json.phone }}",
"fieldValues": {
"property": [
{ "field": "1", "value": "{{ $json.plan }}" }
]
}
}
}
}
Page through every active contact created since a given date, oldest email first, emitting one item per contact:
{
"type": "active_campaign",
"parameters": {
"resource": "contact",
"operation": "getAll",
"returnAll": true,
"simple": true,
"additionalFields": {
"status": 1,
"filters[created_after]": "{{ $json.since }}",
"orderBy": "email",
"orderDirection": "ASC"
}
}
}
Apply a tag to a contact:
{
"type": "active_campaign",
"parameters": {
"resource": "contactTag",
"operation": "add",
"tagId": "{{ $json.tagId }}",
"contactId": "{{ $json.contactId }}"
}
}
Open a deal against an existing contact, with the value in cents:
{
"type": "active_campaign",
"parameters": {
"resource": "deal",
"operation": "create",
"title": "{{ $json.company }} renewal",
"contact": "{{ $json.contactId }}",
"value": 50000,
"currency": "usd",
"group": "1",
"stage": "2",
"additionalFields": {
"description": "Opened automatically from {{ $json.source }}",
"percent": 25
}
}
}
Record an e-commerce order with its line items, triggering ActiveCampaign automations:
{
"type": "active_campaign",
"parameters": {
"resource": "ecommerceOrder",
"operation": "create",
"externalid": "{{ $json.orderId }}",
"source": 1,
"email": "{{ $json.customerEmail }}",
"totalPrice": 9999,
"currency": "USD",
"connectionid": 1,
"customerid": "{{ $json.acCustomerId }}",
"externalCreatedDate": "{{ $json.placedAt }}",
"orderProducts": [
{
"name": "{{ $json.productName }}",
"price": 9999,
"quantity": 1,
"externalid": "{{ $json.sku }}",
"category": "Electronics"
}
],
"additionalFields": {
"shippingAmount": 500,
"taxAmount": 800,
"orderNumber": "{{ $json.orderNumber }}"
}
}
}
Update an account’s name, website and one custom field:
{
"type": "active_campaign",
"parameters": {
"resource": "account",
"operation": "update",
"accountId": "{{ $json.accountId }}",
"updateFields": {
"name": "{{ $json.companyName }}",
"accountUrl": "{{ $json.website }}",
"fields": {
"property": [
{ "customFieldId": "2", "fieldValue": "{{ $json.segment }}" }
]
}
}
}
}
Error Handling
| Mode | Behavior |
|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Manage contacts, accounts, deals, tags, lists, and e-commerce data in ActiveCampaign CRM and marketing automation platform.
Behavior notes
- Return All ignores Limit. With Return All on, the node pages through the whole collection 100 records at a time until ActiveCampaign reports no more. With it off, Limit is capped at 100 — the largest page the API returns — so a Limit of 500 still yields 100.
- Simplify only applies to Get Many. On (the default) the node unwraps the response and emits one item per record. Off, it emits a single item holding the raw envelope and its pagination metadata. Return All always emits one item per record regardless of Simplify.
- Money is in cents. Deal Value, Total Price, Shipping Amount, Tax Amount and Discount Amount are whole cents — $456.78 is
45678.
- Update if Exists changes what Create does. On contact Create, turning it on syncs the contact by email address instead of erroring when that address is already in your account, which makes the node safe to re-run.
- Contact List → Remove unsubscribes. ActiveCampaign has no endpoint for deleting a list membership, so Remove writes the membership back with an unsubscribed status rather than deleting the record.
- Contact Tag → Remove takes the link ID. Add takes a Tag ID plus a Contact ID and creates a contact-tag link; Remove takes the Contact Tag ID of that link, not the tag’s own ID. Keep the ID that Add returns if you plan to undo it later.
- Custom fields are keyed differently per resource. Contact custom fields are
field / value pairs; account custom fields are customFieldId / fieldValue pairs. Copy the exact names when you build the collection by hand.
- Order Direction needs Order By. On contact Get Many, the sort is only applied when Order By is set; setting Order Direction on its own has no effect.
- IDs come from ActiveCampaign. Pipeline, stage, owner, list, tag and custom-field IDs are ActiveCampaign’s own IDs. Read them first — with this node’s Get Many operations, or via
GET /api/3/tags and GET /api/3/fields?limit=100 — rather than guessing them.
- Chain the CRM steps. A typical pipeline creates the contact, then feeds the returned contact ID into Contact List → Add, Contact Tag → Add and Deal → Create. Set Max Concurrency lower than the default if a large batch starts hitting ActiveCampaign’s rate limits.