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

# Visão Geral de Automation Rules

O módulo **Automation Rules** permite definir regras `trigger → condition → action` que executam automaticamente em resposta a eventos do CRM. É a forma declarativa de codificar workflows operacionais — sem código, sem job customizado, sem precisar de scheduler externo.

### O modelo

Toda regra de automação segue o mesmo formato:

```
QUANDO   <trigger acontece>
SE       <condições são satisfeitas>
ENTÃO    <executar uma ou mais actions>
```

### Triggers suportados

| Trigger | Quando dispara |
| - | - |
| `message_created` | Nova mensagem entra na conversa |
| `conversation_created` | Conversa nova aberta |
| `conversation_updated` | Atributos da conversa mudam |
| `conversation_status_changed` | Status muda (`open`, `resolved`, `pending`, `snoozed`) |
| `conversation_resolved` | Conversa marcada como resolvida (atalho do anterior) |
| `pipeline_stage_updated` | Item de pipeline muda de estágio |
| `label_added` | Label adicionada à conversa ou contato |
| `attribute_changed` | Atributo customizado muda (com pickers From/To) |

> Os triggers `conversation_resolved` e `conversation_status_changed` foram adicionados no `v1.0.0-rc3` (EVO-1057). O operador `attribute_changed` com pickers explícitos foi adicionado no mesmo release (EVO-1058).

### Conditions

Conditions filtram o trigger antes de disparar a action. Suportam:

* **Campos da conversa:** status, assignee, inbox, team, prioridade.
* **Campos do contato:** atributos customizados, telefone, email, labels.
* **Labels:** operadores `has` / `has-not` (em conversa OU contato).
* **Atributo customizado mudou:** `attribute_changed` com seletores de valor **antes** e **depois**.
* **Tipo de mensagem:** aceita keys (`incoming`, `outgoing`) ou valores numéricos.

### Actions disponíveis

| Action | O que faz |
| - | - |
| `assign_agent` | Atribui a conversa a um agente humano |
| `assign_team` | Atribui a um time |
| `add_label` / `remove_label` | Manipula labels (resolve UUIDs para titles automaticamente) |
| `set_priority` | Define prioridade |
| `change_status` | Move para `open`, `resolved`, `pending`, `snoozed` |
| `move_to_stage` | Move item de pipeline para outro estágio do mesmo pipeline |
| `move_to_pipeline` | **(rc3)** Move item para um pipeline diferente, preservando o id |
| `send_message` | Envia mensagem (texto livre) |
| `send_canned_response` | Envia uma resposta pronta |
| `send_template` | Envia um template de mensagem com variáveis |
| `trigger_webhook` | Dispara webhook customizado |
| `apply_macro` | Roda um macro existente |

### Garantias

* **Dedup em janela de 5s** para `pipeline_stage_updated` por `(rule, pipeline_item, stage)` — evita disparo em rajada quando múltiplos eventos chegam quase simultâneos (rc3).
* **Loop prevention** em stage automation — uma regra acionada por `move_to_stage` não dispara outra do mesmo tipo recursivamente.
* **Macro webhook failures** são surfaceadas (não silenciosas) — você vê o erro na aba de logs.

***

## Permissões

| Permissão | O que permite |
| - | - |
| `automation_rules.read` | Ver regras existentes e seus logs |
| `automation_rules.manage` | Criar, editar, ativar/desativar regras |

***

## Próximos passos

* Para criar e gerenciar regras, ver [Regras de Automação](/user-guides/automation/rules).
* Para regras vinculadas a estágios de pipeline, ver [Gerenciando Pipelines](/user-guides/pipelines/managing-pipelines).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.