This workflow follows the Agent → HTTP Request recipe pattern — see all workflows that pair these two integrations.
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 →
{
"name": "002_roteador_aninha_v2",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "dl-aninha",
"options": {}
},
"id": "wh-aninha",
"name": "Entrada Aninha",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
100,
400
]
},
{
"parameters": {
"operation": "getAll",
"tableId": "leads",
"limit": 1,
"filters": {
"conditions": [
{
"column": "telefone",
"value": "={{ $json.body.telefone || $json.body.sender_id }}"
}
]
},
"options": {}
},
"id": "supabase-get",
"name": "Ler Persona Supabase",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
320,
400
],
"credentials": {
"supabaseApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"dataType": "string",
"value1": "={{ $json[0]?.persona || '' }}",
"rules": {
"rules": [
{
"value2": "sindico",
"outputKey": "sindico"
},
{
"value2": "admin_condominio",
"outputKey": "admin_cond"
},
{
"value2": "admin_escola",
"outputKey": "admin_escola"
}
]
},
"fallbackOutput": 3
},
"id": "switch-persona",
"name": "Switch Persona",
"type": "n8n-nodes-base.switch",
"typeVersion": 1,
"position": [
560,
400
]
},
{
"parameters": {
"model": "gpt-4o",
"options": {
"temperature": 0.3
}
},
"id": "llm-master",
"name": "OpenAI",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1,
"position": [
850,
1050
]
},
{
"parameters": {
"sessionId": "={{ $('Entrada Aninha').item.json.body.telefone || $('Entrada Aninha').item.json.body.sender_id || 'lead_anonimo' }}"
},
"id": "memory-master",
"name": "Mem\u00f3ria Buffer",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"typeVersion": 1.2,
"position": [
1020,
1050
]
},
{
"parameters": {
"promptType": "define",
"text": "={{ $('Entrada Aninha').item.json.body.mensagem_original || $('Entrada Aninha').item.json.body.mensagem || '' }}",
"options": {
"systemMessage": "Voc\u00ea \u00e9 a ANINHA da DL Solu\u00e7\u00f5es Condominiais. Este lead ainda n\u00e3o tem perfil identificado.\n\nSua tarefa: Fazer perguntas curtas e amig\u00e1veis para descobrir se o contato \u00e9:\n1) S\u00edndico de Condom\u00ednio\n2) Administrador de Condom\u00ednios (Imobili\u00e1ria / Administradora)\n3) Administrador de Escola ou Col\u00e9gio\n\nBoas pr\u00e1ticas:\n- Seja calorosa mas objetiva\n- M\u00e1ximo 2 perguntas por mensagem\n- Nunca mencione pre\u00e7os\n- Se a pessoa j\u00e1 indicou o tipo, n\u00e3o pergunte de novo\n\nQuando descobrir a persona, adicione UMA das seguintes tags no FINAL da sua resposta:\n[PERSONA_SINDICO]\n[PERSONA_ADMIN_COND]\n[PERSONA_ESCOLA]"
}
},
"id": "ag-classificador",
"name": "Agent Classificador",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.6,
"position": [
850,
200
]
},
{
"parameters": {
"promptType": "define",
"text": "={{ $('Entrada Aninha').item.json.body.mensagem_original || $('Entrada Aninha').item.json.body.mensagem || '' }}",
"options": {
"systemMessage": "Voc\u00ea \u00e9 a ANINHA, especialista comercial da DL Solu\u00e7\u00f5es Condominiais.\nO lead \u00e9 um S\u00cdNDICO.\n\nDOR PRINCIPAL DESSA PERSONA:\n- Quer agilidade e resolu\u00e7\u00e3o sem drama para os moradores\n- Medo de gambiarras, quer seguran\u00e7a t\u00e9cnica e conformidade normativa\n- Precisa de relat\u00f3rios e presta\u00e7\u00e3o de contas claros para a assembleia\n- N\u00e3o quer ser responsabilizado por problemas de seguran\u00e7a (inc\u00eandio, CFTV, el\u00e9trica)\n\nSua conduta:\n- Fale diretamente sobre as vantagens da DL: padr\u00e3o normativo (eletrodutos met\u00e1licos, n\u00e3o usamos canaleta pl\u00e1stica), laudos t\u00e9cnicos para assembleia, SLA de atendimento\n- Mencione cases de sucesso de condom\u00ednios similares (gen\u00e9ricos)\n- Nunca d\u00ea pre\u00e7o \u2014 o pre\u00e7o s\u00f3 sai ap\u00f3s Avalia\u00e7\u00e3o T\u00e9cnica\n\nQuando o lead demonstrar interesse em avan\u00e7ar para or\u00e7amento ou avalia\u00e7\u00e3o t\u00e9cnica, adicione a tag [ENCAMINHAR_JULES] no FINAL da sua resposta."
}
},
"id": "ag-sindico",
"name": "Agent S\u00edndico",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.6,
"position": [
850,
400
]
},
{
"parameters": {
"promptType": "define",
"text": "={{ $('Entrada Aninha').item.json.body.mensagem_original || $('Entrada Aninha').item.json.body.mensagem || '' }}",
"options": {
"systemMessage": "Voc\u00ea \u00e9 a ANINHA, especialista comercial da DL Solu\u00e7\u00f5es Condominiais.\nO lead \u00e9 um ADMINISTRADOR DE CONDOM\u00cdNIOS (trabalha em administradora / imobili\u00e1ria).\n\nDOR PRINCIPAL DESSA PERSONA:\n- Gerencia v\u00e1rios condom\u00ednios, quer fornecedores confi\u00e1veis e multidisciplinares\n- Precisa de SLAs claros e documenta\u00e7\u00e3o t\u00e9cnica para os condom\u00ednios que administra\n- Quer redu\u00e7\u00e3o de custos operacionais (energia solar, manuten\u00e7\u00e3o preventiva)\n- Alta exig\u00eancia por conformidade: NR-10, ABNT\n\nSua conduta:\n- Destaque o portf\u00f3lio completo da DL: el\u00e9trica, solar, CFTV, automa\u00e7\u00e3o, inc\u00eandio\n- Fale de parceria B2B de longo prazo e atendimento preferencial\n- Mencione a capacidade de emitir laudos para m\u00faltiplos condom\u00ednios\n- Nunca d\u00ea pre\u00e7o\n\nQuando o lead quiser avan\u00e7ar, adicione a tag [ENCAMINHAR_JULES] no FINAL da resposta."
}
},
"id": "ag-admin-cond",
"name": "Agent Admin Cond",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.6,
"position": [
850,
600
]
},
{
"parameters": {
"promptType": "define",
"text": "={{ $('Entrada Aninha').item.json.body.mensagem_original || $('Entrada Aninha').item.json.body.mensagem || '' }}",
"options": {
"systemMessage": "Voc\u00ea \u00e9 a ANINHA, especialista comercial da DL Solu\u00e7\u00f5es Condominiais.\nO lead \u00e9 um ADMINISTRADOR DE ESCOLA ou COL\u00c9GIO.\n\nDOR PRINCIPAL DESSA PERSONA:\n- Seguran\u00e7a dos alunos \u00e9 prioridade m\u00e1xima: CFTV, controle de acesso, el\u00e9trica segura\n- Quer obras e manuten\u00e7\u00f5es executadas nas f\u00e9rias escolares para n\u00e3o impactar aulas\n- Preocupa\u00e7\u00e3o com economia de energia (escolas t\u00eam alto consumo)\n- Conformidade com normas de preven\u00e7\u00e3o de inc\u00eandio (AVCB) \u00e9 cr\u00edtica\n\nSua conduta:\n- Fale do DL Guardi\u00e3o\u2122 (CFTV) e DL Gatekeeper\u2122 (controle de acesso) para seguran\u00e7a\n- Destaque o DL EcoVolt Solar\u2122 para economia de energia\n- Mencione a capacidade de executar em cronograma de f\u00e9rias\n- Nunca d\u00ea pre\u00e7o\n\nQuando o lead quiser avan\u00e7ar, adicione a tag [ENCAMINHAR_JULES] no FINAL da resposta."
}
},
"id": "ag-escola",
"name": "Agent Escola",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.6,
"position": [
850,
800
]
},
{
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.output }}",
"operation": "contains",
"value2": "[ENCAMINHAR_JULES]"
}
]
}
},
"id": "if-jules",
"name": "Encaminhar para Engenharia?",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
1150,
600
]
},
{
"parameters": {
"method": "POST",
"url": "https://n8n.dlsolucoescondominiais.com.br/webhook/dl-especialistas",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "telefone",
"value": "={{ $('Entrada Aninha').item.json.body.telefone || $('Entrada Aninha').item.json.body.sender_id }}"
},
{
"name": "historico_dor",
"value": "={{ $json.output }}"
},
{
"name": "persona",
"value": "={{ $('Ler Persona Supabase').item.json[0]?.persona || 'indefinido' }}"
}
]
},
"options": {}
},
"id": "push-004",
"name": "Chamar 004 Jules",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [
1400,
500
]
},
{
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.output }}",
"operation": "contains",
"value2": "[PERSONA_SINDICO]"
}
]
}
},
"id": "if-ps",
"name": "Detectou Sindico?",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
1150,
100
]
},
{
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.output }}",
"operation": "contains",
"value2": "[PERSONA_ADMIN_COND]"
}
]
}
},
"id": "if-pa",
"name": "Detectou Admin Cond?",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
1150,
200
]
},
{
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.output }}",
"operation": "contains",
"value2": "[PERSONA_ESCOLA]"
}
]
}
},
"id": "if-pe",
"name": "Detectou Escola?",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
1150,
300
]
},
{
"parameters": {
"operation": "update",
"tableId": "leads",
"filters": {
"conditions": [
{
"column": "telefone",
"value": "={{ $('Entrada Aninha').item.json.body.telefone || $('Entrada Aninha').item.json.body.sender_id }}"
}
]
},
"updateValues": {
"values": [
{
"column": "persona",
"value": "sindico"
},
{
"column": "status",
"value": "triado"
}
]
}
},
"id": "supa-sindico",
"name": "Salvar Persona Sindico",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
1400,
50
],
"credentials": {
"supabaseApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"tableId": "leads",
"filters": {
"conditions": [
{
"column": "telefone",
"value": "={{ $('Entrada Aninha').item.json.body.telefone || $('Entrada Aninha').item.json.body.sender_id }}"
}
]
},
"updateValues": {
"values": [
{
"column": "persona",
"value": "admin_condominio"
},
{
"column": "status",
"value": "triado"
}
]
}
},
"id": "supa-admin",
"name": "Salvar Persona Admin",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
1400,
200
],
"credentials": {
"supabaseApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"tableId": "leads",
"filters": {
"conditions": [
{
"column": "telefone",
"value": "={{ $('Entrada Aninha').item.json.body.telefone || $('Entrada Aninha').item.json.body.sender_id }}"
}
]
},
"updateValues": {
"values": [
{
"column": "persona",
"value": "admin_escola"
},
{
"column": "status",
"value": "triado"
}
]
}
},
"id": "supa-escola",
"name": "Salvar Persona Escola",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
1400,
300
],
"credentials": {
"supabaseApi": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Entrada Aninha": {
"main": [
[
{
"node": "Ler Persona Supabase",
"type": "main",
"index": 0
}
]
]
},
"Ler Persona Supabase": {
"main": [
[
{
"node": "Switch Persona",
"type": "main",
"index": 0
}
]
]
},
"Switch Persona": {
"main": [
[
{
"node": "Agent S\u00edndico",
"type": "main",
"index": 0
}
],
[
{
"node": "Agent Admin Cond",
"type": "main",
"index": 0
}
],
[
{
"node": "Agent Escola",
"type": "main",
"index": 0
}
],
[
{
"node": "Agent Classificador",
"type": "main",
"index": 0
}
]
]
},
"OpenAI": {
"ai_languageModel": [
[
{
"node": "Agent Classificador",
"type": "ai_languageModel",
"index": 0
}
],
[
{
"node": "Agent S\u00edndico",
"type": "ai_languageModel",
"index": 0
}
],
[
{
"node": "Agent Admin Cond",
"type": "ai_languageModel",
"index": 0
}
],
[
{
"node": "Agent Escola",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Mem\u00f3ria Buffer": {
"ai_memory": [
[
{
"node": "Agent Classificador",
"type": "ai_memory",
"index": 0
}
],
[
{
"node": "Agent S\u00edndico",
"type": "ai_memory",
"index": 0
}
],
[
{
"node": "Agent Admin Cond",
"type": "ai_memory",
"index": 0
}
],
[
{
"node": "Agent Escola",
"type": "ai_memory",
"index": 0
}
]
]
},
"Agent Classificador": {
"main": [
[
{
"node": "Detectou Sindico?",
"type": "main",
"index": 0
},
{
"node": "Detectou Admin Cond?",
"type": "main",
"index": 0
},
{
"node": "Detectou Escola?",
"type": "main",
"index": 0
}
]
]
},
"Detectou Sindico?": {
"main": [
[
{
"node": "Salvar Persona Sindico",
"type": "main",
"index": 0
}
],
[]
]
},
"Detectou Admin Cond?": {
"main": [
[
{
"node": "Salvar Persona Admin",
"type": "main",
"index": 0
}
],
[]
]
},
"Detectou Escola?": {
"main": [
[
{
"node": "Salvar Persona Escola",
"type": "main",
"index": 0
}
],
[]
]
},
"Agent S\u00edndico": {
"main": [
[
{
"node": "Encaminhar para Engenharia?",
"type": "main",
"index": 0
}
]
]
},
"Agent Admin Cond": {
"main": [
[
{
"node": "Encaminhar para Engenharia?",
"type": "main",
"index": 0
}
]
]
},
"Agent Escola": {
"main": [
[
{
"node": "Encaminhar para Engenharia?",
"type": "main",
"index": 0
}
]
]
},
"Encaminhar para Engenharia?": {
"main": [
[
{
"node": "Chamar 004 Jules",
"type": "main",
"index": 0
}
],
[]
]
}
},
"settings": {
"executionOrder": "v1"
}
}
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.
supabaseApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
002_roteador_aninha_v2. Uses supabase, lmChatOpenAi, memoryBufferWindow, agent. Webhook trigger; 17 nodes.
Source: https://github.com/dlsolucoescondominiais/dl-nexus/blob/be5c32d4d85fbaf0389ba2e7ee4c52183cf67696/backend/n8n/workflows/002_roteador_aninha.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
L&D_AgentsAI_ATIVO. Uses httpRequest, agent, googleCalendarTool, toolSerpApi. Webhook trigger; 93 nodes.
Flux. Uses lmChatOpenAi, agent, googleGemini, httpRequest. Webhook trigger; 67 nodes.
Create a quiz assistant that helps users study a topic of their choice through WhatsApp. Using Supabase and OpenAI, this workflow captures missing user data, stores it, and delivers dynamic quizzes ta
⏺ 🚀 How it works
My workflow 15. Uses httpRequest, memoryBufferWindow, agent, lmChatOpenAi. Webhook trigger; 74 nodes.