kb.erickguedes.com
N8N: Automação Low-Code

Fundamentos dos Workflows

Aula 1 de 6

Instalação do N8N

O N8N pode ser instalado de três formas principais:

# Opcao 1: Docker (recomendado para producao)
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

# Opcao 2: NPX (rapido para testar)
npx n8n

# Opcao 3: Cloud (n8n.cloud)
# Acessar https://app.n8n.cloud e criar conta

Visão Geral da Interface

echo "=== Interface do N8N ==="
echo ""
echo "1. Canvas: Area central onde os workflows sao construidos"
echo "   - Arrastar nodes para conectar"
echo "   - Conectar saida de um node na entrada de outro"
echo ""
echo "2. Nodes Panel: Painel lateral esquerdo"
echo "   - Busca por nodes (Ctrl+F)"
echo "   - Categorias: Trigger, Action, Transform"
echo ""
echo "3. Editor: Painel lateral direito (ao clicar no node)"
echo "   - Configurar parametros do node"
echo "   - Testar execucao"
echo "   - Ver resultados"
echo ""
echo "4. Executions: Aba superior"
echo "   - Historico de execucoes"
echo "   - Logs detalhados"

Conceitos de Workflow

echo "=== Conceitos Fundamentais ==="
echo ""
echo "Workflow: Conjunto de nodes conectados"
echo "Trigger: Node que inicia o workflow"
echo "Action: Node que executa uma acao"
echo "Execution: Uma execucao do workflow"
echo "Item: Dado que trafega entre nodes"
echo ""
echo "Fluxo de execucao:"
echo "Trigger -> Node A -> Node B -> Node C -> Fim"
echo "                    |-> Node D -> Node E -> Fim"

Tipos de Node

TipoFuncaoExemplos
TriggerInicia o workflowCron, Webhook, Email
ActionExecuta operacaoHTTP Request, Gmail, Slack
TransformProcessa dadosIF, Code, Set, Loop
WebhookEscuta requisicoesGET, POST, PUT

Credentials Manager

echo "=== Gerenciamento de Credenciais ==="
echo ""
echo "Caminho: Settings > Credentials"
echo ""
echo "Tipos de autenticacao suportados:"
echo "- OAuth2 (Google, Slack, GitHub)"
echo "- API Key (HubSpot, Notion, Airtable)"
echo "- Basic Auth (bancos de dados)"
echo "- JWT (custom)"
echo "- Certificate (SFTP, LDAP)"
echo ""
echo "Boas praticas:"
echo "- Usar variaveis de ambiente para secrets"
echo "- Nao compartilhar credenciais entre ambientes"
echo "- Rotacionar keys periodicamente"

Lab: Primeiro Workflow

echo "=== Criando seu Primeiro Workflow ==="
echo ""
echo "Passo 1: Acessar http://localhost:5678"
echo "Passo 2: Clicar em 'New Workflow'"
echo "Passo 3: Adicionar node 'Manual Trigger'"
echo "  - Trigger manual para testar"
echo ""
echo "Passo 4: Adicionar node 'Set'"
echo "  - Mode: Manual Mapping"
echo "  - Values:"
echo "    - key: 'message'"
echo "    - value: 'Hello N8N!'"
echo ""
echo "Passo 5: Adicionar node 'Code'"
echo "  - Lang: JavaScript"
echo "  - Codigo:"
echo "    return items.map(item => ({"
echo "      json: { greeting: item.json.message + ' from Code' }"
echo "    }));"
echo ""
echo "Passo 6: Clicar em 'Execute Workflow'"
echo "  - Ver resultado no ultimo node"
echo "  - Salvar workflow"
cat > primeiro_workflow.json << 'EOF'
{
  "name": "Meu Primeiro Workflow",
  "nodes": [
    {
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [250, 300]
    },
    {
      "name": "Set Message",
      "type": "n8n-nodes-base.set",
      "position": [450, 300],
      "parameters": {
        "values": {
          "string": [
            { "name": "message", "value": "Hello N8N!" }
          ]
        }
      }
    }
  ],
  "connections": {
    "Manual Trigger": { "main": [[ { "node": "Set Message" } ]] }
  }
}
EOF

Workflows sao como pipelines de dados: cada node recebe, processa e passa dados adiante. O item e a unidade de informacao que viaja pelo pipeline.