- Integrations
- /
- ActiveCampaign
- /
- Actions
- /
- Add Contact to List
ActionActiveCampaignUpdated May 2026
How do I add a contact to an ActiveCampaign list?
Short answer: Drop the "ActiveCampaign → Add Contact to List" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
Inputs
The fields this action accepts.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Contact ID contact_id | string | Required | Contact ID. Example: 123 |
List ID list_id | string | Required | List ID. Example: 1 |
Status status | options | Required | Status. Options: Subscribe, Unsubscribe |
Sample request
{"contact_id": "e.g. 123","list_id": "e.g. 1","status": "{{trigger.status}}"}
Returns
{"contactList": {"list": "1","status": 1,"contact": "123"}}
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for Add Contact to List.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Add Contact to List.
What does the Add Contact to List action do in ActiveCampaign?
Subscribes an existing contact to a specific list. If the contact isn't in the system, this fails — use Create Contact first or the upsert pattern. List membership drives campaign targeting in ActiveCampaign, so this is how cross-app workflows hand off leads into AC's nurture flows.
What inputs does Add Contact to List require?
Required: Contact ID, List ID, Status. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if ActiveCampaign returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Add Contact to List support batch operations?
Yes. Run Add Contact to List inside a Loop node to process arrays. Tiny Command handles ActiveCampaign's rate limits automatically so you don't have to throttle manually.
More actions
Other ActiveCampaign actions.
Action
Add Tag to Contact
Applies a tag to a contact — auto-creates the tag if it doesn't exist yet, which makes it forgiving for workflow setup but easy to fragment your tag taxonomy. Maintain a canonical tag list (in a Notion doc or workflow constant) to avoid "Customer", "customer", "Customers" all coexisting.
ActionCreate Contact
Creates a new contact with email, name, phone, and any configured custom fields. ActiveCampaign treats email as the dedupe key — repeated creates with the same email update the existing record. For "auto-add new leads from upstream" workflows, this is the entry point.
ActionDelete Contact
Hard-deletes the contact and all associated history (campaign engagement, automation state, list memberships). Irreversible — for GDPR right-to-erasure workflows or compliance cleanups. For soft removal (suppress without erasing history), use Unsubscribe or remove from all lists instead.
ActionGet Contact
Returns the full contact record by ID — standard fields, custom fields, current tags, list memberships, and recent activity if requested. The standard lookup before Update Contact or for enrichment workflows that need a snapshot of AC state for downstream decisions.
ActionList Automations
Returns every automation in the connected ActiveCampaign account with name, status (active, paused, draft), and the contact count currently in each. Useful for "where are my leads right now" audit workflows and for resolving automation IDs at workflow-build time.
ActionList Contacts
Paginated contact retrieval with filters for email, list membership, tag, status, and recently-modified time. For bulk-sync workflows that mirror AC into a warehouse or another CRM, use the timestamp filter to incrementally pull only the contacts touched since the last sync.
Send add contact to list from your workflows.
Triggered by anything in the catalog. Free tier available. No credit card.