Add tag by name to contact
Identifier and availability
- Type:
action - Stable identifier:
contact_tag:add_custom - Status: Compatibility-only — registered and importable for existing workflows, but hidden from the new-node selector.
Purpose
Adds a tag by name, creating it when needed.
Prerequisites and context
Required configuration: tag_name. Runtime requires a contact in context.
Parameters
| JSON path | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
tag_name |
string | Yes | — | — | Tag name used by this compatibility action. |
Unknown parameter and settings keys are rejected. Resource references use names, emails, document keys, or endpoints rather than database IDs.
Inputs and available variables
This node declares no additional variable groups. The always-available date group and context inherited from its path still apply.
Templated strings use double braces, for example {{contact.first_name}}. Availability in the editor does not create runtime context; the trigger and preceding branch still need to provide it.
Connections and branches
This is a sequential action with no branch ports. A root placement uses from set to null and branch set to actions; a branch placement uses the branching action key and branch token. Use a 1-based order within that path.
Connection fragment:
{
"from": null,
"to": "action_contact_tag_add_custom",
"branch": "actions",
"order": 1
}
Valid JSON node example
{
"key": "action_contact_tag_add_custom",
"type": "action",
"name": "contact_tag:add_custom",
"display_name": null,
"parameters": {
"tag_name": "VIP"
}
}
Validation and runtime caveats
This is a compatibility-only identifier. Preserve it when round-tripping an existing workflow; prefer a selectable node that provides the intended behavior for newly authored workflows. The tag is looked up by its rendered name and created at runtime when missing.
See the Automation JSON import format for the envelope, dependency resolution, graph rules, complete examples, and AI author checklist.