AutomationFlowsEmail & Gmail › Quiz Gradios — Email Nurturing (6 Emails × 4 Tiers)

Quiz Gradios — Email Nurturing (6 Emails × 4 Tiers)

Quiz Gradios — Email Nurturing (6 emails × 4 tiers). Uses gmail. Webhook trigger; 20 nodes.

Webhook trigger★★★★☆ complexity20 nodesGmail
Email & Gmail Trigger: Webhook Nodes: 20 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Quiz Gradios \u2014 Email Nurturing (6 emails \u00d7 4 tiers)",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "quiz-lead-nurturing",
        "responseMode": "onReceived",
        "responseData": "allEntries",
        "options": {}
      },
      "id": "trigger",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        240,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Extract and normalize lead data from webhook\nconst lead = $input.first().json;\n\nconst nome = (lead.nome || '').split(' ')[0];\nconst empresa = lead.empresa || '';\nconst setor = lead.setor || 'Outro';\nconst cargo = lead.cargo || '';\nconst tier = lead.tier || 'D';\nconst score = lead.score || 0;\nconst email = lead.email || '';\nconst gargalos = lead.gargalos || '';\nconst gargaloArr = typeof gargalos === 'string' ? gargalos.split(', ') : (Array.isArray(gargalos) ? gargalos : []);\nconst gargalo_principal = gargaloArr[0] ? gargaloArr[0].split(' \u2014 ')[0] : 'processos manuais';\nconst gargalo_2 = gargaloArr[1] ? gargaloArr[1].split(' \u2014 ')[0] : gargalo_principal;\nconst prioridade = lead.prioridade || 'Eliminar processos manuais';\n\n// Hours calculation\nconst horasMap = { '~20h/m\u00eas': 20, '~40-60h/m\u00eas': 50, '~65-160h/m\u00eas': 112, '+160h/m\u00eas': 180 };\nconst tempo_horas_mes = lead.tempo_horas_mes || '~20h/m\u00eas';\nconst horas_mes_num = horasMap[tempo_horas_mes] || 20;\nconst horas_semana_num = Math.round(horas_mes_num / 4);\nconst horas_semana_labels = { 20: '~3h', 50: '~10h', 112: '~28h', 180: '50h+' };\nconst horas_semana = horas_semana_labels[horas_mes_num] || '~' + horas_semana_num + 'h';\nconst pct_funcionario = Math.round((horas_mes_num / 160) * 100);\n\n// ROI calculation\nconst sectorCost = {\n  'Varejo/E-commerce': 32, 'Ind\u00fastria/Manufatura': 41,\n  'Log\u00edstica/Distribui\u00e7\u00e3o': 35, 'Sa\u00fade/Cl\u00ednicas': 45,\n  'Financeiro/Contabilidade': 54, 'SaaS/Tecnologia': 63,\n  'Servi\u00e7os em geral': 36, 'Outro': 38\n};\nconst hourlyCost = sectorCost[setor] || 38;\nconst roi_mensal_num = horas_mes_num * hourlyCost;\nconst roi_anual_num = roi_mensal_num * 12;\nconst fmtBRL = (v) => 'R$ ' + v.toLocaleString('pt-BR');\n\nconst whatsapp_msg = encodeURIComponent(\n  `Oi! Acabei de fazer o diagn\u00f3stico da Gradios. Sou ${cargo} de uma empresa de ${setor} com ${lead.tamanho || 'v\u00e1rios'} funcion\u00e1rios. Nosso maior gargalo \u00e9 ${gargalo_principal.toLowerCase()} e perdemos cerca de ${horas_semana} horas por semana com retrabalho manual. Recebi resultado ${tier} e quero entender como resolver isso.`\n);\n\nreturn [{\n  json: {\n    email,\n    nome,\n    empresa,\n    setor,\n    cargo,\n    tier,\n    score,\n    gargalo_principal,\n    gargalo_2,\n    horas_semana,\n    horas_mes: horas_mes_num + 'h',\n    horas_mes_num,\n    pct_funcionario: pct_funcionario.toString(),\n    roi_mensal: fmtBRL(roi_mensal_num),\n    roi_anual: fmtBRL(roi_anual_num),\n    prioridade,\n    diagnostico_url: 'https://gradios.co/diagnostico',\n    whatsapp_url: 'https://wa.me/5543988372540?text=' + whatsapp_msg\n  }\n}];"
      },
      "id": "prepare_vars",
      "name": "Prepare Variables",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        460,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Email 1 templates \u2014 select by tier\nconst d = $input.first().json;\nconst tier = d.tier;\n\nconst subjects = {\n  A: 'Seu diagn\u00f3stico chegou \u2014 e o resultado \u00e9 s\u00e9rio',\n  B: `Diagn\u00f3stico da ${d.empresa} \u2014 veja o que encontramos`,\n  C: 'Seu diagn\u00f3stico de automa\u00e7\u00e3o est\u00e1 aqui',\n  D: `Seu diagn\u00f3stico est\u00e1 pronto, ${d.nome}`\n};\n\nconst bodies = {\n  A: `${d.nome},\\n\\nCruzamos as respostas da ${d.empresa} e o cen\u00e1rio \u00e9 claro.\\n\\nVoc\u00eas perdem ${d.horas_semana} por semana com processos manuais. Isso \u00e9 ${d.horas_mes} por m\u00eas \u2014 equivalente a ${d.pct_funcionario}% de um funcion\u00e1rio inteiro s\u00f3 em retrabalho.\\n\\nO diagn\u00f3stico completo da IA est\u00e1 abaixo. Mas o mais importante: sua empresa est\u00e1 no grupo de potencial alto \u2014 o que significa que d\u00e1 pra resolver isso r\u00e1pido, com impacto direto na opera\u00e7\u00e3o.\\n\\n\ud83d\udc49 Ver diagn\u00f3stico completo: ${d.diagnostico_url}\\n\\nNos pr\u00f3ximos minutos algu\u00e9m do nosso time vai entrar em contato pelo WhatsApp. Se preferir adiantar:\\n\\n\ud83d\udcac Chamar no WhatsApp agora: ${d.whatsapp_url}\\n\\nGradios`,\n  B: `${d.nome},\\n\\nSeu diagn\u00f3stico da ${d.empresa} est\u00e1 pronto.\\n\\nO resultado mostra potencial real de automa\u00e7\u00e3o \u2014 especialmente nos gargalos que voc\u00ea marcou: ${d.gargalo_principal} e ${d.gargalo_2}.\\n\\n\ud83d\udc49 Ver diagn\u00f3stico completo: ${d.diagnostico_url}\\n\\nEsta semana temos algumas vagas para diagn\u00f3stico aprofundado por v\u00eddeo \u2014 30 minutos, sem compromisso, focado exatamente no que voc\u00ea marcou como prioridade.\\n\\n\ud83d\udcac Quero uma vaga: ${d.whatsapp_url}\\n\\nGradios`,\n  C: `${d.nome},\\n\\nDiagn\u00f3stico da ${d.empresa} gerado.\\n\\nVoc\u00ea est\u00e1 no est\u00e1gio inicial de automa\u00e7\u00e3o \u2014 o que \u00e9 normal para empresas do seu porte no setor de ${d.setor}.\\n\\nA boa not\u00edcia: as empresas que saem desse est\u00e1gio geralmente fazem isso com 1 ou 2 automa\u00e7\u00f5es bem escolhidas, n\u00e3o com um projeto grande.\\n\\n\ud83d\udc49 Ver diagn\u00f3stico completo: ${d.diagnostico_url}\\n\\nNos pr\u00f3ximos dias vou te mandar um conte\u00fado espec\u00edfico sobre o que empresas de ${d.setor} costumam automatizar primeiro.\\n\\nGradios`,\n  D: `${d.nome},\\n\\nSeu diagn\u00f3stico est\u00e1 pronto.\\n\\nPelo que voc\u00ea respondeu, a ${d.empresa} ainda est\u00e1 mapeando as possibilidades \u2014 e isso faz sentido. Automa\u00e7\u00e3o sem clareza de onde d\u00f3i mais \u00e9 desperd\u00edcio de dinheiro.\\n\\n\ud83d\udc49 Ver diagn\u00f3stico completo: ${d.diagnostico_url}\\n\\nVou te mandar um guia simples de como identificar os 3 processos que mais valem automatizar primeiro. Sem custo, sem enrola\u00e7\u00e3o.\\n\\nGradios`\n};\n\nreturn [{ json: { ...d, email_subject: subjects[tier] || subjects.D, email_body: bodies[tier] || bodies.D } }];"
      },
      "id": "email_1_template",
      "name": "Email 1 \u2014 Resultado (D0)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        700,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "={{ $json.email_subject }}",
        "emailType": "text",
        "message": "={{ $json.email_body }}",
        "options": {
          "replyTo": "gustavo@gradios.co"
        }
      },
      "id": "send_email_1",
      "name": "Send Email 1",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        920,
        300
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": 2,
        "unit": "days"
      },
      "id": "wait_2d",
      "name": "Wait 2 Days",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        1140,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Check nurturing_paused flag in Supabase before continuing\n// This is a placeholder \u2014 connect to Supabase HTTP Request node\n// For now, pass through\nreturn $input.all();"
      },
      "id": "check_pause_2",
      "name": "Check Pause Flag",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1360,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Email 2 \u2014 Day 2: Gargalo deep-dive\nconst d = $input.first().json;\nconst tier = d.tier;\n\nconst subjects = {\n  A: `O gargalo que mais custa pra ${d.empresa}`,\n  B: `O gargalo que mais custa pra ${d.empresa}`,\n  C: `Por que ${d.gargalo_principal} \u00e9 mais caro do que parece`,\n  D: `Por que ${d.gargalo_principal} \u00e9 mais caro do que parece`\n};\n\nconst body = `${d.nome},\\n\\nNo diagn\u00f3stico voc\u00ea marcou ${d.gargalo_principal} como um dos maiores problemas.\\n\\nEsse gargalo espec\u00edfico tem um custo que raramente aparece no financeiro \u2014 mas est\u00e1 l\u00e1 todo m\u00eas:\\n\\n\u2192 Tempo de equipe em tarefa que n\u00e3o agrega valor\\n\u2192 Erro humano que vira retrabalho l\u00e1 na frente\\n\u2192 Decis\u00e3o tomada com dado desatualizado\\n\\nEm empresas de ${d.setor} com o porte da ${d.empresa}, esse gargalo sozinho costuma representar ${d.roi_mensal}/m\u00eas em custo invis\u00edvel.\\n\\nA maioria resolve com uma automa\u00e7\u00e3o simples de integra\u00e7\u00e3o. N\u00e3o precisa de sistema novo. N\u00e3o precisa de equipe t\u00e9cnica.\\n\\n\ud83d\udcac Entender como resolver o meu gargalo: ${d.whatsapp_url}\\n\\nGradios`;\n\nreturn [{ json: { ...d, email_subject: subjects[tier] || subjects.D, email_body: body } }];"
      },
      "id": "email_2_template",
      "name": "Email 2 \u2014 Gargalo (D2)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1580,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "={{ $json.email_subject }}",
        "emailType": "text",
        "message": "={{ $json.email_body }}",
        "options": {
          "replyTo": "gustavo@gradios.co"
        }
      },
      "id": "send_email_2",
      "name": "Send Email 2",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        1800,
        300
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": 2,
        "unit": "days"
      },
      "id": "wait_2d_2",
      "name": "Wait 2 Days (D4)",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        2020,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Email 3 \u2014 Day 4: Case do setor\nconst d = $input.first().json;\n\nconst subject = `Como uma empresa de ${d.setor} eliminou ${d.horas_semana} de retrabalho por semana`;\n\nconst body = `${d.nome},\\n\\nUm caso real que talvez fa\u00e7a sentido pra ${d.empresa}.\\n\\nUma empresa de ${d.setor} com porte parecido com o de voc\u00eas tinha exatamente o problema que voc\u00ea marcou: ${d.gargalo_principal}.\\n\\nO que a gente fez:\\n\u2192 Mapeamos o fluxo que causava o gargalo (2 dias)\\n\u2192 Constru\u00edmos a integra\u00e7\u00e3o entre os sistemas existentes (1 semana)\\n\u2192 Testamos e ajustamos (3 dias)\\n\\nResultado: o processo que causava ${d.gargalo_principal} passou a rodar sem interven\u00e7\u00e3o manual. Mesma equipe. Mesmo sistema. S\u00f3 conectamos o que j\u00e1 existia.\\n\\nN\u00e3o trocamos nenhum sistema. N\u00e3o contratamos ningu\u00e9m.\\n\\nSe quiser ver como aplicar isso na ${d.empresa}:\\n\\n\ud83d\udcac Quero ver como funciona pra mim: ${d.whatsapp_url}\\n\\nGradios`;\n\nreturn [{ json: { ...d, email_subject: subject, email_body: body } }];"
      },
      "id": "email_3_template",
      "name": "Email 3 \u2014 Case (D4)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        2240,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "={{ $json.email_subject }}",
        "emailType": "text",
        "message": "={{ $json.email_body }}",
        "options": {
          "replyTo": "gustavo@gradios.co"
        }
      },
      "id": "send_email_3",
      "name": "Send Email 3",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        2460,
        300
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": 3,
        "unit": "days"
      },
      "id": "wait_3d",
      "name": "Wait 3 Days (D7)",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        2680,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Email 4 \u2014 Day 7: Dica pr\u00e1tica\nconst d = $input.first().json;\n\nconst subject = `Uma coisa que voc\u00ea pode fazer hoje na ${d.empresa} (sem custo)`;\n\nconst body = `${d.nome},\\n\\nUma dica pr\u00e1tica \u2014 independente de contratar algu\u00e9m ou n\u00e3o.\\n\\nMapeie UMA tarefa que algu\u00e9m na sua equipe faz todo dia de forma manual. S\u00f3 uma.\\n\\nAnote:\\n\u2192 Quantas vezes por semana acontece\\n\u2192 Quanto tempo leva cada vez\\n\u2192 Quantas pessoas fazem isso\\n\\nMultiplica pelo custo hora. Esse \u00e9 o custo real desse processo.\\n\\nA maioria das empresas que a gente atende se surpreende com o n\u00famero. Porque nunca tinham calculado.\\n\\nSe quiser fazer esse mapeamento com a gente \u2014 de gra\u00e7a, em 30 minutos por v\u00eddeo \u2014 \u00e9 s\u00f3 responder esse email ou clicar abaixo.\\n\\n\ud83d\udcac Quero fazer o mapeamento: ${d.whatsapp_url}\\n\\nGradios`;\n\nreturn [{ json: { ...d, email_subject: subject, email_body: body } }];"
      },
      "id": "email_4_template",
      "name": "Email 4 \u2014 Dica (D7)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        2900,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "={{ $json.email_subject }}",
        "emailType": "text",
        "message": "={{ $json.email_body }}",
        "options": {
          "replyTo": "gustavo@gradios.co"
        }
      },
      "id": "send_email_4",
      "name": "Send Email 4",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        3120,
        300
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": 3,
        "unit": "days"
      },
      "id": "wait_3d_2",
      "name": "Wait 3 Days (D10)",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        3340,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Email 5 \u2014 Day 10: Follow-up suave\nconst d = $input.first().json;\nconst tier = d.tier;\n\nconst subjects = {\n  A: `${d.nome}, ainda faz sentido conversar?`,\n  B: `Ainda pensando em automa\u00e7\u00e3o na ${d.empresa}?`,\n  C: `Ainda pensando em automa\u00e7\u00e3o na ${d.empresa}?`,\n  D: `Uma pergunta r\u00e1pida, ${d.nome}`\n};\n\nconst body = `${d.nome},\\n\\nFaz 10 dias desde o diagn\u00f3stico da ${d.empresa}.\\n\\nN\u00e3o sei se voc\u00ea avan\u00e7ou com isso internamente, se surgiu outra prioridade, ou se ainda est\u00e1 avaliando.\\n\\nSe ainda faz sentido, tenho 30 minutos essa semana pra uma conversa r\u00e1pida. Sem apresenta\u00e7\u00e3o, sem proposta. S\u00f3 entender o cen\u00e1rio de perto e ver se a gente consegue ajudar de verdade.\\n\\nSe n\u00e3o faz mais sentido agora \u2014 tudo bem tamb\u00e9m. S\u00f3 me fala pra eu n\u00e3o tomar mais o seu tempo.\\n\\n\ud83d\udcac Quero conversar essa semana: ${d.whatsapp_url}\\n\\nN\u00e3o faz sentido agora? Sem problema \u2014 responda \"parar\" e a gente encerra por aqui.\\n\\nGradios`;\n\nreturn [{ json: { ...d, email_subject: subjects[tier] || subjects.D, email_body: body } }];"
      },
      "id": "email_5_template",
      "name": "Email 5 \u2014 Follow-up (D10)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        3560,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "={{ $json.email_subject }}",
        "emailType": "text",
        "message": "={{ $json.email_body }}",
        "options": {
          "replyTo": "gustavo@gradios.co"
        }
      },
      "id": "send_email_5",
      "name": "Send Email 5",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        3780,
        300
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": 4,
        "unit": "days"
      },
      "id": "wait_4d",
      "name": "Wait 4 Days (D14)",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        4000,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Email 6 \u2014 Day 14: Oferta direta\nconst d = $input.first().json;\nconst tier = d.tier;\n\nconst subjects = {\n  A: `\u00daltima mensagem \u2014 proposta espec\u00edfica pra ${d.empresa}`,\n  B: `\u00daltima mensagem \u2014 proposta espec\u00edfica pra ${d.empresa}`,\n  C: 'Uma \u00faltima coisa antes de eu parar de escrever',\n  D: 'Uma \u00faltima coisa antes de eu parar de escrever'\n};\n\nconst bodies = {\n  A: `${d.nome},\\n\\n\u00daltimo email dessa sequ\u00eancia.\\n\\nBaseado no diagn\u00f3stico da ${d.empresa}, montamos mentalmente o que far\u00edamos nos primeiros 14 dias se trabalh\u00e1ssemos juntos:\\n\\n\u2192 Semana 1: mapear o fluxo de ${d.gargalo_principal} e identificar os pontos de integra\u00e7\u00e3o\\n\u2192 Semana 2: primeira automa\u00e7\u00e3o rodando \u2014 ${d.prioridade}\\n\\nInvestimento: a partir de R$ 10.000. Prazo: 14 dias para a primeira entrega. Garantia: se n\u00e3o entregar resultado mensur\u00e1vel, devolvemos.\\n\\nSe quiser avan\u00e7ar \u2014 ou s\u00f3 entender melhor antes de decidir:\\n\\n\ud83d\udcac Quero conversar agora: ${d.whatsapp_url}\\n\\nSe n\u00e3o for o momento, sem problema. Fica o diagn\u00f3stico como refer\u00eancia pra quando fizer sentido.\\n\\nGradios`,\n  B: `${d.nome},\\n\\n\u00daltimo email dessa sequ\u00eancia.\\n\\nBaseado no diagn\u00f3stico da ${d.empresa}, montamos mentalmente o que far\u00edamos nos primeiros 14 dias se trabalh\u00e1ssemos juntos:\\n\\n\u2192 Semana 1: mapear o fluxo de ${d.gargalo_principal} e identificar os pontos de integra\u00e7\u00e3o\\n\u2192 Semana 2: primeira automa\u00e7\u00e3o rodando \u2014 ${d.prioridade}\\n\\nInvestimento: a partir de R$ 10.000. Prazo: 14 dias para a primeira entrega. Garantia: se n\u00e3o entregar resultado mensur\u00e1vel, devolvemos.\\n\\nSe quiser avan\u00e7ar \u2014 ou s\u00f3 entender melhor antes de decidir:\\n\\n\ud83d\udcac Quero conversar agora: ${d.whatsapp_url}\\n\\nSe n\u00e3o for o momento, sem problema. Fica o diagn\u00f3stico como refer\u00eancia pra quando fizer sentido.\\n\\nGradios`,\n  C: `${d.nome},\\n\\n\u00daltimo email.\\n\\nSe voc\u00ea ainda n\u00e3o automatizou nada na ${d.empresa}, provavelmente \u00e9 por um desses motivos: n\u00e3o sabe por onde come\u00e7ar, acha caro, ou n\u00e3o tem tempo pra avaliar direito.\\n\\nOs tr\u00eas t\u00eam solu\u00e7\u00e3o simples.\\n\\nTemos um pacote de entrada espec\u00edfico pra empresas no seu est\u00e1gio: diagn\u00f3stico aprofundado + uma automa\u00e7\u00e3o de impacto r\u00e1pido, por R$ 10.000, entregue em 14 dias.\\n\\n\ud83d\udcac Entender o pacote de entrada: ${d.whatsapp_url}\\n\\nSe n\u00e3o for agora \u2014 guarda esse email. Quando o retrabalho ficar grande demais, a gente t\u00e1 aqui.\\n\\nGradios`,\n  D: `${d.nome},\\n\\n\u00daltimo email.\\n\\nSe voc\u00ea ainda n\u00e3o automatizou nada na ${d.empresa}, provavelmente \u00e9 por um desses motivos: n\u00e3o sabe por onde come\u00e7ar, acha caro, ou n\u00e3o tem tempo pra avaliar direito.\\n\\nOs tr\u00eas t\u00eam solu\u00e7\u00e3o simples.\\n\\nTemos um pacote de entrada espec\u00edfico pra empresas no seu est\u00e1gio: diagn\u00f3stico aprofundado + uma automa\u00e7\u00e3o de impacto r\u00e1pido, por R$ 10.000, entregue em 14 dias.\\n\\n\ud83d\udcac Entender o pacote de entrada: ${d.whatsapp_url}\\n\\nSe n\u00e3o for agora \u2014 guarda esse email. Quando o retrabalho ficar grande demais, a gente t\u00e1 aqui.\\n\\nGradios`\n};\n\nreturn [{ json: { ...d, email_subject: subjects[tier] || subjects.D, email_body: bodies[tier] || bodies.D } }];"
      },
      "id": "email_6_template",
      "name": "Email 6 \u2014 Oferta (D14)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        4220,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "={{ $json.email_subject }}",
        "emailType": "text",
        "message": "={{ $json.email_body }}",
        "options": {
          "replyTo": "gustavo@gradios.co"
        }
      },
      "id": "send_email_6",
      "name": "Send Email 6",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        4440,
        300
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Prepare Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Variables": {
      "main": [
        [
          {
            "node": "Email 1 \u2014 Resultado (D0)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email 1 \u2014 Resultado (D0)": {
      "main": [
        [
          {
            "node": "Send Email 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email 1": {
      "main": [
        [
          {
            "node": "Wait 2 Days",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 2 Days": {
      "main": [
        [
          {
            "node": "Check Pause Flag",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Pause Flag": {
      "main": [
        [
          {
            "node": "Email 2 \u2014 Gargalo (D2)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email 2 \u2014 Gargalo (D2)": {
      "main": [
        [
          {
            "node": "Send Email 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email 2": {
      "main": [
        [
          {
            "node": "Wait 2 Days (D4)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 2 Days (D4)": {
      "main": [
        [
          {
            "node": "Email 3 \u2014 Case (D4)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email 3 \u2014 Case (D4)": {
      "main": [
        [
          {
            "node": "Send Email 3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email 3": {
      "main": [
        [
          {
            "node": "Wait 3 Days (D7)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 3 Days (D7)": {
      "main": [
        [
          {
            "node": "Email 4 \u2014 Dica (D7)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email 4 \u2014 Dica (D7)": {
      "main": [
        [
          {
            "node": "Send Email 4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email 4": {
      "main": [
        [
          {
            "node": "Wait 3 Days (D10)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 3 Days (D10)": {
      "main": [
        [
          {
            "node": "Email 5 \u2014 Follow-up (D10)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email 5 \u2014 Follow-up (D10)": {
      "main": [
        [
          {
            "node": "Send Email 5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email 5": {
      "main": [
        [
          {
            "node": "Wait 4 Days (D14)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 4 Days (D14)": {
      "main": [
        [
          {
            "node": "Email 6 \u2014 Oferta (D14)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email 6 \u2014 Oferta (D14)": {
      "main": [
        [
          {
            "node": "Send Email 6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "tags": [
    {
      "name": "quiz"
    },
    {
      "name": "nurturing"
    },
    {
      "name": "email"
    }
  ]
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Quiz Gradios — Email Nurturing (6 emails × 4 tiers). Uses gmail. Webhook trigger; 20 nodes.

Source: https://github.com/Daniellpego/Ecosistema-Gradios/blob/1564b51cc5b8721ba12008151b168b3ff8bfd800/n8n-workflows/quiz-email-nurturing.json — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

Automate WhatsApp communication for recruitment agencies with an interactive, structured customer experience. This workflow handles pricing inquiries, request submissions, tracking, complaints, and hu

HTTP Request, Google Sheets, Gmail +1
Email & Gmail

Code. Uses googleSheets, gmail, supabase, stickyNote. Webhook trigger; 51 nodes.

Google Sheets, Gmail, Supabase +1
Email & Gmail

This template turns Podium's conversation inbox into a full sales CRM with a custom funnel, AI message classification, automated drip follow-ups, daily admin reports, and a live Kanban dashboard. Six

HTTP Request, Google Sheets, Gmail
Email & Gmail

Suspicious_login_detection. Uses postgres, httpRequest, noOp, html. Webhook trigger; 43 nodes.

Postgres, HTTP Request, Gmail +1
Email & Gmail

This n8n workflow is designed for security monitoring and incident response when suspicious login events are detected. It can be initiated either manually from within the n8n UI for testing or automat

Postgres, HTTP Request, Gmail +1