Acesse em Operação > Automações. O construtor visual é arrastar e soltar — não precisa código.
Automação vs. Campanha
Os dois conceitos compartilham a malha de envio (voz, e-mail, SMS, WhatsApp), mas resolvem cenários diferentes:| Campanha | Automação | |
|---|---|---|
| Disparo | Lote one-shot | Reativo permanente |
| Origem | Lista importada/segmento | Gatilho de evento |
| Vida | Termina quando a lista acaba | Vive até você desligar |
| Por cliente | 1 envio agendado | Run com várias etapas |
| Caso típico | ”Mandar promoção pra 5k contatos" | "Quem entrou em ‘Lead’, tenta ligar; se não atende, manda WhatsApp em 2h” |
Anatomia de uma automação
Toda automação tem dois ingredientes:Gatilho (Trigger)
Define quando a automação começa para um cliente. Cada automação tem 1 gatilho.
Blocos (Steps)
Definem o que acontece depois do gatilho. Vão desde “ligar com IA” até “esperar 2 dias”.
end_run). Cada cliente tem sua própria run — instância isolada do fluxo, com estado e contexto próprios.
Gatilhos disponíveis
Entrada em etapa do pipeline (stage_entry)
Entrada em etapa do pipeline (stage_entry)
Dispara quando um cliente é movido para uma etapa específica do pipeline.Cobre todas as formas de mudança de etapa:
- Arrastar no Board
- Movimentação em lote (bulk move)
- Classificação automática pós-chamada
- PATCH via API
Intent detectado pelo agente (intent)
Intent detectado pelo agente (intent)
Dispara quando o agente de IA classifica a intenção da conversa.Intents disponíveis:
voicemail, wrong_number, not_the_person, customer_not_interested, entre outros.Casos típicos: detectou caixa postal → manda WhatsApp; detectou pessoa errada → move para “verificar contato”.Tag adicionada (tag_added)
Tag adicionada (tag_added)
Dispara quando uma tag é adicionada ao cliente — manualmente, por outra automação ou por uma tool do agente (
add_client_tag).Casos típicos: tag “lead_quente” inicia régua VIP; tag “inadimplente” inicia régua de cobrança.Campo customizado alterado (custom_field_changed)
Campo customizado alterado (custom_field_changed)
Dispara quando um campo customizado específico muda de valor.Casos típicos: quando
valor_proposta é preenchido, manda WhatsApp com link de aceite; quando data_vencimento muda, reagenda a régua de cobrança.Disparo manual (manual)
Disparo manual (manual)
Você seleciona clientes na lista do CRM e dispara a automação para eles diretamente.Casos típicos: régua especial para um grupo selecionado, fluxo de teste, recuperação pontual.
Blocos disponíveis
Os blocos se dividem em ações (fazem alguma coisa) e controle (decidem o caminho do fluxo).Blocos de ação
| Bloco | O que faz | Parâmetros principais |
|---|---|---|
Ligar (call) | Aciona o agente de voz para ligar para o cliente | Agente, prioridade de telefone, tentativas, duração máxima |
| Enviar e-mail | Envia e-mail usando um template | Template, integração Gmail (opcional) |
| Enviar SMS | Envia SMS via Twilio usando um template | Template, integração Twilio (opcional) |
| Enviar WhatsApp | Envia WhatsApp via UAZAPI usando um template | Template, mídia (opcional), integração |
| Mover etapa | Move o cliente para outra etapa do pipeline | Etapa de destino, pipeline (cross-pipeline opcional) |
| Adicionar tag | Adiciona uma tag ao cliente | Tag (string) |
| Remover tag | Remove uma tag do cliente | Tag (string) |
| Setar campo customizado | Atualiza valor de um custom field | Campo, valor |
| Criar tarefa | Cria uma tarefa humana vinculada ao cliente | Título, descrição, responsável, prazo |
Terminar run (end_run) | Marca a run como concluída | — |
Blocos de controle
| Bloco | O que faz | Notas |
|---|---|---|
Esperar (wait) | Pausa a run por um período definido | Pode ser tempo fixo (1s a 30 dias) ou “próximo horário comercial” respeitando timezone |
Condicional (condition) | Branch if/else baseado em um campo | Operadores: =, ≠, in, contains, existe, >, <, ≥, ≤ |
Esperar evento externo (wait_for_event) | Pausa até receber um webhook ou timeout | Branches: recebido / timeout |
Toda automação precisa ter pelo menos um caminho que chegue em Terminar run (
end_run). Sem isso, a run fica órfã.Variáveis em parâmetros (templating)
Vários blocos aceitam variáveis no formato{{variavel}}. A resolução acontece nessa ordem:
- Atalhos de cliente em PT-BR:
{{cliente_nome}},{{cliente_empresa}},{{cliente_email}},{{cliente_telefone}}. - Atalhos em inglês:
{{name}},{{client_name}},{{company}},{{email}},{{phone}}. - Custom fields:
{{cpf}}ou{{custom.cpf}}(ambos funcionam). - Contexto da run:
{{context.X}}— variáveis que a própria run acumula durante a execução (ex:dispositionda call). - Mock values do template: fallback se o cliente não tem o dado.
- Se nada resolve, vira string vazia (sem
{{undefined}}no output).
Construtor visual
A página de uma automação tem três áreas principais:Paleta de blocos
Sidebar esquerda com todos os blocos disponíveis. Arraste para o canvas.
Canvas
Centro da tela. Conecte blocos arrastando das alças. Zoom, pan, undo/redo.
Painel de configuração
Sidebar direita. Aparece quando você clica em um bloco. Formulário muda conforme o tipo.
Como criar uma automação
Escolha o gatilho
Selecione um dos 5 gatilhos disponíveis. Cada gatilho pede configurações específicas (ex:
stage_entry pede pipeline + etapa).Monte o fluxo
Arraste blocos da paleta para o canvas. Conecte-os arrastando das alças (handles). O bloco de entrada é destacado.
Configure cada bloco
Clique em um bloco para abrir o painel de configuração. Preencha os parâmetros (template, etapa, prazo, etc.).
Defina a janela de execução (opcional)
Em Configurações da automação você define dias/horários permitidos respeitando o timezone da sua organização.
Acompanhando execuções (aba Runs)
Cada automação tem uma aba Runs que lista todas as instâncias em execução ou histórico, com:- Cliente (com link para a ficha)
- Status atual:
waiting,running,in_call,completed,failed,cancelled - Bloco atual (em qual passo a run está parada)
- Histórico expandido (cada step executado, com input/output)
disposition da call), etc.
Quando uma run cai em
failed, o motivo aparece no histórico. Erros comuns: integração desconectada, template inativo, etapa de destino removida.Casos de uso completos
Caso 1 — Re-engajamento de leads frios (B2B)
Caso 1 — Re-engajamento de leads frios (B2B)
Gatilho: tag “lead_frio” adicionadaResultado: o lead que abandonou recebe WhatsApp; se não responde, recebe ligação; se a IA detecta telefone errado, é tirado do funil sem desperdiçar mais tentativas.
Caso 2 — Régua de cobrança progressiva
Caso 2 — Régua de cobrança progressiva
Gatilho: entrada na etapa “Em atraso D+5”Resultado: o cobrador humano só vê o cliente quando o agente já tentou todos os canais; se o cliente promete pagar, vira tarefa de confirmação.
Caso 3 — Cross-channel com fallback (vendas)
Caso 3 — Cross-channel com fallback (vendas)
Gatilho: entrada na etapa “Lead qualificado”Resultado: a régua tenta voz, mas se cair em caixa postal troca para WhatsApp e tenta de novo, e só aciona e-mail como último recurso.
Caso 4 — Onboarding com confirmação humana (clínica)
Caso 4 — Onboarding com confirmação humana (clínica)
Gatilho: entrada na etapa “Cadastrado”Resultado: paciente é onboardado pela IA; se não comparece à consulta em 30 dias, vira tarefa para a coordenadora investigar.
Capacidades não-óbvias
Cascata de gatilhos
O bloco
Mover etapa pode disparar outra automação que escuta stage_entry. Permite encadear automações sem ramificar tudo numa só.Contexto como state machine
A run acumula variáveis ao longo do fluxo. O
disposition da call (voicemail, wrong_number) fica em context e o Condicional lê de lá — sem precisar consultar o banco.Loops com espera
O detector de ciclos permite loops que passam por Esperar. Ex: “tenta ligar; se não atende, espera 2h; tenta de novo (até 3x)” é um loop válido.
Soft-fail em delegação
Se o bloco Criar tarefa não consegue resolver responsável, marca o step como
skipped (não falha — o run continua). Workflow não para por delegação sem dono.Limitações conhecidas
- Condicional sem AND/OR aninhado — para lógica composta, encadeie múltiplos blocos
Condicional. - Sem analytics agregada por automação ainda — você acompanha por run individual na aba Runs.
- Pickers do construtor pedem UUID em alguns campos (template, agente, etapa) — copie do contexto do CRM.
- Bloco Ligar não retém crédito antecipado — esteja atento ao saldo da organização ao disparar fluxos com volume alto.
Como o sistema executa por trás
Para quem quer entender a engine:- Tick a cada 15 segundos processa runs prontas (até 50 por tick).
- Multi-worker safe: runs travadas com
FOR UPDATE SKIP LOCKED— múltiplos workers não pegam a mesma run. - Idempotência: a automação não cria run nova se já existe uma ativa para o mesmo
(automation_id, client_id). - Janela de execução: respeita dias/horários configurados; fora da janela, reagenda para o próximo slot válido sem executar.
- Cap de segurança: run que executa mais de 100 steps cai em
failed(step_limit_exceeded). - Estado assíncrono: o bloco Ligar não bloqueia o tick — quando o agente desliga, a run reativa no próximo ciclo.
Próximos passos
Tarefas
Trabalho humano delegado pelo agente IA ou pelo bloco
Criar tarefaRetornos
Callbacks agendados pelo agente durante a conversa (cross-channel)
Board e Pipelines
Configure etapas com descrição clara para o gatilho
stage_entryTools (CRM Action)
add_client_tag, move_to_stage, set_custom_field cascateiam automações
