Ilustrativo — os seis passos deste módulo, na ordem em que viram um fluxo só.
⚡ Trigger
O trigger decide a natureza da automação. Um Webhook a torna reativa (alguém manda dado e ela responde); um Schedule a torna proativa (roda sozinha em horários definidos).
✓ Webhook (reativo)
- ✓Formulário enviado, pagamento aprovado, mensagem recebida.
- ✓Resposta em tempo real ao evento.
- ✓Você recebe um payload pronto para usar.
✓ Schedule (proativo)
- ✓Relatório diário, varredura de e-mails a cada 15 min.
- ✓Não depende de ninguém disparar.
- ✓Definido por cron: 0 9 * * 1-5 (9h em dias úteis).
POST /webhook/novo-lead
{ "nome": "Ana", "email": "ana@x.com", "mensagem": "Quero um orçamento" }
// disponível no fluxo como: ={{ $json.body.email }}
📥 Coletar dados de entrada
Antes de chamar a IA, extraia e normalize os campos que importam. A qualidade da resposta do modelo é proporcional ao contexto que você entrega — lixo na entrada, lixo na saída.
{
"nome": "={{ $json.body.nome }}",
"email": "={{ $json.body.email.toLowerCase() }}",
"mensagem": "={{ $json.body.mensagem.trim() }}"
}
📊 Por que normalizar na entrada
- Consistência - e-mail em minúsculo evita duplicata na hora de gravar.
- Token economia - mandar só os campos úteis reduz o custo da chamada de IA.
- Validação cedo - barrar entrada vazia aqui evita gastar uma chamada à toa.
Acessar o payload
Montar contexto
Expressões
Barrar lixo cedo
🤖 Chamar a IA
O coração da automação com IA. Use o node nativo (OpenAI/Anthropic) quando existe; senão, o HTTP Request chama a API direto. Peça saída em JSON para não sofrer no parsing depois.
{
"model": "gpt-4o-mini",
"response_format": { "type": "json_object" },
"messages": [
{ "role": "system", "content": "Classifique o lead. Responda JSON: {intencao, prioridade}." },
{ "role": "user", "content": "={{ $json.mensagem }}" }
]
}
💡 Dica prática
Coloque a estrutura exata do JSON que você espera no system prompt e ligue o json_object mode. Isso reduz drasticamente saídas mal-formadas — e temperature: 0 deixa a classificação mais estável.
Define o papel/formato
Saída estruturada
0 = estável
Mais contexto = mais $
🔍 Parsear a saída
A resposta chega como texto (mesmo em JSON mode, ela vem como string dentro de um campo). Você precisa transformá-la em campos reais para os próximos nodes usarem — com um fallback caso venha quebrada.
const raw = $json.choices[0].message.content; let parsed; try { parsed = JSON.parse(raw); } catch (e) { parsed = { intencao: "indefinida", prioridade: "baixa" }; } return [{ json: parsed }];
⚠️ Atenção
Modelos às vezes embrulham o JSON em ```json ... ``` ou adicionam um texto antes. Sempre trate a falha de parse — nunca confie 100% que a saída virá perfeita.
🎯 Executar a ação
A ação é o que o cliente percebe e paga: enviar o e-mail, gravar a linha, inserir o registro. É o único passo visível — tudo antes foi preparação.
Para: ={{ $json.email }}
Assunto: Recebemos seu pedido — prioridade ={{ $json.prioridade }}
Corpo: Olá ={{ $json.nome }}, classificamos como "={{ $json.intencao }}".
🎯 Escolha a ação pelo destinatário
- •E-mail — quando uma pessoa precisa ser notificada.
- •Planilha — quando o time acompanha visualmente.
- •Banco — quando outro sistema vai consumir o dado.
▶️ Rodar e observar
Execute o fluxo de verdade e inspecione item por item. Em automação você não usa breakpoints: você lê a entrada e a saída de cada node no painel de execução. O bug quase sempre é o formato dos dados entre dois nodes.
Test workflow com dado real
Dispare uma vez com um payload de exemplo. Veja o fluxo "acender" node a node.
Abra cada node e leia I/O
Compare o que entrou com o que saiu. Onde o dado "sumiu" é onde está o erro.
Pin data para iterar rápido
Fixe a saída do trigger (pin) e re-rode só os nodes seguintes sem gastar nova chamada de IA.
💡 Dica prática
Use pin data no trigger durante o desenvolvimento. Você congela uma entrada de exemplo e itera nos nodes seguintes em segundos, sem disparar webhooks reais nem queimar tokens a cada teste.
📌 Resumo do Módulo
Próximo Módulo:
4.3 - Integrações e dados (APIs REST, autenticação, banco, planilhas, paginação)