Alternar tema

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

Easton editorial illustration: one central automation rail with trigger, transform, and action nodes

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 7h
  • Webhook: acionamento externo, como o recebimento de uma requisição HTTP
  • Manual 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 dados
  • Set: transforma dados, altera nomes de campos ou ajusta a formatação
  • Gmail / 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ções
  • Switch: 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:

  1. Identificador único: os dois lados precisam ter um campo único, como taskId, para verificar se os registros representam a mesma tarefa
  2. 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
  3. 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ó Set para 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

Crie seu primeiro workflow no n8n

Crie do zero um workflow programado de alerta meteorológico

⏱️ Estimated time: 15 min

  1. 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. 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. 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. 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?
O n8n é gratuito e de código aberto, pode ser hospedado por você e mantém os dados sob seu controle. O Zapier é um serviço comercial em nuvem, com mais recursos nos planos pagos, mas armazena os dados em uma infraestrutura de terceiros. Para cenários com dados sensíveis, a hospedagem própria do n8n é uma boa opção.
Quais serviços o n8n aceita?
O n8n inclui mais de 400 nós para serviços populares, como Gmail, Slack, Notion, GitHub, OpenAI e vários bancos de dados. Para um serviço sem nó próprio, você pode chamar a API por meio do nó HTTP Request.
Como os dados passam de um nó para outro?
Os dados circulam em formato JSON, e você usa `{{ $json.fieldName }}` para referenciar os dados de um nó anterior. No editor do nó, digite `{{ $json.` para ver as sugestões no menu suspenso.
Como depurar uma falha na execução do workflow?
Consulte o histórico em Executions. O nó que falhou aparecerá em vermelho. Clique nele para ver a mensagem de erro e os dados de saída. Os problemas mais comuns são timeout da API, formato de dados incompatível e credenciais expiradas.
Como evitar um loop infinito na sincronização bidirecional?
Adicione um campo identificador único, como taskId, e use um nó If para verificar a origem dos dados. Antes de atualizar, confira a marcação de origem para não iniciar outra sincronização. Outra opção é usar um nó Merge para combinar os resultados e processá-los uma só vez.
O n8n pode integrar modelos de IA?
Sim. O n8n tem um nó AI Agent compatível com modelos como OpenAI e Claude. Basta configurar a API Key, o System Prompt e a Memory. Ele é útil em cenários como atendimento inteligente e geração de conteúdo.

14 min de leitura · Publicado em: 5 abr 2026 · Atualizado em: 4 set 2026

Comentários

Entre com GitHub para comentar

Easton BlogEaston Blog