Usar n8n com GitHub Actions significa criar automações escaláveis onde o GitHub gerencia eventos (push, PR, issues) e o n8n executa lógica de negócios sem servidor. Você envia um commit ao GitHub, o Actions dispara um workflow, que aciona o n8n via webhook para processar dados ou notificar sistemas. Isso reduz custos, elimina servidores próprios e acelera deploy de automações.

O n8n é uma plataforma open-source de automação low-code que conecta APIs, bancos de dados e serviços via nós (nodes). O GitHub Actions é um orquestrador de CI/CD que roda workflows em resposta a eventos da plataforma. Juntos, eles formam um pipeline onde o GitHub aciona e o n8n executa, ideal para automações de negócios, CI/CD de bots ou sincronização de dados.


O que é n8n e por que integrar com GitHub Actions?

O n8n é uma ferramenta open-source de automação que usa nós (nodes) para conectar APIs, serviços e bancos de dados sem código complexo. O GitHub Actions é uma plataforma de CI/CD que executa workflows em resposta a eventos do GitHub (push, PR, issues).

A integração permite que você use o GitHub como "cérebro" para disparar automações no n8n, reduzindo custos e aumentando escalabilidade. Por exemplo: um commit na branch main aciona um workflow no Actions, que envia um webhook para o n8n processar um relatório e notificar o Slack.

Benefícios principais:

  • Elimina servidores para rodar automações diárias;
  • Automatiza deploy de bots ou fluxos de negócios;
  • Reduz custos ao usar minutos gratuitos do GitHub Actions;
  • Centraliza logs e monitoramento no GitHub.

Curiosidade: você pode usar o n8n self-hosted ou na nuvem, mas o GitHub Actions sempre roda na infraestrutura do GitHub, o que simplifica a manutenção.

Veja também como gerar imagens com IA grátis para complementar seus workflows.


Pré-requisitos: Configurando ambiente para n8n + GitHub Actions

Para integrar n8n com GitHub Actions, você precisa:

  • Conta no GitHub (pública ou privada);
  • n8n self-hosted (em um servidor ou Docker) ou n8n Cloud;
  • Chaves de API (se seu workflow usar serviços externos);
  • Conhecimento básico de YAML para escrever workflows;
  • Webhook configurado no n8n para receber requisições do GitHub.

Compare as opções de n8n:

Opção Custo Facilidade de uso Casos de uso Manutenção
n8n Cloud R$ 20–R$ 200/mês Fácil (gerenciado) Automações simples, testes Zero (n8n cuida)
n8n Self-Hosted R$ 0–R$ 50/mês (servidor) Médio (você gerencia) Automações avançadas, privacidade Alta (Docker, atualizações)
n8n no GitHub Actions R$ 0–R$ 10/mês (minutos gratuitos) Fácil (workflow YAML) Automações rápidas, CI/CD Baixa (GitHub gerencia)

Dica: se você já usa Docker, o self-hosted é a melhor opção para automações complexas. Para testes ou automações simples, o n8n Cloud ou o GitHub Actions são suficientes.


Passo a passo: Criando seu primeiro workflow n8n no GitHub Actions

Este tutorial cria um workflow que aciona o n8n via webhook quando um commit é feito na branch main, enviando uma notificação para o Slack.

1. Configure um webhook no n8n

