Skip to content
ActionActiveCampaignUpdated May 2026

How do I update a contact's fields in ActiveCampaign?

Short answer: Drop the "ActiveCampaignUpdate Contact" 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.

FieldTypeRequiredDescription
Contact ID
contact_id
stringRequiredContact ID. Example: 123
Email
email
stringOptionalEmail. e.g. "user@example.com"
First Name
firstName
stringOptionalContact's first (given) name.
Last Name
lastName
stringOptionalContact's last (family) name.
Phone
phone
stringOptionalPhone number in E.164 format (with country code, no spaces).
Sample request
{
"contact_id": "e.g. 123",
"email": "user@example.com",
"firstName": "e.g. Jane",
"lastName": "e.g. Doe",
"phone": "e.g. +14155551234"
}
Returns
{
"contact": {
"id": "123",
"email": "user@example.com"
}
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Update Contact.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Update Contact.

What does the Update Contact action do in ActiveCampaign?
Updates standard fields and custom fields on an existing contact by ID. Partial updates supported — only the passed fields change, others stay untouched. For "enrichment from external source → write back to AC" workflows where you're augmenting with firmographic data after the initial signup.
What inputs does Update Contact require?
Required: Contact ID. 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 Update Contact support batch operations?
Yes. Run Update Contact 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 Contact to List
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.
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.
Action
Create 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.
Action
Delete 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.
Action
Get 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.
Action
List 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.

Send update contact from your workflows.

Triggered by anything in the catalog. Free tier available. No credit card.