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
| Tipo | Funcao | Exemplos |
|---|---|---|
| Trigger | Inicia o workflow | Cron, Webhook, Email |
| Action | Executa operacao | HTTP Request, Gmail, Slack |
| Transform | Processa dados | IF, Code, Set, Loop |
| Webhook | Escuta requisicoes | GET, 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.