ActionActiveCampaignUpdated September 2026
How do I add a contact to an ActiveCampaign list?
Short answer: You can add contact to list in ActiveCampaign by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the ActiveCampaign Add Contact to List action to a workflow, map its 3 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
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 run history shows the failed step with its input and the error message ActiveCampaign returned, so you can fix the input and run the workflow again. Automatic retries are built into HTTP steps only, where you can also set your own retry count and delay.
Does Add Contact to List support batch operations?
Run Add Contact to List inside a loop to process each item in an array. TinyCommand does not throttle calls for you, so for large arrays add a Delay step if you need to stay within ActiveCampaign's rate limits.
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.