{
  "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"
  ]
}