{
  "name": "Gabarito SubAgente CS Aula 3",
  "nodes": [
    {
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "mensagem"
            },
            {
              "name": "ChatID"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1.1,
      "position": [
        0,
        0
      ],
      "id": "70239440-aa17-4f7e-add7-4efb54c2a2e3",
      "name": "When Executed by Another Workflow"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.mensagem }}",
        "options": {
          "systemMessage": "=# Identidade\nVoc\u00ea \u00e9 o Arthur, Customer Success da Hashtag Capital.\nSeu tom \u00e9: Profissional, sofisticado, proativo e atencioso (\ud83e\udd1d, \ud83d\udcc8).\n\n# Contexto Temporal\nA data e hora exata de hoje \u00e9: {{ $now }}.\nUse esta data EXATA como refer\u00eancia para agendar reuni\u00f5es (hoje, amanh\u00e3, pr\u00f3xima ter\u00e7a).\n\n# SUAS RESPONSABILIDADES\n1. Agendamento: Marcar reuni\u00f5es de revis\u00e3o de carteira ou novos aportes com o Assessor S\u00eanior.\n2. Qualifica\u00e7\u00e3o (Triagem): Entender o momento do cliente antes de passar para o s\u00eanior.\n\n# Fluxo de Conversa\n\n## FASE 1: Triagem (Qualifica\u00e7\u00e3o)\nSe o cliente disser \"Quero investir\" ou \"Marcar reuni\u00e3o\", fa\u00e7a uma pergunta r\u00e1pida antes de agendar:\n- \"Com certeza! Para eu preparar o Assessor ideal para voc\u00ea: seu foco hoje \u00e9 mais em Prote\u00e7\u00e3o de Patrim\u00f4nio ou Busca por Rentabilidade?\"\n\n## FASE 2: Protocolo de Agendamento (Ferramenta `agendar_reuniao`)\nAp\u00f3s a resposta do cliente (qualquer que seja), siga para o agendamento:\n1. Pergunte a Data, Hora, nome e E-mail.\n2. Chame a ferramenta `agendar_reuniao` preenchendo os campos.\n3. Confirma\u00e7\u00e3o:\n   \"Perfeito, [Nome]! \ud83d\ude80\n   Reuni\u00e3o confirmada para [Data/Hora].\n   Enviei o invite para seu e-mail. Nosso Assessor S\u00eanior estar\u00e1 pronto para montar sua estrat\u00e9gia.\" E envie o link da videochamada\n\n# REGRA DE TEXTO (IMPORTANTE)\nVoc\u00ea est\u00e1 em um chat simples que quebra se receber c\u00f3digos.\n1. Escreva como se fosse um bloco de notas simples.\n2. NUNCA use negrito, it\u00e1lico, asteriscos ou c\u00f3digos de formata\u00e7\u00e3o.\n\n\n# Regra de Sa\u00edda (Reset)\nSe o assunto for FINANCEIRO (saldo, boleto) ou D\u00daVIDA T\u00c9CNICA TE\u00d3RICA (o que \u00e9 x?), responda apenas:\n##RESET##"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3.1,
      "position": [
        208,
        0
      ],
      "id": "bee5ee35-c1a8-4bf6-9adf-0b03f117f9a8",
      "name": "AI Agent"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "typeVersion": 1,
      "position": [
        80,
        208
      ],
      "id": "b65d5474-f933-457f-b234-62559c51530d",
      "name": "Google Gemini Chat Model",
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $json.ChatID }}",
        "contextWindowLength": 20
      },
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        224,
        208
      ],
      "id": "8dd9909e-2248-4b2c-923b-cc8a4c1228e4",
      "name": "Simple Memory"
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Create an event in Google Calendar",
        "calendar": {
          "__rl": true,
          "value": "alonpinheirohashtag@gmail.com",
          "mode": "list",
          "cachedResultName": "alonpinheirohashtag@gmail.com"
        },
        "start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', `Pegue a data e a hora de acordo com a solicita\u00e7\u00e3o do cliente pela mensagem no input`, 'string') }}",
        "end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', `1 hora de dura\u00e7\u00e3o ap\u00f3s o in\u00edcio`, 'string') }}",
        "additionalFields": {
          "attendees": [
            "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('attendees0_Attendees', `O e-mail que o cliente informou para ser convidado para a reuni\u00e3o`, 'string') }}"
          ],
          "conferenceDataUi": {
            "conferenceDataValues": {
              "conferenceSolution": "hangoutsMeet"
            }
          },
          "sendUpdates": "all",
          "summary": "Assessoria com Alon"
        }
      },
      "type": "n8n-nodes-base.googleCalendarTool",
      "typeVersion": 1.3,
      "position": [
        368,
        208
      ],
      "id": "c19bb2dc-09ab-4af0-b33e-6073adc8c00b",
      "name": "agendar_reuniao",
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "agendar_reuniao": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "availableInMCP": false
  },
  "versionId": "3616f009-8a24-4826-8d11-6182218f93bc",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "TIQRQx7jmFg5rH7vbvSIi",
  "tags": []
}