ActiveCampaign node reference - all 153 operations, the credential it needs, and a worked example.
ActiveCampaign v3 API (Email marketing + CRM). 153 operations: contacts (create, sync, update, delete, search and every sub-resource), tags, lists and subscriptions, contact custom fields and values, deals, pipelines and stages, deal custom fields, tasks and task types, deal secondary contacts, CRM accounts and account-contact associations, account custom fields, notes, automations and enrolments, campaign and message reads, e-commerce orders, customers, line items and connections, webhooks, forms and scoring rules.
Credential: ActiveCampaign account:apiToken - see Credentials.
ActiveCampaign has no scope, permission or capability system. Its authentication reference documents exactly one thing - an Api-Token header - and adds that "each user in your ActiveCampaign account has their own unique API key", so what a token may do is whatever its OWNING USER may do. There is no consent screen and no box to tick, and every operation below is authorised by the same key. A 401 or 403 therefore never means a missing grant: it means the account slug or token in the credential is wrong (the slug is part of the API host - https://<account>.api-us1.com/api/3 - so a wrong one is indistinguishable from a bad key), the key belongs to a user who cannot reach that record, or the feature is not included in the account's plan (the e-commerce endpoints are the usual case). Limit the blast radius by issuing the key under a user with a restricted account role. Note that ActiveCampaign's App Studio does expose an OAuth2 scopes property, but those are the scopes a published app requests on the THIRD-PARTY services it integrates with - not grants on the ActiveCampaign API itself, and not what this credential holds.
| Operation | What it does |
|---|
createContact | Create contact |
updateContact | Update contact |
syncContact | Create or update contact (sync by email) |
getContact | Get contact |
deleteContact | Delete contact |
listContacts | List / search contacts |
listContactFieldValues | List a contact's custom field values |
listContactLists | List a contact's list memberships |
listContactDeals | List a contact's deals |
listContactAutomationsForContact | List a contact's automations |
listContactNotes | List a contact's notes |
listContactAccounts | List a contact's account associations |
getContactScore | Get a contact's score values |
listActivities | List contact activities |
listEmailActivities | List email activities |
| Operation | What it does |
|---|
addTagToContact | Add tag to contact |
removeTagFromContact | Remove tag from contact |
listTags | List tags |
getTag | Get tag |
createTag | Create tag |
updateTag | Update tag |
deleteTag | Delete tag |
| Operation | What it does |
|---|
subscribeContactToList | Subscribe / unsubscribe contact to a list |
listLists | List lists |
getList | Get list |
createList | Create list |
deleteList | Delete list |
createListGroupPermission | Grant a user group access to a list |
| Operation | What it does |
|---|
listFields | List contact custom fields |
getField | Get contact custom field |
createField | Create contact custom field |
updateField | Update contact custom field |
deleteField | Delete contact custom field |
createFieldRelation | Attach a custom field to a list |
deleteFieldRelation | Detach a custom field from a list |
listFieldValues | List contact custom field values |
getFieldValue | Get a contact custom field value |
setContactFieldValue | Set a contact custom field value |
updateFieldValue | Update a contact custom field value |
deleteFieldValue | Delete a contact custom field value |
| Operation | What it does |
|---|
createDeal | Create deal |
getDeal | Get deal |
updateDeal | Update deal (move stage, change value, reassign) |
deleteDeal | Delete deal |
listDeals | List deals |
createDealNote | Add note to a deal |
updateDealNote | Update a deal note |
listDealActivities | List deal activities |
bulkUpdateDealOwners | Bulk reassign deal owners |
| Operation | What it does |
|---|
listPipelines | List pipelines |
getPipeline | Get pipeline |
createPipeline | Create pipeline |
updatePipeline | Update pipeline |
deletePipeline | Delete pipeline |
listStages | List stages |
getStage | Get stage |
createStage | Create stage |
updateStage | Update stage |
deleteStage | Delete stage |
moveDealsToStage | Move every deal in a stage to another stage |
| Operation | What it does |
|---|
listDealFields | List deal custom fields |
getDealField | Get deal custom field |
createDealField | Create deal custom field |
updateDealField | Update deal custom field |
deleteDealField | Delete deal custom field |
listDealFieldValues | List deal custom field values |
getDealFieldValue | Get a deal custom field value |
setDealFieldValue | Set a deal custom field value |
updateDealFieldValue | Update a deal custom field value |
deleteDealFieldValue | Delete a deal custom field value |
| Operation | What it does |
|---|
listTasks | List tasks |
getTask | Get task |
createTask | Create task |
updateTask | Update / complete task |
deleteTask | Delete task |
listTaskTypes | List task types |
getTaskType | Get task type |
createTaskType | Create task type |
updateTaskType | Update task type |
deleteTaskType | Delete task type |
moveTasksToTaskType | Move every task of a type to another type |
| Operation | What it does |
|---|
listSecondaryContacts | List deal secondary contacts |
getSecondaryContact | Get a deal secondary contact |
addSecondaryContact | Add a secondary contact to a deal |
updateSecondaryContact | Update a deal secondary contact |
removeSecondaryContact | Remove a secondary contact from a deal |
listDealRoles | List deal roles |
| Operation | What it does |
|---|
listAccounts | List accounts |
getAccount | Get account |
createAccount | Create account |
updateAccount | Update account |
deleteAccount | Delete account |
createAccountNote | Add note to an account |
updateAccountNote | Update an account note |
listAccountContacts | List account-contact associations |
getAccountContact | Get an account-contact association |
associateContactWithAccount | Associate a contact with an account |
updateAccountContact | Update an account-contact association |
removeAccountContact | Remove an account-contact association |
| Operation | What it does |
|---|
listAccountFields | List account custom fields |
getAccountField | Get account custom field |
createAccountField | Create account custom field |
updateAccountField | Update account custom field |
deleteAccountField | Delete account custom field |
listAccountFieldValues | List account custom field values |
getAccountFieldValue | Get an account custom field value |
setAccountFieldValue | Set an account custom field value |
updateAccountFieldValue | Update an account custom field value |
deleteAccountFieldValue | Delete an account custom field value |
| Operation | What it does |
|---|
listNotes | List notes |
getNote | Get note |
createNote | Create note |
updateNote | Update note |
deleteNote | Delete note |
| Operation | What it does |
|---|
listAutomations | List automations |
getAutomation | Get automation |
listContactAutomations | List automation enrolments |
getContactAutomation | Get an automation enrolment |
addContactToAutomation | Add contact to an automation |
removeContactFromAutomation | Remove contact from an automation |
| Operation | What it does |
|---|
listCampaigns | List campaigns |
getCampaign | Get campaign |
listCampaignLinks | List a campaign's links |
listMessages | List messages |
getMessage | Get message |
| Operation | What it does |
|---|
listOrders | List orders |
getOrder | Get order |
createOrder | Create order |
updateOrder | Update order |
deleteOrder | Delete order |
listOrderProductsForOrder | List an order's line items |
listOrderProducts | List order line items |
getOrderProduct | Get an order line item |
listCustomers | List e-commerce customers |
getCustomer | Get e-commerce customer |
createCustomer | Create e-commerce customer |
updateCustomer | Update e-commerce customer |
deleteCustomer | Delete e-commerce customer |
listConnections | List e-commerce connections |
getConnection | Get e-commerce connection |
createConnection | Create e-commerce connection |
updateConnection | Update e-commerce connection |
deleteConnection | Delete e-commerce connection |
| Operation | What it does |
|---|
listWebhooks | List webhooks |
getWebhook | Get webhook |
createWebhook | Create webhook |
updateWebhook | Update webhook |
deleteWebhook | Delete webhook |
listWebhookEvents | List available webhook events |
| Operation | What it does |
|---|
listForms | List forms |
getForm | Get form |
listScores | List scoring rules |
getScore | Get scoring rule |
Add a contact and tag it in one place in the workflow
ActiveCampaign automations are usually triggered by a tag, so "create the contact" and "tag it" are two halves of one intent. syncContact is the upsert — it creates or updates by email rather than failing on a duplicate, which is what a webhook that may fire twice needs.
Set Operation to syncContact, then fill in:
| Field | Value | Notes |
|---|
email | {{ myTrigger.email }} | The identity ActiveCampaign matches on |
firstName | {{ myTrigger.firstName }} | |
lastName | {{ myTrigger.lastName }} | |
phone | {{ myTrigger.phone }} | |
fieldValuesJson | [{"field": "1", "value": "{{ myTrigger.plan }}"}] | Custom fields, addressed by ActiveCampaign's numeric field id — list them with listFields first |
Sets {{contact.id}} and {{contact.email}}. Feed {{contact.id}} into a following addTagToContact node to fire the automation.