## Overview

**Contact automations** let you react to changes on the **contact record**, not just on
conversations. With them, the platform can tag a contact, log a note, write a custom attribute, create
a new contact, or even open a new conversation — automatically, the moment the data changes.

Two groups of capabilities work together:

- **Contact triggers**: **contact created**, **contact updated**, **contact merged**, and **contact
  deleted**. They evaluate the rule against the contact itself, with no open conversation required.
- **Contact and create actions**: add/remove label, add note, set custom attribute, **create
  contact**, **create conversation**, and **add private note** — available in **Automation rules**, in
  **Macros**, and in the **Flow Builder**.

In **Automation rules**, the contact triggers **created**, **updated**, and **merged** are no longer
limited to these actions: they now offer the **whole catalog of contact-anchored actions** — CRM,
tasks, calendar, charges, subscriptions, follow-ups, contracts, engagement, and WhatsApp group actions
— described in the "The full catalog on the contact" section below.

## Prerequisites

- **Admin** permission to create rules, macros, and flows with contact actions.
- At least one contact on the record, so contact triggers have something to evaluate.
- For the **create conversation** action, you must pick a destination **inbox**.
- For conditions on a **contact custom attribute**, the attributes must be defined on the account (they
  appear automatically in the pickers).

## Step by step

Example: **when a contact is updated AND the custom attribute `plan` equals `premium`, add the
`premium-customer` label**.

1. Under Settings, open the **Automation** area and create a new rule.
2. For the **trigger**, choose **Contact updated**.
3. Add the **condition**: select the custom attribute **plan**, the operator **equal to**, and the
   value **premium**. The possible values are loaded automatically in the picker — you don't type free
   text.
4. For **actions**, choose **Add contact label** and select `premium-customer`.
5. **Save** and activate the rule. Update a test contact to confirm the behavior.

To use the same actions elsewhere: in a **Macro**, add the contact action to the sequence the agent
runs with one click; in the **Flow Builder**, use the **Contact action** node (or the matching action
inside the action node) — see the Flow Builder native-actions article.

## Settings & options

Actions available in all three places (Automations, Macros, and the Flow Builder):

| Action | Key | What it does |
| --- | --- | --- |
| Add contact label | `add_contact_label` | Tags the contact with one or more labels. |
| Remove contact label | `remove_contact_label` | Removes labels from the contact record. |
| Add contact note | `add_contact_note` | Logs an internal note on the contact. |
| Set contact attribute | `set_contact_custom_attribute` | Writes a value into a custom attribute. |
| Create contact | `create_contact` | Creates a contact with name, email, and phone (inbox optional). |
| Create conversation | `create_conversation` | Opens a conversation in an inbox, with optional status and first message. |
| Add private note | `add_private_note` | Writes a private note on the conversation. |

- **Create contact**: provide **name**, **email**, and **phone**, and optionally the **inbox**.
  Creation goes through the native contact builder, which **deduplicates** by identifier, email, or
  phone — if the contact already exists, it is reused instead of duplicated.
- **Create conversation**: pick the **inbox** (required) and, if you want, the **initial status**
  (open, pending, or snoozed) and a **first message**. The conversation is created for the resolved
  contact.
- **Condition auto-load**: in the condition pickers, the contact's custom attributes and their values
  are loaded automatically — no free-text boxes to guess.
- **Account webhooks**: besides contact created and updated, you can subscribe to the **contact.merged**
  and **contact.deleted** events to notify external systems.

### The full catalog on the contact

In **Automation rules**, beyond the actions in the table above, the contact triggers **created**,
**updated**, and **merged** now offer **every action that has the contact as its anchor**:

- **CRM**: create a deal already linked to the contact, move a stage, set value/priority, and assign an owner.
- **Tasks and calendar**: create a task or an appointment tied to the contact.
- **Payments**: send charges and subscriptions to the contact.
- **Follow-ups, contracts, and engagement**: enroll the contact in sequences, send contracts, and run engagement actions.
- **WhatsApp groups**: group actions where the default participant is the contact itself.
- **Webhook and mass flow run**: notify external systems and launch published flows.

**Conversation actions do not apply** on these triggers — assign agent/team, resolve, send
message/note/attachment, SLA, AI/Maestro, and WhatsApp template all need a conversation, which does not
exist in this context. To chain them: use **Create conversation** in the contact rule itself and build
the second step on a **conversation trigger** (the "Create conversation to chain" pattern).

**Contact deleted** is the exception: because the record no longer exists, that trigger offers only
**webhook** and fully parameter-driven actions.

## Use cases

- **Automatic segmentation**: when a contact is updated and the `plan` attribute becomes `premium`, add
  the `premium-customer` label.
- **Record hygiene**: when contacts are merged, log a note with the merge origin.
- **Onboarding**: when a contact is created from a form, open a welcome conversation in a specific inbox.
- **Context for the team**: write an attribute (for example, `source = campaign-x`) to guide routing
  and reports.

## Tips, limits & best practices

- **Loop safety**: contact actions honor loop protections — avoid rules that fire in a chain (an update
  that triggers another update). Keep each rule focused.
- **Create contact deduplicates**: don't worry about duplicates — the same person (same email, phone,
  or identifier) is reused.
- **Create conversation needs an inbox**: with no inbox selected, the action won't run.
- **Admins only**: these actions require admin permission to be configured.
- **Variables in action fields**: when an action field shows the `{ }` button, it can receive a variable
  (`{{ contact.name }}`, `{{ contact.custom_attribute.quote_value }}`…) in flows, automations, and macros.
  The hint under the field tells you when the option is available.
- **Amounts, dates and links never guess**: when a variable does not exist — or the text is not a valid
  amount, date, or link — a compatible action **does not write** an invented value such as 0 or an empty
  date. A deal silently worth 0 is worse than an action that did not run.
- Document for the team what each contact automation does — it makes maintenance easier.

## Troubleshooting

- **The contact rule didn't fire**: confirm the trigger (created/updated/merged/deleted) and that
  **all** conditions are true; check the rule is active.
- **Create conversation didn't work**: confirm an **inbox** was selected on the action.
- **Did I create a duplicate contact?**: the action deduplicates by email/phone/identifier; if it still
  looks duplicated, check that the key data matches exactly.
- **The condition value doesn't appear**: custom attributes and their values are loaded from account
  data — confirm the attribute exists and has recorded values.
- **The action did not store the amount/date I expected**: confirm the variable exists for that contact
  (a custom attribute that was never filled resolves to empty). In a flow, the reason appears in the step
  output. In an automation or macro, the conversation activity records the number of declined actions,
  and the audit identifies the action and field to review.
- **The merged/deleted webhook didn't arrive**: check the endpoint subscribes to **contact.merged** /
  **contact.deleted** and responds successfully.

## See also

- [Automation rules: triggers, conditions, and actions](/hc/ajuda/articles/automation-flows-regras-de-automacao-en)
- [Macros: reusable actions in one click](/hc/ajuda/articles/automation-flows-macros-en)
- [Flow Builder: native actions and the Contact action node](/hc/ajuda/articles/automation-flows-flow-builder-acoes-nativas-en)