Regras de automação
Este guia mostra como criar, gerenciar e diagnosticar regras de automação. Para o modelo conceitual (gatilhos, condições, ações), consulte Visão geral.Criando uma regra
- Vá para
Settings → Automation. - Clique em Nova Regra.
- Dê a ele um nome descritivo (por exemplo, “Atribuir leads WhatsApp à equipe comercial”).
- Escolha um gatilho na lista.
- (Opcional) Adicione condições para filtrar quando a regra deve ser acionada.
- Adicione uma ou mais ações.
- Ative a regra.
Dicas para Nomear
- Comece com o verbo da ação principal (
Assign...,Move...,Tag...). - Incluir contexto (canal, equipe, palco) para que outros operadores entendam sem abrir detalhes.
- Evite nomes genéricos como “Regra 1” ou “Auto” — você acumulará dezenas e precisará encontrá-los por meio de pesquisa.
Condições e modelos de mensagens
As condições usam o sistema variável de modelo quando você precisa de comparações dinâmicas. A partir dev1.0.0-rc3 (WTO-1146), as variáveis ganharam campos adicionais:
label,source,example,position,component
label.title resolvido em vez do UUID bruto.
attribute_changed Operador com De/Para
Quando você quiser que a regra seja acionada somente em uma transição de atributo específica (por exemplo, “status alterado de pending para qualified”), use o operador attribute_changed com seletores de valores antes e depois explícitos.
Ações com carga útil dinâmica
send_template
Permite enviar um modelo de mensagem com variáveis preenchidas dinamicamente. O sistema aplica deep_stringify_keys à carga útil para que a chamada funcione independentemente do formato da chave (string ou símbolo).
send_canned_response
Atalho para enviar uma resposta automática armazenada em Settings → Canned Responses. A carga aceita variáveis substituídas por dados de conversa.
move_to_pipeline (rc3)
Move o item de pipeline para um pipeline diferente, preservando o id do item. Útil para regras como “se o rótulo qualified foi adicionado ao pipeline de Leads, vá para o pipeline de Vendas”.
A ação ignora automaticamente a validaçãosame-pipeline. Não confunda commove_to_stage, que se move dentro do mesmo pipeline.
apply_label
A partir de v1.0.0-rc3, a ação mostra um seletor de rótulo em vez de entrada de texto livre. Os UUIDs são resolvidos para títulos antes da marcação, com um substituto caso o rótulo tenha sido renomeado.
Painel de registros (rc3)
Cada execução de regra agora gera um registro no painelAutomation → Logs. Você vê:
- Quando a regra foi acionada.
- Qual conversa/item o desencadeou.
- Condições avaliadas — quais foram aprovadas e quais não foram.
- Ações executadas — sucesso ou erro.
- Erros surgidos — incluindo falhas de macro webhook (que anteriormente eram silenciosas, consulte WTO-1041).
Limpeza Automática
Os registros antigos são removidos por um trabalho de limpeza executado periodicamente. Você não precisa excluir manualmente.Diagnosticando regras que não disparam
Roteiro rápido quando uma regra parece não funcionar:- Verifique se está ativo. Regras desativadas não aparecem como erros — elas simplesmente não são executadas.
- Confirme o acionador.
conversation_updatedabrange vários casos, masattribute_changedé específico. - Veja o log de execução. No painel de logs, filtre pela regra. Se aparecer “sem correspondência”, suas condições estão filtrando-o.
- Condições de rótulo. A condição
labelsusa a subconsultaEXISTS(independente e segura para NULL) e corresponde a um rótulo em conversação OU contato. Se você esperava correspondência apenas na conversa, restrinja-a com outra condição. - Dedup. Para
pipeline_stage_updated, há uma janela de 5s — dois eventos no mesmo(rule, pipeline_item, stage)em uma janela curta são executados apenas uma vez.
Prevenção de Loop
Quando uma regramove_to_stage aciona um evento pipeline_stage_updated que poderia acionar a mesma regra recursivamente, o sistema marca a execução com Current.executed_by = :stage_automation e ignora as reentradas. Isso evita loops infinitos por design.