Depois de construir 50+ automações, aqui está quando escolho cada ferramenta - e quando não escolho.
Toda semana alguém me pergunta: "Devo usar n8n, Make.com ou simplesmente escrever código para isso?" A resposta honesta é que cada um ganha em situações específicas, e escolher errado custa tempo, dinheiro ou ambos. Eu cometi todos os três erros. Este guia é o que eu gostaria de ter antes de começar.
Vou apresentar cenários reais, estruturas de custo e o framework mental exato que uso para escolher a ferramenta certa em menos de cinco minutos.
Veredito Rápido
Se você está com pressa:
- Make.com - pensadores visuais, equipes de marketing, 1-100 cenários com complexidade moderada, orçamento abaixo de $50/mês
- n8n - fundadores técnicos, lógica complexa, preocupações com privacidade de dados, alto volume, eficiência de custo a longo prazo
- Código customizado - lógica única que nenhuma plataforma suporta, requisitos máximos de performance, ou quando a automação é parte central do seu produto
Agora vamos aprofundar.
Comparação de Funcionalidades
| Funcionalidade | n8n | Make.com | Código Customizado |
|---|---|---|---|
| Builder visual | Sim | Sim (melhor) | Não |
| JS/Python customizado | Suporte total | Limitado | Nativo |
| Tratamento de erros | Avançado | Básico | Controle total |
| Agendamento | Nativo | Nativo | Sua infraestrutura |
| Nodes de IA/LLM | Nativo | Via HTTP | Você constrói |
| Self-hosting | Sim (open source) | Não | Sim |
| Debugging | Bom | Excelente | Suas ferramentas |
| Controle de versão | Export JSON | Export JSON | Git |
| Colaboração em equipe | Planos pagos | Planos pagos | Nativo com Git |
| Integrações da comunidade | 400+ nodes | 1.000+ apps | Qualquer API |
O Make.com tem mais conectores de apps pré-construídos. O n8n tem melhor flexibilidade de código. Código customizado não tem nenhuma das limitações e toda a complexidade.
Comparação de Preços
Os modelos de precificação dessas três opções são fundamentalmente diferentes, o que torna a comparação direta complicada.
Preços do n8n
| Plano | Custo | Execuções |
|---|---|---|
| Self-hosted | $5-10/mês (apenas servidor) | Ilimitadas |
| Cloud Starter | $0/mês | 5K execuções |
| Cloud Pro | $20/mês | Ilimitadas |
| Cloud Enterprise | Customizado | Customizado |
Hospedar o n8n em um droplet DigitalOcean de $5 te dá execuções ilimitadas com controle total dos dados. Essa é a proposta de valor real.
Preços do Make.com
| Plano | Custo | Operações/mês |
|---|---|---|
| Free | $0 | 1.000 |
| Core | $10,59/mês | 10.000 |
| Pro | $18,82/mês | 10.000 + mais funcionalidades |
| Teams | $34,12/mês | 10.000 (por assento) |
| Enterprise | Customizado | Customizado |
O Make.com cobra por operação, não por execução de cenário. Um único cenário com 10 módulos custa 10 operações cada vez que roda. Isso acumula rápido em alto volume.
Preços de Código Customizado
Código customizado não tem custo de plataforma - mas tem custos reais:
- Tempo de desenvolvimento (seu tempo ou de um contratado)
- Infraestrutura de hospedagem ($5-50/mês dependendo da carga)
- Manutenção e atualizações (contínuo)
- Monitoramento e alertas (ferramentas como Sentry, Datadog)
Para uma automação simples que roda uma vez por dia, código customizado pode custar $0/mês para rodar mas 8 horas para construir. Para algo complexo que roda milhares de vezes por dia, pode ser a opção mais barata por execução.
Custo em Escala
| Volume Mensal | n8n Self-Hosted | Make.com | Código Customizado (hospedagem) |
|---|---|---|---|
| 1K execuções | $5 | $10,59 | $5-15 |
| 10K execuções | $5 | $18,82 | $5-15 |
| 100K execuções | $10 | $55+ | $10-30 |
| 1M execuções | $20 | $200+ | $20-80 |
Acima de 10K execuções mensais, o n8n self-hosted ganha consistentemente em custo puro.
Custo em Escala
Comparação de custo mensal com 100K execuções de automação
Execuções ilimitadas no self-hosted
Custo escala com contagem de operações
Mais barato por execução em alto volume
Quando Usar o n8n
O n8n é minha escolha padrão para clientes técnicos que precisam de automação séria sem a taxa do Zapier. Veja quando ele conquista essa posição.
Você Tem Lógica Complexa
O node Code do n8n te dá JavaScript e Python completos dentro dos seus workflows. Quando um cliente precisou analisar payloads de webhook, executar lógica de negócio customizada e fazer chamadas condicionais de API baseadas em consultas ao banco de dados, tudo em um fluxo, o n8n deu conta de forma limpa. O Make.com teria exigido workarounds ou múltiplos cenários desconectados.
Você Se Preocupa com Privacidade de Dados
Um cliente da área de saúde precisava automatizar lembretes de consultas sem que dados de pacientes saíssem da infraestrutura deles. O n8n self-hosted rodando dentro da VPC deles resolveu. Não existe equivalente no Make.com para esse requisito.
Seu Volume É Alto
Com 50.000+ execuções de automação por mês, o preço do Make.com fica doloroso rapidamente. O n8n self-hosted nesse volume custa o mesmo que 1.000 execuções: o que seu servidor custa.
Você Quer IA Profundamente Integrada
O n8n tem nodes nativos de LLM. Você pode construir agentes de IA multi-etapa - chamar um LLM, avaliar o output com outro node, ramificar com base no resultado, chamar uma ferramenta e fazer loop - sem nenhuma ginástica HTTP. É cada vez mais onde automações complexas vivem.
Exemplos Reais de n8n em Trabalho com Clientes
Exemplo 1: Pipeline de scoring de leads. Uma empresa SaaS B2B tinha 300+ leads inbound por semana. Construí um workflow n8n: webhook recebe envio de formulário, node Code executa lógica de enriquecimento contra a API Clearbit, node OpenAI pontua o lead de 0-100 baseado em critérios de ICP, node Switch direciona para Slack para leads quentes e HubSpot para todos os leads. Cortou o tempo de qualificação manual de 4 horas/dia para zero.
Exemplo 2: Sincronização de pedidos e-commerce. Uma loja Shopify precisava de sincronização em tempo real entre três armazéns com lógica de prioridade customizada. As regras de negócio eram complexas demais para o roteamento do Make.com. Os nodes Code do n8n lidaram com o algoritmo de alocação de estoque e tudo rodou em um VPS de $10.
Exemplo 3: Reaproveitamento de conteúdo com IA. Post de blog publicado no WordPress, webhook do n8n dispara, agente LangChain extrai pontos-chave, gera cinco posts para Twitter e uma versão para LinkedIn, enfileira no Buffer via API e envia notificação no Slack com preview. Levou três horas para construir e economiza seis horas por semana.
Quando Usar o Make.com
O Make.com merece mais crédito do que recebe dos desenvolvedores. O builder visual de cenários é genuinamente excelente, e para equipes não técnicas, é a escolha certa mais frequentemente do que se imagina.
Sua Equipe Não É Técnica
A interface do Make.com é a melhor da categoria para construção visual de workflows. Você pode entregá-la a um gerente de marketing, líder de operações ou fundador que não sabe nada de código e eles vão descobrir. O n8n é mais opinativo e exige mais paciência.
Você Precisa de Setup Rápido com Apps Comuns
O Make.com tem 1.000+ conectores de apps pré-construídos com UIs polidas para autenticação. Conectar HubSpot, Slack, Airtable, Gmail e Typeform é genuinamente clicar-e-pronto. O n8n também tem suporte OAuth, mas os conectores do Make.com tendem a expor mais da superfície de API de cada app através da UI visual.
Sua Complexidade É Moderada
Ramificação, filtragem, agregação, iteração - o Make.com lida com tudo isso bem visualmente. Os problemas começam quando você precisa de lógica customizada que não se encaixa em um módulo pré-construído. Nesse ponto você está escrevendo requisições HTTP de qualquer forma e o n8n se torna a melhor escolha.
Exemplos Reais de Make.com em Trabalho com Clientes
Exemplo 1: Dashboard de relatórios de marketing. Uma agência de 10 pessoas precisava de relatórios semanais puxando dados do Google Ads, Facebook Ads e HubSpot para uma Google Sheet. Uma coordenadora de marketing construiu todo o cenário Make.com em um dia usando os conectores pré-construídos. Zero tempo de desenvolvedor necessário.
Exemplo 2: Sequência de onboarding de clientes. Uma consultoria disparava um onboarding multi-etapa: novo cliente assina no Docusign, Make.com inicia uma sequência - cria workspace no Notion, envia email de boas-vindas, adiciona ao HubSpot, cria canal no Slack, agenda kickoff no Calendly. Pessoa não técnica de operações construiu e mantém.
Exemplo 3: Monitoramento de redes sociais. Monitoramento de marca no Twitter, Reddit e Google Alerts, filtrando por palavras-chave específicas, deduplicando menções, direcionando para Slack ou Notion baseado em sentimento. O cenário é visualmente complexo mas usa apenas módulos pré-construídos, o ponto forte do Make.com.
Quando Ir de Código Customizado
Código customizado é frequentemente a resposta errada - mas quando é a certa, é claramente certa.
Sua Lógica É Proprietária
Se a lógica de automação em si faz parte da sua vantagem competitiva - um algoritmo de precificação, um motor de matching, um sistema de detecção de fraude - você não deveria construir isso dentro de uma plataforma de terceiros que você não controla. Escreva o código. Seja dono dele.
Você Precisa de Performance Máxima
Plataformas de automação adicionam latência. Um webhook chegando ao n8n pode levar 200-500ms para executar. Uma função Node.js customizada na sua própria infraestrutura pode responder em menos de 20ms. Para sistemas em tempo real, interações voltadas ao cliente ou qualquer coisa sensível ao tempo, essa diferença importa.
A Automação É Parte do Seu Produto
Se você está construindo uma funcionalidade que automatiza algo para seus usuários - não apenas automação de processos internos - você quase certamente precisa de código customizado. Usuários não deveriam saber que uma ferramenta de terceiros está rodando a experiência deles.
Você Tem Necessidades de Integração Incomuns
Às vezes a API que você precisa chamar não tem um node n8n ou módulo Make.com. Às vezes requer fluxos OAuth, respostas em streaming, manipulação de arquivos binários ou esquemas de autenticação customizados que plataformas não conseguem suportar de forma limpa. Código customizado remove essas restrições completamente.
Exemplos Reais de Código Customizado em Trabalho com Clientes
Exemplo 1: Motor de matching imobiliário. Construí um serviço Node.js que roda a cada 15 minutos, puxa novos imóveis listados de múltiplas APIs, os pontua contra perfis de preferência de compradores usando um algoritmo customizado, e envia alertas personalizados. A lógica de matching era muito específica do negócio para uma plataforma no-code, e o cliente queria ser dono da propriedade intelectual.
Exemplo 2: Sistema de cobrança de pagamentos falhos. Uma empresa SaaS precisava de lógica customizada de retry para pagamentos falhos: tentar novamente em 3 dias, 7 dias, 14 dias com copy de email diferente a cada vez, pausar retries se o cliente contata o suporte, reiniciar se atualiza informações de pagamento. As condições de ramificação em torno do estado do cliente eram complexas demais para manter visualmente. Um worker Node.js customizado com máquina de estados em Postgres resolveu de forma limpa.
Exemplo 3: Processador de webhook em tempo real. Um cliente fintech recebia 50.000 webhooks bancários por dia, cada um exigindo processamento sub-100ms para atualizar saldos de contas de clientes. Plataformas de automação nem foram consideradas. Um servidor Fastify com fila Bull resolveu.
Código Lado a Lado: A Mesma Automação em Cada Ferramenta
Para tornar isso concreto, aqui está a mesma automação implementada de três formas: receber envio de formulário, enriquecer com dados da empresa, pontuar o lead e salvar em um CRM.
Workflow n8n (trecho JSON)
Este é o visual de um node de workflow n8n no formato JSON exportado:
{
"nodes": [
{
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"parameters": {
"path": "lead-capture",
"responseMode": "lastNode"
},
"position": [240, 300]
},
{
"name": "Enrich Lead",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"method": "GET",
"url": "https://company.clearbit.com/v2/companies/find",
"queryParameters": {
"parameters": [
{ "name": "domain", "value": "={{ $json.email.split('@')[1] }}" }
]
},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"position": [460, 300]
},
{
"name": "Score Lead",
"type": "n8n-nodes-base.code",
"parameters": {
"jsCode": "const lead = $input.first().json;\nconst company = $('Enrich Lead').first().json;\n\nlet score = 0;\nif (company.metrics?.employees > 50) score += 30;\nif (company.metrics?.estimatedAnnualRevenue > 1000000) score += 25;\nif (lead.timeline === 'immediate') score += 25;\nif (lead.budget > 5000) score += 20;\n\nreturn [{ json: { ...lead, company, score, tier: score > 70 ? 'hot' : score > 40 ? 'warm' : 'cold' } }];"
},
"position": [680, 300]
},
{
"name": "Save to HubSpot",
"type": "n8n-nodes-base.hubspot",
"parameters": {
"resource": "contact",
"operation": "upsert",
"email": "={{ $json.email }}",
"additionalFields": {
"leadScore": "={{ $json.score }}",
"lifecyclestage": "={{ $json.tier === 'hot' ? 'opportunity' : 'lead' }}"
}
},
"position": [900, 300]
}
]
}O n8n oferece sintaxe de expressão (={{ }}), nodes nativos do HubSpot e um node Code onde você escreve JavaScript real. O workflow é versionado como JSON.
Cenário Make.com (configuração de módulos)
O Make.com não exporta como JSON legível da mesma forma, mas aqui está o visual da configuração de módulos conceitualmente:
{
"scenario": {
"name": "Lead Capture and Score",
"modules": [
{
"id": 1,
"type": "webhook",
"name": "Receive Form Submission",
"config": { "method": "POST" }
},
{
"id": 2,
"type": "http.makeRequest",
"name": "Clearbit Enrichment",
"config": {
"url": "https://company.clearbit.com/v2/companies/find",
"method": "GET",
"qs": [{ "key": "domain", "value": "{{split(1.email, '@')[1]}}" }],
"headers": [{ "key": "Authorization", "value": "Bearer {{connection.apiKey}}" }]
}
},
{
"id": 3,
"type": "builtin.basicRouter",
"name": "Route by Company Size",
"routes": [
{
"label": "Large Company",
"filter": { "condition": "{{2.metrics.employees}}", "operator": "greater", "value": "50" }
},
{
"label": "Small Company",
"filter": { "condition": "{{2.metrics.employees}}", "operator": "less", "value": "50" }
}
]
},
{
"id": 4,
"type": "hubspot.createUpdateContact",
"name": "Save to HubSpot",
"config": {
"email": "{{1.email}}",
"properties": [
{ "name": "lead_score", "value": "75" }
]
}
}
]
}
}Perceba o que está faltando: a lógica real de scoring. O Make.com exigiria um campo de fórmula separado ou um router com múltiplas ramificações para aproximar o que o node Code do n8n faz em dez linhas. Para scoring simples funciona, mas a lógica se torna difícil de manter conforme as condições crescem.
Implementação Customizada em Node.js
import Fastify from "fastify";
import { clearbit } from "./lib/clearbit";
import { hubspot } from "./lib/hubspot";
import { slack } from "./lib/slack";
const app = Fastify();
interface LeadPayload {
email: string;
name: string;
company: string;
timeline: "immediate" | "quarter" | "year";
budget: number;
message: string;
}
function scoreLead(lead: LeadPayload, company: ClearbitCompany): number {
let score = 0;
// Company signals
if ((company.metrics?.employees ?? 0) > 50) score += 30;
if ((company.metrics?.estimatedAnnualRevenue ?? 0) > 1_000_000) score += 25;
if (company.category?.sector === "Technology") score += 10;
// Lead signals
if (lead.timeline === "immediate") score += 25;
if (lead.budget > 10_000) score += 20;
else if (lead.budget > 5_000) score += 10;
return Math.min(score, 100);
}
app.post<{ Body: LeadPayload }>("/webhooks/lead", async (request, reply) => {
const lead = request.body;
// Enrich with company data
const domain = lead.email.split("@")[1];
const company = await clearbit.company.find({ domain });
// Score the lead
const score = scoreLead(lead, company);
const tier = score >= 70 ? "hot" : score >= 40 ? "warm" : "cold";
// Save to CRM
await hubspot.contacts.upsert({
email: lead.email,
properties: {
firstname: lead.name.split(" ")[0],
lastname: lead.name.split(" ").slice(1).join(" "),
lead_score: score,
lead_tier: tier,
lifecyclestage: tier === "hot" ? "opportunity" : "lead",
},
});
// Alert for hot leads
if (tier === "hot") {
await slack.postMessage({
channel: "#hot-leads",
text: `Hot lead: ${lead.name} at ${lead.company} (score: ${score})`,
});
}
return reply.code(200).send({ received: true, score, tier });
});
app.listen({ port: 3000 });Isso é mais limpo de ler, mais fácil de testar e trivialmente extensível. O trade-off é que você escreveu, você hospeda e você mantém. Não tem drag-and-drop.
Exemplos Reais de Projetos
Projeto 1: Relatórios de Clientes de Agência (Make.com)
Cliente: Agência de marketing digital de 15 pessoas Problema: Puxar relatórios semanais manualmente de 6 plataformas de anúncios para Google Sheets levava 5 horas toda segunda-feira Ferramenta escolhida: Make.com Por quê: Time de marketing é dono da automação, não o desenvolvedor. Conectores pré-construídos para Google Ads, Meta Ads, LinkedIn Ads e Google Sheets. Zero código necessário. Resultado: 5 horas economizadas por semana. Gerente de marketing construiu e mantém independentemente. Custo: $18,82/mês no Make.com Pro
Projeto 2: Qualificação de Leads SaaS (n8n)
Cliente: Startup SaaS B2B, 300+ leads inbound/semana Problema: Time de vendas gastando 4 horas/dia qualificando leads manualmente, leads quentes esfriando Ferramenta escolhida: n8n self-hosted Por quê: Precisava de algoritmo de scoring customizado, integração com OpenAI para análise de mensagens, lógica de roteamento complexa. Desenvolvedor na equipe para manter. Resultado: 0 horas de qualificação manual. Tempo de resposta abaixo de 2 minutos. Aumento de 3x na conversão de leads quentes. Custo: $12/mês (servidor + OpenAI)
Projeto 3: Sincronização de Estoque em Tempo Real (Node.js Customizado)
Cliente: Marca de varejo multi-localidade Problema: Níveis de estoque em 12 localidades e 3 armazéns desincronizados. Vendas além do estoque acontecendo diariamente. Ferramenta escolhida: Serviço Node.js customizado Por quê: Exigia tempo de resposta sub-200ms no momento do pedido, lógica de alocação complexa baseada em zonas de envio, integração direta com sistema proprietário de gerenciamento de armazém Resultado: Zero vendas além do estoque desde o lançamento. Precisão de alocação de pedidos 99,8%. Custo: $25/mês (VM dedicada)
Framework de Decisão
Quando recebo um novo pedido de automação, passo por estas perguntas em ordem:
Fluxograma de Decisão de Ferramenta de Automação
Passe por cada pergunta em ordem
1. Esta automação é parte central do seu produto ou experiência do usuário?
2. Exige tempo de resposta sub-100ms ou 1M+ execuções mensais?
3. Envolve lógica proprietária ou dados que devem ficar na sua infraestrutura?
4. Uma pessoa não-desenvolvedora vai precisar construir ou manter isso?
5. Precisa de código customizado, agentes de IA ou lógica condicional complexa?
Critério de desempate por volume
Se custo é uma preocupação e execuções mensais excedem 10K, n8n self-hosted ganha do Make.com sempre, independente de outros fatores.
A Versão Curta
- Pessoa não técnica precisa ser dona: Make.com
- Lógica complexa, integração com IA, alto volume ou privacidade de dados: n8n
- Funcionalidade central do produto, algoritmo único ou performance sub-100ms necessária: Código customizado
Erros Comuns Que Vejo
Erro 1: Usar Código Customizado para Automações Commodities
Um desenvolvedor vê um fluxo simples de webhook-para-CRM e imediatamente sobe um serviço Node.js. Esse serviço agora precisa de hospedagem, monitoramento, pipelines de deploy e manutenção. O n8n teria resolvido em 20 minutos. Guarde código customizado para quando realmente importa.
Erro 2: Usar Make.com para Workflows de Alto Volume
Uma startup escolhe o Make.com porque parece amigável. Seis meses depois tem 500K operações mensais e uma conta de $300/mês pelo que custaria $20 no n8n self-hosted. A migração é dolorosa porque os cenários são complexos. Planeje para o volume desde o início.
Erro 3: Construir Lógica Complexa em Routers do Make.com
Um router do Make.com com 8 ramificações e 40 condições de filtro é um pesadelo de manutenção. Se você está construindo lógica de roteamento profundamente aninhada no Make.com, você superou a ferramenta. Migre para o n8n onde nodes Code mantêm essa lógica legível.
Erro 4: Tratar o n8n como um Substituto Direto do Zapier
O n8n requer mais configuração e planejamento que o Zapier ou Make.com. Se você configura e imediatamente tenta usar como Zapier - esperando que tudo funcione sem configuração - vai ficar frustrado. Invista algumas horas entendendo nodes, expressões e credenciais. Vale a pena.
Erro 5: Não Planejar para Falhas
Todas as três ferramentas podem e falham. Webhooks são perdidos. Limites de API são atingidos. Serviços de terceiros caem. O Make.com tem tratamento de erros decente embutido. O n8n tem lógica de retry e workflows de erro. Código customizado tem o que você construir. Qualquer ferramenta que você escolha, projete para falhas desde o primeiro dia.
Minha Opinião Honesta Depois de 50+ Projetos
O Make.com é frequentemente subestimado por desenvolvedores. Para uma equipe não técnica que precisa ser dona das suas automações, é a escolha certa - mesmo que o modelo de precificação por operação doa em escala. Já entreguei cenários Make.com a gerentes de marketing e coordenadores de operações que os mantiveram independentemente por meses sem me ligar.
O n8n é minha ferramenta diária para trabalho com clientes. A combinação de construção visual, nodes Code, self-hosting e suporte nativo a IA cobre 80% do que preciso. A curva de aprendizado é real mas administrável. A economia em escala é difícil de contestar.
Código customizado eu reservo para situações onde as outras ferramentas genuinamente não conseguem entregar. Isso acontece menos do que você imagina. Quando acontece, geralmente é um requisito de performance, um algoritmo proprietário ou uma funcionalidade de nível de produto - e nesses casos, não há debate.
O pior resultado é um descasamento entre ferramenta e problema. Lógica complexa no Make.com se torna impossível de manter. Workflows commodities em código customizado se tornam caros de manter. Propriedade não técnica do n8n se torna um fardo de suporte.
Escolha a ferramenta que combina com sua equipe, seu volume e a natureza da lógica. Esse é todo o framework.
Trabalhando em uma automação e não tem certeza de qual direção tomar? Ofereço calls gratuitas de 30 minutos para analisar seu caso de uso específico e recomendar a abordagem certa. Entre em contato e vamos resolver juntos.