n8n: guia completo para começar (com exemplos práticos)
n8n é a ferramenta que mudou o jogo da automação no Brasil nos últimos tempos. Veja por que e como começar hoje.
n8n é a Zapier open source que cresceu em ritmo acelerado para ser ignorada. Para qualquer um que monta automações, dominar n8n virou requisito. Este guia é o passo a passo que eu daria a um cliente que nunca abriu a ferramenta: o que é, como instalar (self-hosted ou cloud), construir o primeiro fluxo útil em pouco tempo, e três exemplos prontos que você pode adaptar para seu negócio rapidamente.
O que é n8n (e por que importa)
n8n é uma ferramenta de automação de fluxo de trabalho de código aberto. Pense nela como uma "cola digital" que conecta diferentes sistemas e aplicativos, permitindo que eles conversem entre si e executem tarefas automaticamente, sem intervenção humana. O nome significa "node-to-node", que já dá uma dica do seu funcionamento: você cria fluxos conectando nós (nodes) que representam ações ou eventos. Ela se destaca por ser um iPaaS (Integration Platform as a Service) com foco em "fair-code", o que significa que, embora seja de código aberto e permita total personalização, existe uma camada de negócios por trás para quem busca suporte ou funcionalidades específicas. Na prática, isso quer dizer que você tem a flexibilidade e o controle de uma solução open source, mas com a robustez e a comunidade que geralmente cercam projetos maiores. Para o seu negócio, n8n significa poder automatizar processos repetitivos que hoje consomem tempo e recursos. Desde a coleta de leads no site até a geração de relatórios, o n8n pode orquestrar essas tarefas. Imagine a equipe de vendas não ter que copiar manualmente dados de um formulário para o CRM. Ou receber um alerta instantâneo no WhatsApp quando o estoque de um produto crítico atinge o mínimo. Tudo isso é possível com n8n, e o grande diferencial é que você não fica preso a plataformas proprietárias que ditam como e o que você pode integrar. Para quem está iniciando com automação, um **n8n tutorial** bem feito é o primeiro passo para reduzir custos e aumentar a eficiência.Self-hosted vs cloud: qual escolher
Esta é uma decisão fundamental para começar com n8n, e depende muito da sua necessidade e capacidade técnica.n8n Self-hosted (Hospedagem própria):
É quando você instala e executa o n8n em seu próprio servidor, seja ele físico ou virtual (VPS, Azure, AWS, Google Cloud).
- Vantagens: Controle total sobre os dados, privacidade máxima, custos operacionais podem ser menores a longo prazo (pagará apenas pelo servidor), personalização profunda, e pode rodar em infraestrutura local para maior performance em certos casos.
- Desvantagens: Requer conhecimento técnico para instalação, configuração, manutenção, backups e atualizações. Você é responsável por tudo. Exige um investimento inicial de tempo e, potencialmente, de um profissional de TI.
n8n Cloud (Nuvem, gerenciada pela n8n.io):
É a versão SaaS (Software as a Service) do n8n, oferecida e gerenciada pela própria empresa n8n.io.
- Vantagens: Facilidade de uso e configuração zero. Você se cadastra, e começa a usar rapidamente. A n8n.io cuida da infraestrutura, segurança, manutenção e atualizações. Suporte direto e rápido. Ideal para quem não quer se preocupar com aspectos técnicos.
- Desvantagens: Custo recorrente que pode ser mais alto que um servidor self-hosted (dependendo do volume de operações). Menos flexibilidade para personalizações de infraestrutura e dependência de um terceiro.
Minha recomendação:
Se você está começando e quer validar a ferramenta sem dor de cabeça, ou se não tem uma equipe de TI dedicada, vá de n8n Cloud. É a forma mais rápida de ter um **n8n para iniciantes** funcionando em produção. Se você tem familiaridade com servidores, prioriza controle total sobre os dados ou planeja um uso intensivo com integrações muito específicas que podem demandar modificações no ambiente, o self-hosted pode ser a melhor escolha. Para este **n8n tutorial**, vou focar na lógica de construção dos fluxos, que é a mesma para ambas as versões.Primeiro fluxo em pouco tempo
Vamos criar um fluxo simples para ilustrar **n8n como usar**. Nosso objetivo será: toda vez que você receber um novo e-mail com um assunto específico, o n8n enviará uma notificação para um canal do Slack ou um grupo do Telegram.- Configuração Inicial:
- Acesse sua instância n8n (seja cloud ou self-hosted).
- No painel principal, clique em "Add Workflow" ou "New Workflow".
- Adicionar o Nó de E-mail (Trigger):
- Busque por "IMAP Email" na barra de busca de nós e adicione-o ao canvas. Este será o nosso trigger, o evento que inicia o fluxo.
- Configure suas credenciais de e-mail (servidor IMAP, porta, usuário, senha). O n8n precisará dessas informações para monitorar sua caixa de entrada.
- No campo "Search Criteria", adicione uma condição. Por exemplo, "Subject" "Contains" "IMPORTANTE". Assim, o n8n só ativará o fluxo para e-mails com essa palavra no assunto.
- Marque a opção "Run on Startup" e defina um intervalo de verificação regular.
- Testar o Trigger:
- Clique em "Execute Workflow" ou "Test Workflow" no nó do IMAP.
- Envie um e-mail para si mesmo com o assunto "IMPORTANTE: Teste n8n".
- O n8n deverá registrar um evento. Você verá a saída de dados do e-mail no painel à direita.
- Adicionar o Nó de Notificação (Action):
- Depois do nó do IMAP, adicione um nó de "Slack" ou "Telegram" (dependendo da sua preferência).
- Configure suas credenciais (API Token para Telegram, Webhook URL para Slack). O n8n tem instruções claras para cada um.
- No campo "Text" da mensagem, use as expressões para puxar dados do e-mail. Por exemplo, para Slack, poderia ser:
`Novo e-mail importante de: {{ $json.from.value[0].address }} Assunto: {{ $json.subject }} Data: {{ $json.date }}`
- Isso vai pegar o endereço do remetente, o assunto e a data do e-mail recebido e incluir na mensagem do Slack/Telegram.
- Testar o Fluxo Completo:
- Clique em "Execute Workflow" no nó de notificação.
- Envie um novo e-mail "IMPORTANTE: Segundo Teste n8n".
- Você deverá receber a notificação no Slack/Telegram.
- Ativar o Fluxo:
- No canto superior direito da tela, mude a chave de "Inativo" para "Ativo".
Exemplo 1: lead do site → CRM + WhatsApp
Este é um dos **n8n exemplos** mais solicitados e que gera valor real para equipes de vendas. O objetivo é pegar um lead preenchido num formulário do seu site, cadastrá-lo automaticamente no seu CRM e, em seguida, enviar uma notificação por WhatsApp para a equipe de vendas.- Trigger: Webhook
- Adicione um nó "Webhook". Configure-o para o método "POST". Este nó gerará uma URL única que você vai usar como "endpoint" no seu formulário do site. Sempre que alguém preencher e enviar o formulário, os dados serão enviados para essa URL.
- Após salvar, copie a URL do webhook. No seu formulário (Contact Form 7, Elementor Forms, Google Forms, etc.), configure-o para enviar os dados para essa URL via POST após o preenchimento.
- Execute o Webhook manualmente ou envie um formulário de teste para que o n8n capture a estrutura dos dados.
- Ação 1: CRM da empresa
- Adicione um nó do seu CRM (busque pelo nome do seu CRM no n8n, ou use "HTTP Request" se ele só tiver API REST).
- Configure suas credenciais.
- Use as expressões para mapear os dados do Webhook para os campos correspondentes no CRM. Por exemplo, nome do formulário (`{{ $json.nome }}`) vai para o campo "Name" do contato no CRM, e-mail (`{{ $json.email }}`) para "Email", etc.
- Crie o Deal/Oportunidade e vincule ao contato criado.
- Ação 2: WhatsApp (via API, e.g., Twilio, Z-API, ou soluções open-source como Venom ou Baileys)
- Adicione um nó de "HTTP Request" para se conectar à API do WhatsApp que você utiliza.
- Configure o método (geralmente POST) e a URL da API.
- No corpo da requisição (JSON), componha a mensagem que será enviada. Use as expressões para incluir dados do lead:
`{ "to": "55{{ $json.telefoneVendas }}", "body": "🚨 Novo Lead Quente! 🚨 Nome: {{ $json.nome }} Email: {{ $json.email }} Telefone: {{ $json.telefone }}" }`
- Certifique-se de que o número de telefone do vendedor está formatado corretamente para a API do WhatsApp.
Exemplo 2: classificação automática de mensagens com IA
Com a popularização das APIs de IA, como a do ChatGPT (OpenAI), é possível classificar e direcionar mensagens automaticamente. Imagine que você receba e-mails ou mensagens de formulários e precise saber se é um elogio, uma reclamação, uma sugestão ou um pedido de suporte.- Trigger: E-mail ou Webhook
- Use o nó "IMAP Email" (como no primeiro exemplo) para monitorar uma caixa de entrada específica de atendimento. Ou um "Webhook" se as mensagens vierem de um formulário de contato ou chat.
- Para o IMAP, você pode filtrar mensagens que chegam para um determinado endereço (ex: `atendimento@suaempresa.com.br`).
- Ação 1: Processamento com IA (OpenAI GPT)
- Adicione um nó "OpenAI Chat" (ou "OpenAI" para outras APIs).
- Configure suas credenciais da API da OpenAI.
- No campo "User Message Content", insira o texto do e-mail ou mensagem, pedindo para a IA classificá-lo. Por exemplo:
`Classifique o seguinte texto em uma das categorias: 'Elogio', 'Reclamação', 'Sugestão', 'Suporte Técnico', 'Comercial'. Responda apenas com a categoria. Texto: {{ $json.text }}`
- O nó vai retornar a classificação da IA, como "Reclamação" ou "Suporte Técnico".
- Ação 2: Roteamento Condicional (If)
- Adicione um nó "If".
- Configure a condição para verificar o resultado da IA. Por exemplo:
`{{ $('OpenAI Chat').data['0'].json.choices[0].message.content }} é igual a "Suporte Técnico"`
- Ação 3: Direcionamento (Slack, Trello, E-mail, etc.)
- Se a condição do "If" for verdadeira (por exemplo, "Suporte Técnico"), conecte-o a um nó "Slack" para enviar a mensagem para o canal de suporte. Ou um nó "Trello" para criar um card no board de suporte.
- Para outras categorias, crie outros "If" e direcione para os canais ou sistemas apropriados.
- Você pode até adicionar um passo para responder automaticamente com uma mensagem padrão, informando que a mensagem foi recebida e será encaminhada.
Exemplo 3: relatório semanal automatizado por e-mail
Organizar relatórios pode ser maçante e consumir um tempo considerável. Com n8n, você pode automatizar a coleta de dados de diversas fontes e o envio de um relatório consolidado.- Trigger: Schedule
- Adicione um nó "Schedule" (Agendamento).
- Configure-o para rodar semanalmente, em um dia e horário específico.
- Ação 1: Coleta de Dados (Google Sheets, Banco de Dados, APIs de Vendas/Marketing)
- Adicione um nó para cada fonte de dados. Por exemplo:
- "Google Sheets": Para puxar dados de vendas da última semana.
- "MySQL" ou "PostgreSQL": Para extrair dados de um banco de dados próprio.
- "HTTP Request": para acessar a API da sua plataforma de marketing automation e obter métricas de leads.
- Configure suas credenciais e as queries/filtros para pegar os dados do período desejado.
- Adicione um nó para cada fonte de dados. Por exemplo:
- Ação 2: Processamento e Formatação (Code, Spreadsheet File)
- Use um nó "Code" (JavaScript) para consolidar e formatar os dados de diferentes fontes em um único objeto JSON ou string HTML. Você pode somar valores, calcular médias, etc.
- Alternativamente, para um relatório mais visual, você pode usar um nó "Spreadsheet File" para criar um arquivo Excel/CSV com os dados coletados.
- Para quem precisa de ajuda com a parte de código, este **n8n tutorial** aqui não vai cobrir JS, mas a comunidade n8n é bem ativa.
- Ação 3: Envio de E-mail (SMTP Email)
- Adicione um nó "SMTP Email".
- Configure suas credenciais de e-mail (servidor SMTP, porta, usuário, senha).
- No campo "To", coloque os e-mails dos destinatários (time de vendas, diretoria, etc.).
- No "Subject", use algo como: `Relatório Semanal de Vendas - {{ (new Date()).toLocaleDateString('pt-BR') }}`.
- No "HTML Body" ou "Text Body", insira os dados formatados do nó anterior. Se você criou um arquivo Excel, anexe-o.
Erros de iniciante que fazem n8n falhar em produção
É comum cometer alguns erros no início, mas saber quais são pode poupar muita dor de cabeça.- Não testar os nós individualmente:
Sempre teste cada nó após configurá-lo, antes de conectar ao próximo. Isso garante que cada parte do seu fluxo esteja funcionando como esperado.
- Ignorar o tratamento de erros:
O que acontece se uma API externa retornar um erro? Ou se um dado estiver faltando? Use os nós "Error Trigger" e "Try/Catch" para criar rotas alternativas e notificar quando algo der errado. Um fluxo sem tratamento de erro é uma bomba relógio.
- Credenciais expostas no fluxo:
Nunca coloque chaves de API, senhas ou tokens diretamente nos nós. Use as "Credentials" do n8n. Elas são criptografadas e gerenciadas de forma mais segura. Isso é básico para qualquer **n8n tutorial** mais sério.
- Não usar a função "Stop and Save Workflow":
Ao desenvolver, muitas vezes você quer testar um pedaço do fluxo sem que ele continue executando ações que alteram dados reais. Use essa opção no nó para interromper a execução após um ponto específico.
- Agendar demais:
Não configure seu nó "Schedule" para rodar com uma frequência muito alta se a tarefa só precisa ser executada com menor regularidade. Isso consome recursos desnecessariamente e pode gerar chamadas excessivas a APIs externas, levando a bloqueios ou custos adicionais.
- Não ativar o fluxo:
Um erro básico, mas acontece. Depois de criar e testar seu fluxo, lembre-se de mudar a chave de "Inativo" para "Ativo" no canto superior direito. Caso contrário, ele não vai rodar automaticamente.
- Dados inconsistentes:
Muitas APIs esperam dados em formatos específicos (número, string, booleano, array). Use nós como "Set", "Function" ou "JSON" para transformar os dados e garantir que eles cheguem no formato correto ao próximo nó.
- Sobrestimar a capacidade do servidor para self-hosted:
Se você optou pelo self-hosted, certifique-se de que o servidor tem recursos (CPU, RAM) suficientes para a quantidade de fluxos e o volume de execuções que você planeja. Fluxos muito complexos ou com muitas execuções podem exigir mais.
Perguntas frequentes
n8n é gratuito?
Sim, em modo self-hosted. A versão cloud tem um custo.
Preciso saber programar para usar n8n?
Não para fluxos básicos. JavaScript ajuda para transformações de dados avançadas.
