tag_contact
Add or remove tags on a contact. Tags are flat labels — vip, beta, churned — as opposed to custom properties, which are declared fields with a value. They are lower-cased and spaces become hyphens, so VIP and vip are the same tag. Tagging reaches the person across every audience they are on. list_tags returns the tags the workspace already uses, so an existing tag can be reused rather than a synonym created. Adding a tag an automation exits on (e.g. customer), or removing one it requires (e.g. trial), ends the person's enrolment in it at once. Adding a tag the contact did not already carry starts every active automation with a tag_added trigger on it, so a tag can put someone on a sequence; list_automations shows each automation's trigger. Returns the contact, as get_contact does, with its tags after the change. list_automation_enrollments with status 'canceled' shows which enrolments a tag change ended, with each row's cancel_reason (exit_tag or required_tag_missing).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"contact_id": "<contact_id>"
},
"name": "tag_contact"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | ||
| remove | No | ||
| contact_id | Yes | The contact's id (a UUID) from find_contact, add_contact or get_contact — not the email address. find_contact returns the id for an address. |