n8n

Apostila Completa n8n

Automação de Workflows

1. Introdução ao n8n

O que é o n8n?

O n8n é uma plataforma de automação de fluxos de trabalho (workflows) que permite criar integrações entre diferentes serviços, aplicativos e APIs sem a necessidade de codificação extensiva, através de uma interface visual de arrastar e soltar (drag and drop).

🚀 Principais Características

Interface Visual

Editor drag-and-drop intuitivo para criar workflows complexos sem programação.

Open Source

Código aberto com comunidade ativa e extensibilidade completa.

350+ Integrações

Conecta com centenas de serviços populares como Google, Slack, GitHub, etc.

Self-hosted

Controle total dos seus dados com hospedagem própria.

🎯 Casos de Uso Comuns

  • Automação de processos de negócios
  • Sincronização de dados entre aplicativos
  • Notificações automáticas e alertas
  • Processamento de dados e ETL
  • Integrações de CRM e marketing
  • Monitoramento e relatórios automatizados

2. Conceitos Fundamentais

🔄 Workflow (Fluxo de Trabalho)

Um workflow é uma sequência de tarefas automatizadas que processa dados de um ponto inicial até um resultado final.

Exemplo: Trigger → Processar dados → Enviar email → Salvar no banco

🔗 Node (Nó)

Um node é um bloco individual de funcionalidade em um workflow. Cada node realiza uma ação específica.

Trigger Nodes
Iniciam workflows
Regular Nodes
Processam dados
Output Nodes
Enviam resultados

📊 Execução

Uma execução representa uma única passagem de dados através do workflow, desde o trigger até a conclusão.

🔧 Credenciais

Sistema de autenticação para conectar com serviços externos de forma segura (API keys, OAuth, etc.).

3. Instalação e Configuração

🪟 Instalação no Windows com Docker

1. Instalar Docker Desktop

Baixe e instale o Docker Desktop:

🔗 Docker Desktop para Windows

Após instalar, verifique se o Docker está funcionando:

docker --version

2. Execução Rápida (Teste)

Para testar rapidamente sem salvar dados:

docker run -it --rm --name n8n -p 5678:5678 n8nio/n8n

⚠️ Atenção: Os dados serão perdidos ao fechar o terminal.

3. Execução com Persistência

Crie uma pasta para salvar os dados:

mkdir C:\n8n

Execute o n8n com persistência:

docker run -it --rm --name n8n -p 5678:5678 -v C:\n8n:/home/node/.n8n n8nio/n8n

4. Docker Compose (Recomendado)

Crie um arquivo docker-compose.yml:

version: "3.8" services: n8n: image: n8nio/n8n restart: always ports: - "5678:5678" environment: - N8N_HOST=localhost - N8N_PORT=5678 - N8N_PROTOCOL=http - NODE_ENV=production - WEBHOOK_URL=http://localhost:5678/ volumes: - ./n8n_data:/home/node/.n8n

Inicie com:

docker compose up -d

🐳 Método 1: Docker (Multiplataforma)

# Instalar via Docker (Linux/Mac) docker run -it --rm --name n8n -p 5678:5678 n8nio/n8n # Com persistência de dados (Linux/Mac) docker run -it --rm --name n8n -p 5678:5678 \ -v ~/.n8n:/home/node/.n8n n8nio/n8n

📦 Método 2: npm

# Instalar globalmente npm install -g n8n # Executar n8n start

☁️ Método 3: n8n Cloud

Para começar rapidamente sem instalação:

🚀 Acessar n8n Cloud

Plano gratuito disponível com 5.000 execuções por mês

⚙️ Configurações Importantes

Variáveis de Ambiente

N8N_HOST=localhost N8N_PORT=5678 N8N_PROTOCOL=http WEBHOOK_URL=http://localhost:5678/ NODE_ENV=production

Banco de Dados

Por padrão usa SQLite, mas suporta PostgreSQL e MySQL para produção:

DB_TYPE=postgresdb DB_POSTGRESDB_HOST=localhost DB_POSTGRESDB_PORT=5432 DB_POSTGRESDB_DATABASE=n8n DB_POSTGRESDB_USER=n8n DB_POSTGRESDB_PASSWORD=n8n

✅ Resumo pessoal

Para acessar localmente, faça:

D:\n8n>

Restart-Service com.docker.service

http://localhost:5678/setup

-----------

projetospython2025@gmail.com

Projetos

Python

pass (strong)

-----------

✅ Acesso Local

Após a instalação, acesse: http://localhost:5678

4. Primeiros Passos

🎯 Acessando a Interface

Após a instalação, acesse http://localhost:5678 no seu navegador para abrir a interface do n8n.

👤 Primeiro Login

  1. Crie sua conta de administrador
  2. Configure as preferências básicas
  3. Explore a interface principal

🔍 Interface Principal

Canvas

Área principal onde você constrói workflows arrastando e conectando nodes.