Abra seu n8n (self-hosted ou cloud) e crie um workflow com um nó Webhook. Copie a URL do webhook (ex: https://seu-n8n.com/webhook/teste-webhook).

2. Crie um workflow no GitHub Actions

No seu repositório, crie o arquivo .github/workflows/n8n-webhook.yml com o seguinte conteúdo:

yaml name: Acionar n8n via Webhook on: push: branches: [ main ]

jobs: acionar-n8n: runs-on: ubuntu-latest steps: - name: Enviar webhook para n8n run: | curl -X POST
-H “Content-Type: application/json”
-d ’{“mensagem”: “Novo commit na main!”}’
${{ secrets.N8N_WEBHOOK_URL }}

Explicação das linhas principais:

  • on: push: branches: [ main ] → Dispara quando há um commit na branch main;
  • runs-on: ubuntu-latest → Executa no runner do GitHub Actions;
  • ${{ secrets.N8N_WEBHOOK_URL }} → URL do webhook armazenada como segredo;
  • curl -X POST → Envia uma requisição HTTP para o n8n.

3. Configure o segredo no GitHub

Vá em Settings > Secrets and variables > Actions do seu repositório e adicione um novo segredo chamado N8N_WEBHOOK_URL com o valor da URL do webhook do n8n.

4. Teste o workflow

Faça um commit na branch main com a mensagem "Teste n8n". Vá em Actions do seu repositório para ver o workflow executando. No n8n, você verá a execução do workflow com os dados recebidos.

Resultado esperado: uma notificação no Slack (se seu nó n8n estiver configurado para isso) ou qualquer ação que você tenha definido no workflow.


Como acionar n8n via eventos do GitHub (push, PR, issues)

O GitHub Actions permite disparar workflows em resposta a eventos como push, pull_request, issues ou até workflow_dispatch (manual). Você filtra eventos com condições no YAML.

Eventos suportados e exemplos

Evento Descrição Exemplo de uso
push Commit feito em uma branch ou tag Validar código antes de mergear
pull_request PR aberto, atualizado ou fechado Rodar testes automáticos em PRs
issues Issue aberta ou comentada Notificar equipe quando uma issue é criada
workflow_dispatch Disparo manual via API ou botão Rodar automação sob demanda

Exemplo: Workflow para validar PRs

Crie o arquivo .github/workflows/validar-pr.yml:

yaml name: Validar PR com n8n on: pull_request: types: [opened, synchronize]

jobs: validar-pr: runs-on: ubuntu-latest steps: - name: Acionar n8n para validar PR run: | curl -X POST
-H “Content-Type: application/json”
-d ’{“pr_url”: ”${{ github.event.pull_request.html_url }}”}’
${{ secrets.N8N_PR_VALIDATION_WEBHOOK }}

Detalhes:

  • types: [opened, synchronize] → Roda quando um PR é aberto ou atualizado;
  • ${{ github.event.pull_request.html_url }} → Envia a URL do PR para o n8n;
  • secrets.N8N_PR_VALIDATION_WEBHOOK → URL do webhook para validação de PR.

No n8n, você pode usar nós como HTTP Request para validar o PR com APIs externas (ex: SonarQube, Linters).

Veja também como transcrever áudio com IA grátis para integrar ao seu workflow.

Automação avançada: n8n + GitHub Actions para CI/CD de negócios

A integração n8n + GitHub Actions vai além de notificações: você automatiza deploy de bots, gera relatórios dinâmicos, sincroniza dados entre sistemas e valida código em tempo real. O GitHub dispara eventos, o n8n processa a lógica e os resultados são enviados para terceiros (Slack, Notion, APIs).

Exemplo prático: um commit na branch main aciona um workflow que:

  1. Faz deploy automático de um bot no Telegram;
  2. Gera um relatório de vendas em PDF;
  3. Envia o PDF para o Google Drive;
  4. Notifica o time no Slack com os resultados.

Nós essenciais do n8n para CI/CD:

Node Função Exemplo de uso
Webhook Recebe dados do GitHub Actions Processar payload de push/PR
HTTP Request Chama APIs externas (Slack, Notion, etc.) Enviar notificação ou buscar dados
Function Processa dados com JavaScript Filtrar itens de um array ou calcular métricas
Schedule Trigger Agenda execuções periódicas Gerar relatórios diários
Spreadsheet File Manipula arquivos CSV/Excel Sincronizar dados com Google Sheets
Email Envia e-mails com anexos Enviar relatórios por e-mail

Curiosidade: você pode usar o nó Function para transformar dados antes de enviá-los para APIs. Por exemplo, converter uma data do formato ISO para "DD/MM/AAAA" antes de notificar o Slack.


Segurança: Gerenciando segredos e permissões no GitHub Actions

O GitHub Secrets é o lugar certo para armazenar chaves de API, tokens e credenciais. Nunca hardcode esses valores no YAML: use ${{ secrets.NOME_DO_SEGREDO }} para acessá-los de forma segura.

Boas práticas para segurança:

  • Use environment variables para separar segredos por ambiente (dev, prod);
  • Restrinja permissões dos workflows com permissions: no YAML;
  • Crie segredos específicos para cada serviço (ex: SLACK_TOKEN, GOOGLE_API_KEY);
  • Revise periodicamentes os segredos ativos no repositório;
  • Use GitHub OIDC para autenticar com provedores de nuvem (AWS, GCP) sem tokens permanentes.

Exemplo de YAML com permissões restritas:

yaml name: Deploy seguro on: push permissions: contents: read id-token: write jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: us-east-1

Detalhes:

  • permissions: contents: read → Permite apenas leitura do repositório;
  • id-token: write → Permite usar OIDC para autenticar na AWS;
  • secrets.AWS_ROLE_ARN → ARN da role IAM armazenada como segredo.

Curiosidade: o GitHub Actions tem um limite de 100 segredos por repositório. Para projetos grandes, use organizations e environment secrets para organizar melhor.


Custos e otimização: Quanto custa rodar n8n no GitHub Actions?

O custo depende do plano do GitHub e da frequência de execução. Contas públicas têm 2.000 minutos gratuitos/mês, enquanto contas privadas têm 50.000 minutos. Cada job conta como 1 minuto, independentemente da duração real.

Tabela de custos comparativos (valores aproximados em R$):

Serviço Plano Custo (R$/mês) Minutos inclusos Custo adicional
GitHub Actions Pública R$ 0 2.000 R$ 0,001/min (acima de 2.000)
Privada (Team) R$ 40 50.000 R$ 0,001/min (acima de 50.000)
Privada (Enterprise) R$ 200+ 50.000+ Personalizado
n8n Cloud Starter R$ 20 R$ 0,05/execução extra
Pro R$ 100 R$ 0,20/execução extra
n8n Self-Hosted Docker/servidor R$ 0–R$ 50 Custo do servidor

Dicas para otimizar custos:

  • Reutilize jobs com needs: para evitar execuções redundantes;
  • Use caches para armazenar dependências e acelerar jobs;
  • Limite execuções com if: no YAML (ex: só rodar em branches específicas);
  • Monitore o uso em Settings > Actions > Usage;
  • Para automações longas, considere o n8n self-hosted ou Cloud.

Exemplo de cache para acelerar um job:

yaml

  • name: Cache de dependências uses: actions/cache@v3 with: path: | node_modules .npm key: ${{ runner.os }}-npm-${{ hashFiles(‘package-lock.json’) }}

Curiosidade: se seu workflow usa Docker, você pode reduzir o tempo de execução armazenando uma imagem pré-build no GitHub Container Registry (GHCR) e reutilizando-a.


Erros comuns e como resolvê-los no n8n + GitHub Actions

Problemas frequentes e soluções diretas:

Erro Causa provável Solução
Webhook timeout n8n demora mais de 30s para responder Reduza a carga no workflow ou aumente o timeout no nó Webhook
403 Forbidden Permissões insuficientes no segredo ou URL inválida Verifique ${{ secrets.N8N_WEBHOOK_URL }} e permissões do repositório
Variáveis não carregadas Segredo não está no GitHub Secrets ou nome errado Confira se o segredo existe e está nomeado corretamente no YAML
n8n não recebe dados Payload do GitHub não está no formato esperado Use ${{ toJSON(github.event) }} para debugar o payload
Workflow não dispara Evento ou branch mal configurado no YAML Verifique on: push: branches: [ main ] e eventos suportados
Curl falha com SSL URL do webhook usa HTTPS mas não tem certificado válido Use curl -k para ignorar (não recomendado) ou corrija o certificado

Para debugar:

  • Veja os logs do workflow em Actions > [Workflow] > [Run];
  • Use echo "${{ secrets.N8N_WEBHOOK_URL }}" para verificar segredos;
  • Teste o webhook manualmente com curl -v para ver detalhes;
  • Ative debug logging no n8n para logs detalhados.

Documentação oficial do n8n para troubleshooting: docs.n8n.io

Perguntas frequentes sobre usar n8n com GitHub Actions

Como instalar o n8n no GitHub Actions?

Você não instala o n8n diretamente no GitHub Actions, mas sim executa workflows que acionam um n8n self-hosted ou na nuvem via webhook. O GitHub Actions age como orquestrador, enquanto o n8n processa a lógica de automação em um servidor externo ou na nuvem.

Preciso pagar para usar n8n com GitHub Actions?

Não necessariamente. O GitHub Actions oferece minutos gratuitos (2.000 para contas públicas, 50.000 para privadas), e o n8n pode ser self-hosted (gratuito) ou na nuvem (planos a partir de R$20/mês). Os custos dependem da complexidade do workflow e do plano do n8n escolhido.

Quais são os custos de rodar n8n no GitHub Actions?

Os custos são basicamente os minutos do GitHub Actions (R$0,001/minuto acima do limite gratuito) e o custo do n8n (R$0 para self-hosted, R$20–R$200/mês para n8n Cloud). Para automações simples, o custo pode ser zero; para workflows frequentes, pode chegar a R$50–R$100/mês.

Posso usar n8n self-hosted com GitHub Actions?

Sim, é uma combinação poderosa. Você hospeda o n8n em um servidor ou Docker e usa o GitHub Actions para disparar workflows que acionam o n8n via webhook. Isso é ideal para automações avançadas ou que exigem privacidade.

Como configurar um webhook no n8n para acionar pelo GitHub?

No n8n, crie um workflow com um nó Webhook. Copie a URL gerada (ex: https://seu-n8n.com/webhook/teste) e armazene-a como segredo no GitHub Actions. No workflow do GitHub, use um step com curl para enviar dados para essa URL sempre que um evento ocorrer.

Quais são os limites de execução do GitHub Actions para n8n?

Contas públicas têm 2.000 minutos gratuitos/mês, e privadas têm 50.000 minutos. Cada job conta como 1 minuto, independentemente da duração real. Workflows longos ou frequentes podem exceder esses limites e gerar custos adicionais (R$0,001/minuto).

Como armazenar segredos (API keys) no GitHub Actions para n8n?

Vá em Settings > Secrets and variables > Actions do seu repositório e adicione segredos como SLACK_TOKEN ou N8N_WEBHOOK_URL. No YAML do workflow, acesse-os com ${{ secrets.NOME_DO_SEGREDO }}. Nunca hardcode segredos no arquivo de workflow.

Posso agendar workflows no n8n via GitHub Actions?

Sim, você pode agendar workflows no GitHub Actions usando o evento schedule no YAML (ex: on: schedule: - cron: '0 9 * * *'). O GitHub disparará o workflow na hora agendada, e o n8n processará a lógica. Também é possível agendar diretamente no n8n usando o nó Schedule Trigger.

Automação sem limites: o futuro é agora

Integrar n8n com GitHub Actions transforma automações manuais em pipelines escaláveis, onde o GitHub gerencia eventos e o n8n executa lógica de negócios sem servidor. Você elimina servidores próprios, reduz custos com minutos gratuitos do GitHub Actions e ganha flexibilidade para criar workflows de CI/CD, notificações ou sincronização de dados. Seja para deploy de bots, geração de relatórios ou validação de código, essa combinação oferece o melhor dos dois mundos: confiabilidade do GitHub e poder de automação do n8n.

Resumo rápido para começar hoje:

  • Configure um webhook no n8n para receber dados do GitHub;
  • Crie um workflow no GitHub Actions com YAML para disparar em eventos (push, PR, issues);
  • Armazene segredos no GitHub Secrets para segurança;
  • Teste e otimize com logs e caches para reduzir custos;
  • Expanda com nós avançados do n8n (Function, HTTP Request, Schedule).

Pronto para automatizar? Explore mais tutoriais na categoria Automação com n8n e descubra como levar seus processos para o próximo nível!

{ “@context”: “https://schema.org”, “@graph”: [ { “@type”: “FAQPage”, “name”: “n8n com GitHub Actions: Perguntas Frequentes”, “description”: “Respostas rápidas sobre integração de n8n com GitHub Actions para automações CI/CD e workflows de negócios.”, “inLanguage”: “pt-BR”, “mainEntity”: [ { “@type”: “Question”, “name”: “Como instalar o n8n no GitHub Actions?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Você não instala o n8n diretamente no GitHub Actions, mas sim executa workflows que acionam um n8n self-hosted ou na nuvem via webhook. O GitHub Actions age como orquestrador, enquanto o n8n processa a lógica de automação em um servidor externo ou na nuvem.” } }, { “@type”: “Question”, “name”: “Preciso pagar para usar n8n com GitHub Actions?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Não necessariamente. O GitHub Actions oferece minutos gratuitos (2.000 para contas públicas, 50.000 para privadas), e o n8n pode ser self-hosted (gratuito) ou na nuvem (planos a partir de R$20/mês). Os custos dependem da complexidade do workflow e do plano do n8n escolhido.” } }, { “@type”: “Question”, “name”: “Quais são os custos de rodar n8n no GitHub Actions?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Os custos são basicamente os minutos do GitHub Actions (R$0,001/minuto acima do limite gratuito) e o custo do n8n (R$0 para self-hosted, R$20–R$200/mês para n8n Cloud). Para automações simples, o custo pode ser zero; para workflows frequentes, pode chegar a R$50–R$100/mês.” } }, { “@type”: “Question”, “name”: “Posso usar n8n self-hosted com GitHub Actions?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Sim, é uma combinação poderosa. Você hospeda o n8n em um servidor ou Docker e usa o GitHub Actions para disparar workflows que acionam o n8n via webhook. Isso é ideal para automações avançadas ou que exigem privacidade.” } }, { “@type”: “Question”, “name”: “Como configurar um webhook no n8n para acionar pelo GitHub?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “No n8n, crie um workflow com um nó Webhook. Copie a URL gerada (ex: https://seu-n8n.com/webhook/teste) e armazene-a como segredo no GitHub Actions. No workflow do GitHub, use um step com curl para enviar dados para essa URL sempre que um evento ocorrer.” } }, { “@type”: “Question”, “name”: “Quais são os limites de execução do GitHub Actions para n8n?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Contas públicas têm 2.000 minutos gratuitos/mês, e privadas têm 50.000 minutos. Cada job conta como 1 minuto, independentemente da duração real. Workflows longos ou frequentes podem exceder esses limites e gerar custos adicionais (R$0,001/minuto).” } }, { “@type”: “Question”, “name”: “Como armazenar segredos (API keys) no GitHub Actions para n8n?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Vá em Settings > Secrets and variables > Actions do seu repositório e adicione segredos como SLACK_TOKEN ou N8N_WEBHOOK_URL. No YAML do workflow, acesse-os com ${{ secrets.NOME_DO_SEGREDO }}. Nunca hardcode segredos no arquivo de workflow.” } }, { “@type”: “Question”, “name”: “Posso agendar workflows no n8n via GitHub Actions?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Sim, você pode agendar workflows no GitHub Actions usando o evento schedule no YAML (ex: on: schedule: - cron: ‘0 9 * * *’). O GitHub disparará o workflow na hora agendada, e o n8n processará a lógica. Também é possível agendar diretamente no n8n usando o nó Schedule Trigger.” } } ] }, { “@type”: “Article”, “headline”: “Como usar n8n com GitHub Actions: Guia Prático para Automações”, “description”: “Aprenda passo a passo como integrar n8n com GitHub Actions para automações CI/CD, webhooks e workflows escaláveis. Guia prático para iniciantes.”, “inLanguage”: “pt-BR”, “author”: { “@type”: “Organization”, “name”: “Automação.Art” }, “publisher”: { “@type”: “Organization”, “name”: “Automação.Art”, “logo”: { “@type”: “ImageObject”, “url”: “https://automacao.art.br/logo.png” } }, “datePublished”: “2024-06-20”, “dateModified”: “2024-06-20”, “mainEntityOfPage”: { “@type”: “WebPage”, “@id”: “https://automacao.art.br/n8n-com-github-actions-tutorial” } }, { “@type”: “HowTo”, “name”: “Tutorial passo a passo: Integrar n8n com GitHub Actions”, “description”: “Guia completo para criar automações escaláveis usando n8n e GitHub Actions, com exemplos práticos de YAML e webhooks.”, “inLanguage”: “pt-BR”, “step”: [ { “@type”: “HowToStep”, “name”: “Configure um webhook no n8n”, “text”: “Abra seu n8n (self-hosted ou cloud) e crie um workflow com um nó Webhook. Copie a URL do webhook gerada para usar no GitHub Actions.”, “url”: “https://automacao.art.br/n8n-com-github-actions-tutorial#1-configure-um-webhook-no-n8n” }, { “@type”: “HowToStep”, “name”: “Crie um workflow no GitHub Actions”, “text”: “No seu repositório, crie o arquivo .github/workflows/n8n-webhook.yml com um job que usa curl para enviar dados para o webhook do n8n quando um commit é feito na branch main.”, “url”: “https://automacao.art.br/n8n-com-github-actions-tutorial#2-crie-um-workflow-no-github-actions” }, { “@type”: “HowToStep”, “name”: “Configure o segredo no GitHub”, “text”: “Vá em Settings > Secrets and variables > Actions do seu repositório e adicione um novo segredo chamado N8N_WEBHOOK_URL com o valor da URL do webhook do n8n.”, “url”: “https://automacao.art.br/n8n-com-github-actions-tutorial#3-configure-o-segredo-no-github” }, { “@type”: “HowToStep”, “name”: “Teste o workflow”, “text”: “Faça um commit na branch main e verifique o workflow executando em Actions > [Workflow]. No n8n, você verá a execução com os dados recebidos.”, “url”: “https://automacao.art.br/n8n-com-github-actions-tutorial#4-teste-o-workflow” } ] } ] }

Quer mais sobre o assunto? Veja todos os artigos de Ferramentas de IA ou a lista completa de artigos.