> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nedzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Contact tag trigger

> Start a workflow when a tag is added to or removed from a contact. Launch campaigns, onboarding sequences, or status-change automations.

Fires when a tag is added to or removed from a contact. This is one of the most flexible triggers — use it to start campaigns, run onboarding sequences, or react to status changes.

## When it fires

The trigger fires immediately when:

* A tag is **added** to a contact (manually, via API, or from another workflow)
* A tag is **removed** from a contact

You configure whether the workflow responds to additions, removals, or both.

## Configuration

### Tag event

Choose the event type:

| Event       | Description                                |
| ----------- | ------------------------------------------ |
| Tag Added   | Fires when a tag is added to a contact     |
| Tag Removed | Fires when a tag is removed from a contact |

You can create separate workflows for additions and removals, or use a single workflow with a [Condition](/workflows/actions/condition) to branch.

### Tag filter

Select which tags should trigger the workflow:

| Setting       | Description                                                                                                 |
| ------------- | ----------------------------------------------------------------------------------------------------------- |
| Specific tags | Select one or more tags from the dropdown. The workflow only fires when one of these tags is added/removed. |
| Any tag       | Leave the tag filter empty. The workflow fires on any tag change.                                           |

### Examples

**Only fire on "hot-lead" tag:**

* Event: Tag Added
* Tag: Select "hot-lead" from dropdown

**Fire when any tag is removed:**

* Event: Tag Removed
* Tag: Leave empty (matches all)

**Fire on multiple tags:**

* Event: Tag Added
* Tags: Select "interested", "qualified", "ready-to-buy"

## Data available

| Variable               | Description                     | Example            |
| ---------------------- | ------------------------------- | ------------------ |
| `{{contactId}}`        | The contact's ID                | `a1b2c3d4-...`     |
| `{{firstName}}`        | Contact's first name            | `John`             |
| `{{lastName}}`         | Contact's last name             | `Doe`              |
| `{{phone}}`            | Contact's phone number          | `+14155551234`     |
| `{{email}}`            | Contact's email                 | `john@example.com` |
| `{{trigger.tag.id}}`   | The tag's ID                    | `t1a2b3c4-...`     |
| `{{trigger.tag.name}}` | The tag's name                  | `hot-lead`         |
| `{{trigger.tag.mode}}` | Whether it was added or removed | `added`            |

## Deduplication

Uses the contact ID + tag ID as the dedup key. Default window: 1 minute. If the same tag is toggled on and off quickly, only the first event triggers the workflow.

## Use case examples

### Start outreach when tagged "hot lead"

A sales rep tags a contact → the agent calls them automatically.

1. **Trigger:** Contact tagged → Tag Added → "hot-lead"
2. **Action:** [Voice call](/workflows/actions/voice-call) — Sales agent
3. **Action:** [Condition](/workflows/actions/condition) — Check call outcome
   * **Outcome = no\_answer:** [Send SMS](/workflows/actions/send-sms) — *"Hi `{{firstName}}`, I just tried to reach you. When's a good time to chat?"*
   * **Outcome = voicemail:** [Wait](/workflows/actions/wait) 4 hours → [Voice call](/workflows/actions/voice-call) retry
   * **Default:** [Update contact](/workflows/actions/update-contact) — Add "contacted" tag

### Onboarding drip sequence

New customer tagged → send a series of emails over several days.

1. **Trigger:** Contact tagged → Tag Added → "new-customer"
2. **Action:** [Send email](/workflows/actions/send-email) — Welcome email
3. **Action:** [Wait](/workflows/actions/wait) — 1 day
4. **Action:** [Send email](/workflows/actions/send-email) — Getting started guide
5. **Action:** [Wait](/workflows/actions/wait) — 3 days
6. **Action:** [Voice call](/workflows/actions/voice-call) — Onboarding check-in agent

### Notify team when tag removed

When a VIP tag is removed, alert the team.

1. **Trigger:** Contact tagged → Tag Removed → "vip"
2. **Action:** [Slack message](/workflows/actions/slack-message) — *"`{{firstName}}` `{{lastName}}` is no longer a VIP. Tag was removed."*
3. **Action:** [Send webhook](/workflows/actions/send-webhook) — Update CRM status