Painel de Nodes

Lista de todos os nodes disponíveis, organizados por categoria.

Painel de Dados

Visualiza os dados que fluem entre os nodes durante a execução.

Histórico de Execuções

Lista todas as execuções do workflow com status e logs.

5. Nodes Essenciais

🔔 Trigger Nodes

Webhook

Recebe dados via HTTP POST/GET. Ideal para integrações em tempo real.

Cron

Executa workflows em horários específicos usando expressões cron.

Manual Trigger

Permite executar workflows manualmente para testes.

Email Trigger

Inicia workflow quando recebe emails específicos.

⚙️ Core Nodes

HTTP Request

Faz chamadas para APIs REST. Suporta todos os métodos HTTP e autenticação.

Set

Manipula e transforma dados, criando novos campos ou modificando existentes.

IF

Cria condições lógicas para dividir o fluxo em diferentes caminhos.

Code

Executa JavaScript personalizado para lógicas complexas.

🔗 Nodes de Integração Populares

Google Sheets

Lê/escreve planilhas

Slack

Envia mensagens

Gmail

Envia/recebe emails

Discord

Bot e mensagens

GitHub

Issues, PRs, repos

Notion

Databases e páginas

6. Exemplos Práticos

📝 Exemplo 1: Monitor de Website

Objetivo: Monitorar se um site está online

1 Cron Trigger: A cada 5 minutos
2 HTTP Request: GET para o site
3 IF: Status code != 200?
4 Slack: Enviar alerta de site fora do ar

📊 Exemplo 2: Backup Automático de Dados

Objetivo: Fazer backup diário de dados do Google Sheets

1 Schedule Trigger: Todo dia às 2h
2 Google Sheets: Ler dados da planilha
3 JSON: Converter dados para JSON
4 Google Drive: Salvar arquivo com timestamp

🤖 Exemplo 3: Bot de Notificações GitHub

Objetivo: Notificar equipe sobre novos Pull Requests

1 Webhook: GitHub webhook para PRs
2 Set: Extrair dados relevantes do PR
3 IF: É um novo PR?
4 Discord: Enviar mensagem formatada

7. Recursos Avançados

🔄 Sub-workflows

Permite reutilizar workflows como componentes em outros workflows, facilitando a modularização e manutenção.

🎭 Expressions e Funções

// Acessar dados do node anterior {{ $json.campo }} // Usar funções built-in {{ $now.format('YYYY-MM-DD') }} // Operações matemáticas {{ $json.valor * 1.1 }} // Condições {{ $json.status === 'ativo' ? 'Sim' : 'Não' }}

🔀 Switch Node

Direciona o fluxo para diferentes caminhos baseado em múltiplas condições, mais poderoso que o IF simples.

⚡ Error Handling

Try/Catch

Use o Error Trigger para capturar erros e definir ações de recuperação.

Retry Settings

Configure tentativas automáticas em caso de falha temporária.

8. Melhores Práticas

📋 Organização

  • Nomes descritivos: Use nomes claros para workflows e nodes
  • Documentação: Adicione notas explicativas em workflows complexos
  • Versionamento: Faça backup dos workflows importantes
  • Estrutura modular: Divida workflows grandes em sub-workflows

🔒 Segurança

  • Use credenciais seguras, nunca hardcode tokens
  • Configure HTTPS em produção
  • Limite permissões de usuários
  • Monitore logs de execução
  • Use webhooks seguros com verificação

⚡ Performance

✅ Faça

  • Use paginação para grandes datasets
  • Implemente timeouts apropriados
  • Cache dados quando possível
  • Use batch operations

❌ Evite

  • Loops infinitos
  • Execuções muito frequentes
  • Processar dados desnecessários
  • Rate limits de APIs

9. Solução de Problemas

🐛 Problemas Comuns

Erro: "Connection timed out"

Causa: API lenta ou não responsiva

Solução: Aumente o timeout ou implemente retry

Erro: "Rate limit exceeded"

Causa: Muitas requisições para a API

Solução: Implemente delays entre requisições

Workflow não executa

Causa: Trigger mal configurado

Solução: Verifique credenciais e configurações do trigger

🔍 Debugging

  • Use o Execute Node para testar nodes individuais
  • Verifique o painel de dados para ver o fluxo de informações
  • Consulte o histórico de execuções para erros detalhados
  • Use console.log no Code node para debug

10. Recursos Adicionais

📚 Documentação e Comunidade

🛠️ Ferramentas Complementares

Postman: Teste APIs antes de usar no n8n 🔗
ngrok: Exponha localhost para webhooks 🔗
Webhook.site: Teste webhooks facilmente 🔗

🎉 Parabéns!

Você agora possui conhecimento fundamental para começar a automatizar workflows com n8n. Comece com exemplos simples e gradualmente construa automações mais complexas. A prática é a melhor forma de dominar a plataforma!