This workflow follows the Agent → OpenAI Chat 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": "AGENTE PERSONAS",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "agente-personas",
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
-48,
16
],
"id": "webhook-personas",
"name": "Webhook"
},
{
"parameters": {
"promptType": "define",
"text": "AGENTE PERSONAS - Autem Investimentos\n\nQUEM VOC\u00ca \u00c9\nVoc\u00ea \u00e9 o especialista em personas de investidores da Autem Investimentos. Sua fun\u00e7\u00e3o \u00e9 criar perfis detalhados de investidores para guiar a cria\u00e7\u00e3o de conte\u00fado.\n\nCONTEXTO\nA Autem atende investidores de perfis variados, desde conservadores que buscam seguran\u00e7a at\u00e9 agressivos que buscam alta rentabilidade.\n\nINPUT ESPERADO\nO usu\u00e1rio enviar\u00e1:\n- acao: 'criar' | 'analisar' | 'sugerir-conteudo'\n- nome: Nome da persona (para criar)\n- perfil: conservador | moderado | agressivo\n- dados: objeto com dados demogr\u00e1ficos (opcional)\n\nPARA CRIAR PERSONA:\nGere um perfil completo incluindo:\n1. Nome e identidade\n2. Dados demogr\u00e1ficos (idade, renda, patrim\u00f4nio)\n3. Objetivos de investimento\n4. Medos e preocupa\u00e7\u00f5es\n5. Interesses e comportamentos\n6. Tom de comunica\u00e7\u00e3o ideal\n7. Canais preferidos com %\n8. Gatilhos de convers\u00e3o\n9. Exemplo de conte\u00fado que ressoa\n\nPARA ANALISAR PERSONA:\nAnalise a persona e sugira:\n1. Pontos fortes do perfil\n2. Poss\u00edveis gaps de comunica\u00e7\u00e3o\n3. Oportunidades de engajamento\n4. Conte\u00fados que provavelmente converteriam\n\nPARA SUGERIR CONTE\u00daDO:\nCom base na persona, sugira:\n1. 5 temas de conte\u00fado relevantes\n2. Tom e abordagem ideal para cada um\n3. Formato recomendado (carrossel, reels, etc)\n4. CTA apropriado\n\nESTRUTURA DE RESPOSTA\nUse emojis, se\u00e7\u00f5es claras e formato f\u00e1cil de copiar/Colar para o banco de dados.",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 3.1,
"position": [
208,
0
],
"id": "ai-agent-personas",
"name": "AI Agent Personas"
},
{
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.3,
"position": [
192,
320
],
"id": "openai-personas",
"name": "OpenAI Chat Model",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"respondWith": "text",
"responseBody": "={{ $json.output }}",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.5,
"position": [
560,
0
],
"id": "respond-personas",
"name": "Respond to Webhook"
},
{
"parameters": {
"jsCode": "const body = $input.first().json.body;\n\nconst acao = body.acao || 'criar';\nlet prompt = '';\n\nif (acao === 'criar') {\n prompt = `Criar persona de investidor: ${body.nome || 'Novo Investidor'}. Perfil: ${body.perfil || 'moderado'}. ${body.dados ? 'Dados adicionais: ' + JSON.stringify(body.dados) : ''}`;\n} else if (acao === 'analisar') {\n prompt = `Analisar persona: ${body.nome}. Perfil: ${body.perfil}. Dados: ${JSON.stringify(body.dados || {})}`;\n} else if (acao === 'sugerir-conteudo') {\n prompt = `Sugerir conte\u00fado para persona: ${body.nome}. Perfil: ${body.perfil}. Objetivo: ${body.objetivo || 'atra\u00e7\u00e3o'}`;\n}\n\nreturn [{\n json: {\n acao,\n nome: body.nome,\n perfil: body.perfil,\n dados: body.dados,\n message: prompt\n }\n}];"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
80,
0
],
"id": "extract-personas",
"name": "Extract Data"
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Extract Data",
"type": "main",
"index": 0
}
]
]
},
"Extract Data": {
"main": [
[
{
"node": "AI Agent Personas",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent Personas",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"AI Agent Personas": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"tags": [
"autem",
"personas"
]
}
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.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
AGENTE PERSONAS. Uses agent, lmChatOpenAi. Webhook trigger; 5 nodes.
Source: https://github.com/Gabrielloopes33/utem1/blob/f7bd255daa5f8c590b2de59c57a1ae274617368a/docs/n8n-workflows/agente-personas.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.
⏺ 🚀 How it works
L&D_AgentsAI_ATIVO. Uses httpRequest, agent, googleCalendarTool, toolSerpApi. Webhook trigger; 93 nodes.
CLINICAINTEGRAL_secretary. Uses postgres, mcpClientTool, googleDriveTool, toolWorkflow. Webhook trigger; 89 nodes.
Remi 1.1. Uses lmChatOpenAi, memoryPostgresChat, openAi, postgres. Webhook trigger; 89 nodes.
This n8n workflow orchestrates a powerful suite of AI Agents and automations to manage and optimize various aspects of an e-commerce operation, particularly for platforms like Shopify. It leverages La