Como criar workflows no n8n: da conexão de nós ao design de automações

Lá estava eu copiando dados manualmente de novo. Eram mais de 20 registros para sincronizar de uma tabela do Notion com o TickTick e, depois, com um documento do Lark. O teclado não parava. Eu já tinha feito isso na semana anterior, na semana anterior àquela e, pelo visto, desde o começo do ano.
Não gosto de tarefas repetitivas. Não é preguiça (tudo bem, talvez um pouco), mas esse tipo de copiar e colar mecânico não exige raciocínio algum e, ainda assim, precisa ser feito. Foi então que descobri o n8n, uma ferramenta de código aberto para automação de workflows. Depois de alguns dias experimentando, consegui deixar todas aquelas sincronizações irritantes por conta da máquina.
Neste artigo, explico como usar o n8n, desde o conceito de nós até cenários reais, incluindo os problemas que encontrei pelo caminho. Se tarefas repetitivas também fazem parte da sua rotina, talvez você encontre algumas ideias úteis aqui.
1. O que é o n8n? Primeiro, entenda alguns conceitos
Sinceramente, fiquei um pouco perdido quando vi a interface do n8n pela primeira vez. A tela estava cheia de pequenos blocos ligados por linhas em todas as direções, e eu não sabia por onde começar. Depois entendi que cada bloco é um nó e que a conexão entre eles forma um workflow.
1.1 Código aberto, visual e low-code
O n8n se apresenta como uma “ferramenta de automação de código aberto”. Em termos simples, ele permite conectar diferentes serviços por meio de uma interface de arrastar e soltar para executar tarefas automaticamente. Talvez você já conheça o Zapier ou o IFTTT, que também trabalham com automação, mas o n8n tem algumas diferenças:
- Gratuito e de código aberto: você pode hospedá-lo por conta própria e manter o controle total dos dados
- Grande variedade de nós: são mais de 400 nós compatíveis com diversos serviços e APIs
- Editor visual: você monta workflows arrastando elementos, sem precisar programar — embora também seja possível escrever código
Para mim, o fato de ser código aberto é importante. Algumas automações envolvem dados sensíveis, como chamadas a APIs internas da empresa, e nem sempre é confortável enviá-los para uma plataforma em nuvem como o Zapier. Hospedando o n8n por conta própria, todo o fluxo de dados fica no seu servidor, o que traz mais tranquilidade.
1.2 Tipos de nós: gatilhos, ações e lógica
Os nós do n8n podem ser divididos, de modo geral, em três categorias. Depois de entender essa classificação, montar workflows fica bem mais fácil.
Nós de gatilho (Trigger) — são o ponto de partida do workflow.
Imagine uma fileira de dominós: a primeira peça precisa cair para derrubar as demais. O gatilho é essa primeira peça. Alguns exemplos comuns:
Schedule Trigger: execução programada, como todos os dias às 7hWebhook: acionamento externo, como o recebimento de uma requisição HTTPManual Trigger: acionamento manual, apenas quando você clica em um botão
No começo, eu usava o Manual Trigger, porque era mais prático para depurar e permitia executar o fluxo quando quisesse. Só troquei para o Schedule Trigger quando coloquei o workflow em uso de verdade.
Nós de ação (Action) — são os nós que executam o trabalho.
Eles cuidam de operações específicas, como:
HTTP Request: chama uma API para buscar ou enviar dadosSet: transforma dados, altera nomes de campos ou ajusta a formataçãoGmail / Slack / Notion: conecta serviços de terceiros para enviar e-mails, publicar mensagens ou criar documentos
Os nós de ação são os mais usados. Aproximadamente 90% dos workflows dependem deles para funcionar.
Nós de lógica — controlam a direção do fluxo.
Nem todo workflow segue uma única linha. Às vezes, é preciso escolher caminhos diferentes conforme uma condição. Por exemplo:
If: verifica uma condição e segue pelo caminho A quando ela é atendida ou pelo caminho B quando não éMerge: combina várias ramificaçõesSwitch: avalia várias condições, de forma semelhante ao switch-case de uma linguagem de programação
Com um bom uso dos nós de lógica, o workflow pode ficar bastante flexível. Na minha sincronização de dados, por exemplo, usei um nó If para verificar se um registro já existia: se existisse, ele era atualizado; caso contrário, um novo registro era criado.
1.3 Como os dados passam entre os nós?
Depois que os nós são conectados, os dados circulam automaticamente. A saída de um nó se torna a entrada do nó seguinte.
No n8n, os dados são transmitidos em formato JSON. Ao terminar a execução, cada nó gera um objeto JSON com vários campos. Para usar esses campos no nó seguinte, você pode referenciá-los com uma expressão como {{ $json.fieldName }}.
Por exemplo, suponha que um nó HTTP Request consulte uma API de clima e retorne algo assim:
{
"temperature": 18,
"weather": "ensolarado",
"city": "Pequim"
}
Para usar a temperatura no próximo nó, basta escrever {{ $json.temperature }}. O n8n substituirá automaticamente a expressão por 18.
Essa sintaxe pode parecer estranha no início, mas fica natural depois de algumas tentativas. Recomendo testá-la diretamente no nó: digite {{ $json. e observe o menu suspenso para ver de imediato quais campos estão disponíveis.
2. Começando do zero: crie seu primeiro workflow
Agora que os conceitos estão claros, vamos à prática. O primeiro workflow que consegui executar com sucesso buscava a previsão do tempo em um horário definido e enviava um e-mail. É simples, mas reúne a maioria das operações essenciais.
2.1 Preparação do ambiente
A maneira mais rápida de experimentar é usar a versão em nuvem: n8n.cloud. Basta criar uma conta; o plano gratuito inclui alguns recursos básicos.
Se preferir hospedar por conta própria — como eu, que gosto de experimentar essas coisas —, um único comando Docker resolve:
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
Depois que o contêiner estiver em execução, abra http://localhost:5678 no navegador para acessar o editor.
Encontrei um problema nessa etapa: persistência de dados. Na primeira vez, não usei o parâmetro -v, e todos os workflows desapareceram quando reiniciei o contêiner. Com -v ~/.n8n:/home/node/.n8n, os dados passam a ser salvos em um diretório local.
2.2 Exemplo 1: buscar a previsão do tempo e enviar um e-mail
Objetivo: todos os dias, às 7h, buscar automaticamente a previsão do tempo de Pequim e enviar um lembrete por e-mail.
Etapa 1: adicione o Schedule Trigger
Clique no botão “+” da tela e procure por “Schedule Trigger”. Depois de adicioná-lo, configure o horário:
- Trigger Interval: Days
- Days between triggers: 1
- Trigger at Hour: 7
Etapa 2: adicione o nó OpenWeatherMap
Clique novamente em “+” e procure por “OpenWeatherMap”, o nó da API de clima. Configure:
- Operation: Get current weather
- City: Beijing (ou a cidade onde você mora)
- API Key: você precisa se cadastrar no site do OpenWeatherMap para obtê-la
Depois de receber a API Key, basta inseri-la.
Etapa 3: adicione o nó Gmail
Procure por “Gmail” e adicione um nó de ação para enviar e-mails. Configure:
- Operation: Send
- To: seu endereço de e-mail
- Subject: Lembrete da previsão do tempo de hoje
- Message Type: HTML
- Message: use a sintaxe de modelo para inserir os dados meteorológicos
O conteúdo do e-mail pode ser:
Tempo em Pequim hoje: {{ $json.weather }}
Temperatura: {{ $json.temperature }} °C
Não se esqueça de conferir o tempo antes de sair!
Etapa 4: conecte os nós
Arraste a saída do Schedule Trigger até a entrada do OpenWeatherMap e, em seguida, conecte o OpenWeatherMap ao Gmail. Os três nós formarão um fluxo linear.
Etapa 5: teste a execução
Clique no botão “Execute Workflow” no canto superior direito. Se tudo estiver configurado corretamente, você verá os nós sendo executados em sequência e, por fim, o Gmail enviará um e-mail. Confira sua caixa de entrada: o alerta meteorológico chegou?
Para ser sincero, fiquei animado quando isso funcionou pela primeira vez. Era apenas um workflow simples, mas a sensação de ter uma máquina trabalhando por mim foi muito boa.
2.3 Exemplo 2: notificação automática de envio de formulário
O segundo cenário é uma notificação automática de formulário. Imagine que você tem um site e quer receber um aviso no Slack sempre que alguém enviar um formulário.
Gatilho Webhook
Adicione um nó “Webhook” e selecione “Webhook URL”. Esse URL será o destino dos dados enviados pelo formulário. Coloque-o no atributo action do formulário ou envie uma requisição POST com JavaScript.
Nó Slack
Adicione um nó “Slack” e configure:
- Operation: Post message
- Channel: o canal em que você quer receber o aviso
- Message: use novamente a sintaxe de modelo para inserir os dados do formulário
O conteúdo da mensagem:
Novo formulário recebido:
Nome: {{ $json.name }}
E-mail: {{ $json.email }}
Mensagem: {{ $json.message }}
Depois de conectar os nós, o Slack receberá uma mensagem sempre que alguém enviar o formulário. Mais tarde, conectei o formulário de contato do site da empresa a esse workflow, e o tempo de resposta melhorou bastante — não era mais necessário consultar o painel manualmente.
3. Prática avançada: automações para vários cenários
Com as operações básicas dominadas, podemos passar a cenários mais complexos. Estes são alguns dos workflows que realmente uso e que só ficaram estáveis depois de alguns ajustes.
3.1 Sincronização de dados: Notion e TickTick nos dois sentidos
O contexto é o seguinte: uso o Notion para planejar tarefas e o TickTick para executar as atividades do dia a dia. Os dados precisam estar sincronizados para evitar confusão.
Estratégia: dois gatilhos monitoram, separadamente, as alterações no Notion e no TickTick. Em seguida, um nó If verifica se o registro existe: se existir, atualiza; caso contrário, cria um novo.
Arquitetura:
Notion Trigger → If (existe no TickTick?) →
- Yes: atualizar no TickTick
- No: criar uma tarefa no TickTick
TickTick Trigger → If (existe no Notion?) →
- Yes: atualizar no Notion
- No: criar um item no Notion
Pontos importantes:
- Identificador único: os dois lados precisam ter um campo único, como
taskId, para verificar se os registros representam a mesma tarefa - Prevenção de acionamentos repetidos: uma atualização pode iniciar uma nova sincronização, por isso é preciso adicionar uma condição que evite loops infinitos
- Tratamento de erros: chamadas de API podem falhar de vez em quando; configure o mecanismo de repetição (Retry on Error) para tentar novamente no máximo três vezes
Levei bastante tempo para depurar esse workflow, principalmente porque a lógica de sincronização bidirecional é fácil de confundir. Depois, adicionei um nó Merge para combinar os resultados das atualizações dos dois lados e processá-los de uma só vez. Assim, finalmente tudo funcionou como esperado.
3.2 Distribuição de conteúdo: publicação do blog em várias plataformas
Este cenário é útil para quem trabalha com conteúdo. Depois de publicar um artigo no blog, você pode distribuí-lo automaticamente em várias plataformas.
Monitoramento de RSS + distribuição multicanal:
RSS Feed Trigger → HTTP Request (buscar detalhes do artigo) →
→ Slack (notificação para a equipe)
→ Gmail (assinantes por e-mail)
→ envio pelo WeChat (exige uma API própria)
Tratamento do conteúdo com modelos:
Cada plataforma usa um formato diferente. O Slack pode exibir um cartão resumido, enquanto o e-mail precisa do texto completo. Adicionei um nó Set ao workflow para extrair separadamente o título, o link e o resumo do artigo e, depois, gerar o formato adequado para cada plataforma.
O envio pelo WeChat é um pouco mais complexo e exige uma API própria — eu usei um Webhook de bot do WeCom. Depois de configurá-lo, porém, todos os envios passaram a ser automáticos, o que economizou bastante tempo.
3.3 Integração com IA: respostas automáticas no atendimento
O n8n lançou recentemente o nó AI Agent, que permite integrar modelos de linguagem. Neste exemplo, criamos um atendimento inteligente simples para responder automaticamente às perguntas dos usuários.
Configuração do nó AI Agent:
- Model: escolha OpenAI ou Claude (é preciso configurar uma API Key)
- System Prompt: defina o comportamento do atendente, por exemplo, “Você é um assistente de atendimento cordial que responde a dúvidas dos usuários sobre o produto”
- Memory: quando ativada, permite que o Agent se lembre do histórico da conversa
Conexão do gatilho:
Use um Webhook para receber a mensagem do usuário, encaminhe-a ao AI Agent e devolva a resposta ao usuário.
Testei esse cenário e a qualidade das respostas foi razoável, mas questões complexas ainda exigem intervenção humana. Ele funciona bem para dúvidas frequentes e padronizadas, como “Como uso o produto?” ou “Qual é o preço?”.
3.4 Monitoramento e alertas: verificação da integridade de uma API
O último cenário é comum em operações técnicas. O workflow verifica periodicamente se uma API está funcionando e envia um alerta automaticamente quando encontra um problema.
Design do workflow:
Schedule Trigger (a cada 10 minutos) → HTTP Request (verificar API) →
→ If (código de status da resposta == 200?) →
- Yes: encerrar
- No: alerta no Slack + registrar log do erro
Configurações importantes:
- Defina o URL da API de destino no nó HTTP Request
- No nó If, verifique se
$json.statusCode == 200 - No ramo de erro, envie uma mensagem de alerta pelo Slack e use um nó
Setpara registrar os detalhes
Implantei esse workflow em uma API de testes da empresa e o deixei em execução por alguns meses. Ele realmente detectou algumas falhas. Apesar de ser um monitoramento simples, é muito mais confiável do que fazer verificações manuais.
4. Dicas de depuração e otimização
É raro um workflow funcionar perfeitamente na primeira tentativa; a depuração faz parte do processo. Aqui estão algumas lições que aprendi depois de enfrentar vários problemas.
4.1 Consulte o histórico de execuções
Após cada execução, o n8n registra um histórico. Clique na aba “Executions”, no menu lateral, para ver todos os registros.
Encontre o nó que falhou:
Se um nó falhar, ele aparecerá em vermelho no histórico. Clique nele para ver a mensagem de erro específica. Os tipos de erro mais comuns são:
- Timeout em uma chamada de API
- Formato de dados incompatível
- Credenciais inválidas ou expiradas, como uma API Key
Verifique os dados de saída:
Ao clicar em cada nó, você pode ver os dados de saída. Durante a depuração, costumo conferir os nós um por um para verificar se os dados estão sendo transmitidos como esperado. Às vezes, basta errar o nome de um campo para que os nós seguintes não encontrem o valor.
4.2 Tratamento de erros comuns
Repetição após timeout da API:
Nas configurações do nó, você pode ativar “Retry on Error”. Em geral, configuro três tentativas, com intervalos de um a dois segundos. A maioria das falhas temporárias é resolvida dessa forma.
Formato de dados incompatível:
Este é o problema mais frequente. Uma API pode retornar uma string, por exemplo, enquanto o nó espera um número. Para resolver, adicione antes um nó Set e converta o valor com JavaScript:
{{ Number($json.temperature) }}
Outra opção é usar o nó Edit Fields para alterar diretamente o tipo do campo.
Investigue credenciais inválidas:
O gerenciamento de credenciais do n8n fica no menu lateral. Se uma chamada de API continuar falhando, verifique se as credenciais expiraram. Às vezes, uma mudança nas permissões do serviço exige que você configure as credenciais novamente.
4.3 Recomendações de desempenho
Quando o número de workflows aumenta, podem surgir problemas de desempenho. Algumas sugestões:
Processamento em lotes:
Se o volume de dados for grande, evite processar um item por vez. Use o nó Split In Batches para dividir os dados em lotes de 100 itens — ajuste essa quantidade conforme os limites da API.
Divisão em subworkflows:
Um workflow complexo pode ser dividido em vários subworkflows. O workflow principal chama os demais, o que deixa a lógica mais clara e facilita a depuração isolada. Use o nó Execute Workflow para chamar outro workflow.
Mecanismo de cache:
Alguns dados não precisam ser buscados em toda execução. Para um arquivo de configuração estático, por exemplo, você pode usar um nó Cache após a primeira requisição e ler o valor armazenado nas execuções seguintes.
5. Conclusão e próximos passos
Depois de tudo isso, a lógica central do n8n é bastante simples: os nós são as peças, as conexões definem a lógica e os dados circulam entre os nós. Ao dominar esses conceitos, você consegue começar a criar workflows para diferentes necessidades.
Sugestão de roteiro de aprendizado:
- Comece por um workflow linear e simples, como o alerta meteorológico
- Adicione aos poucos ramificações e condições
- Depois, experimente integrações com IA e sincronizações bidirecionais
Recursos da comunidade:
O n8n mantém uma biblioteca oficial de modelos em n8n.io/templates, com muitos workflows prontos. Quando tiver uma ideia de automação, vale procurar primeiro se já existe um modelo e adaptá-lo.
Caminhos avançados:
Se os nós existentes não forem suficientes, você pode desenvolver nós personalizados. Como o n8n é de código aberto, a documentação para desenvolver nós também é bastante completa. Isso exige algum conhecimento de TypeScript e é mais indicado para quem já tem experiência com desenvolvimento.
O maior benefício de experimentar ferramentas de automação não é apenas o tempo economizado. Quando a máquina assume as tarefas repetitivas e irritantes, sobra espaço mental para pensar no que realmente importa. Se você enfrenta um problema parecido, vale testar o n8n — talvez seja a oportunidade de encontrar uma nova forma de ganhar eficiência.
Referências
- Documentação oficial do n8n
- Repositório de tutoriais do n8n em chinês
- Biblioteca de modelos do n8n
- Zhihu: introdução ao n8n para iniciantes
- Sspai: automação prática com n8n
Crie seu primeiro workflow no n8n
Crie do zero um workflow programado de alerta meteorológico
⏱️ Estimated time: 15 min
- 1
Step 1: Implante o ambiente do n8n
Escolha a forma de implantação:
• Versão em nuvem: cadastre-se no n8n.cloud e comece a usar
• Implantação local: comando Docker `docker run -p 5678:5678 n8nio/n8n`
• Lembre-se de adicionar o parâmetro `-v` para persistir os dados - 2
Step 2: Adicione um nó de gatilho
Configure o Schedule Trigger:
• Clique em '+' e procure por Schedule Trigger
• Defina Trigger Interval como Days
• Defina Trigger at Hour como 7 (todos os dias às 7h) - 3
Step 3: Adicione os nós de ação
Conecte OpenWeatherMap + Gmail:
• Configure a cidade e a API Key no OpenWeatherMap
• Configure destinatário, assunto e modelo de conteúdo no Gmail
• Use `{{ $json.weather }}` no conteúdo para referenciar os dados - 4
Step 4: Conecte os nós e teste
Conclua o workflow:
• Arraste as conexões entre os três nós
• Clique em Execute Workflow para testar
• Verifique se o e-mail chegou à caixa de entrada
FAQ
Qual é a diferença entre n8n e Zapier?
Quais serviços o n8n aceita?
Como os dados passam de um nó para outro?
Como depurar uma falha na execução do workflow?
Como evitar um loop infinito na sincronização bidirecional?
O n8n pode integrar modelos de IA?
14 min de leitura · Publicado em: 5 abr 2026 · Atualizado em: 4 set 2026
Guia prático n8n
Você está lendo o primeiro post desta série. Continue para o próximo ou abra o hub da série para ver toda a trilha.
Anterior
Você está no início desta série.
Próximo
n8n avançado na prática: gatilhos Webhook e ramificações condicionais com IF/Switch
Guia prático de Webhook no n8n: configure o nó de gatilho, projete ramificações condicionais com IF e Switch e crie um workflow orientado a eventos para processar pedidos com segurança.
Parte 2 de 3



Comentários
Entre com GitHub para comentar