{
  "name": "Somar.IA SaaS - Agente Aut\u00f4nomo WhatsApp (Gemini)",
  "nodes": [
    {
      "parameters": {
        "path": "whatsapp-agent-webhook",
        "responseMode": "lastNode",
        "options": {}
      },
      "id": "webhook-evolution",
      "name": "Webhook WhatsApp",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        100,
        300
      ]
    },
    {
      "parameters": {
        "text": "={{ $json.body.message || $json.message }}",
        "options": {
          "systemMessage": "Voc\u00ea \u00e9 a Maya, assistente virtual da Cl\u00ednica. Seja prestativa e profissional.\n\nVoc\u00ea pode: Consultar hor\u00e1rios, Agendar, Remarcar e Cancelar consultas.\nUse as ferramentas fornecidas para acessar o sistema interno.\n\nSempre pergunte informa\u00e7\u00f5es faltando (como nome e telefone) antes de agendar."
        }
      },
      "id": "ai-agent-main",
      "name": "Agente Aut\u00f4nomo",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1,
      "position": [
        400,
        300
      ]
    },
    {
      "parameters": {
        "model": "gemini-pro",
        "options": {}
      },
      "id": "gemini-model",
      "name": "Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "typeVersion": 1,
      "position": [
        350,
        500
      ]
    },
    {
      "parameters": {
        "sessionId": "={{ $('Webhook WhatsApp').item.json.sender_number }}",
        "contextWindowLength": 10
      },
      "id": "buffer-memory",
      "name": "Mem\u00f3ria da Conversa",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1,
      "position": [
        500,
        500
      ]
    },
    {
      "parameters": {
        "name": "consultar_horarios",
        "description": "Retorna os hor\u00e1rios dispon\u00edveis para agendamento. Passe a data desejada como YYYY-MM-DD.",
        "method": "GET",
        "url": "https://synka.somar.ia.br/api/n8n/agenda/disponibilidade",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "date",
              "value": "={{ $fromAI('date') }}"
            },
            {
              "name": "tenantId",
              "value": "={{ $json.tenantId }}"
            }
          ]
        }
      },
      "id": "tool-availability",
      "name": "Ferramenta: Ver Hor\u00e1rios",
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "typeVersion": 1,
      "position": [
        650,
        500
      ]
    },
    {
      "parameters": {
        "name": "agendar_ou_cancelar",
        "description": "Cria ou cancela um agendamento no sistema. A\u00e7\u00f5es suportadas: 'schedule' ou 'cancel'. Dados necess\u00e1rios: pacienteTelefone, pacienteNome, dataHora (ISO).",
        "method": "POST",
        "url": "https://synka.somar.ia.br/api/n8n/agenda/criar",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "nome",
              "value": "={{ $fromAI(\"pacienteNome\") }}"
            },
            {
              "name": "dataHora",
              "value": "={{ $fromAI(\"dataHora\") }}"
            },
            {
              "name": "pacienteTelefone",
              "value": "={{ $fromAI(\"pacienteTelefone\") || $json.sessionId }}"
            },
            {
              "name": "tenantId",
              "value": "={{ $json.tenantId }}"
            }
          ]
        }
      },
      "id": "tool-appointments",
      "name": "Ferramenta: Gest\u00e3o de Agendamento",
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "typeVersion": 1,
      "position": [
        850,
        500
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://sua-api-whatsapp.com.br/message/sendText/clinica_ID",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "number",
              "value": "={{ $('Webhook WhatsApp').item.json.sender_number }}"
            },
            {
              "name": "textMessage.text",
              "value": "={{ $json.output }}"
            }
          ]
        },
        "options": {}
      },
      "id": "send-wa",
      "name": "Disparar Resposta WhatsApp",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [
        750,
        300
      ]
    }
  ],
  "connections": {
    "Webhook WhatsApp": {
      "main": [
        [
          {
            "node": "Agente Aut\u00f4nomo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agente Aut\u00f4nomo": {
      "main": [
        [
          {
            "node": "Disparar Resposta WhatsApp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini": {
      "ai_languageModel": [
        [
          {
            "node": "Agente Aut\u00f4nomo",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Mem\u00f3ria da Conversa": {
      "ai_memory": [
        [
          {
            "node": "Agente Aut\u00f4nomo",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Ferramenta: Ver Hor\u00e1rios": {
      "ai_tool": [
        [
          {
            "node": "Agente Aut\u00f4nomo",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Ferramenta: Gest\u00e3o de Agendamento": {
      "ai_tool": [
        [
          {
            "node": "Agente Aut\u00f4nomo",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {}
}