{
  "name": "Triagem de suporte com IA",
  "active": false,
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "triagem-suporte",
        "responseMode": "responseNode",
        "options": {}
      },
      "id": "5a1f0b6e-1c2d-4e3f-9a10-000000000001",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        -460,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Assina o corpo cru com HMAC-SHA256 antes de chamar o servi\u00e7o.\n// O texto assinado e o texto enviado precisam ser byte a byte iguais,\n// por isso o corpo segue adiante como string pronta.\nconst crypto = require('crypto');\n\nconst secret = $env.WEBHOOK_SECRET || 'dev-secret-troque-em-producao';\nconst entrada = $json.body || {};\n\nconst payload = {\n  id: String(entrada.id),\n  texto: String(entrada.texto),\n  canal: String(entrada.canal)\n};\n\nconst corpo = JSON.stringify(payload);\nconst assinatura = 'sha256=' + crypto.createHmac('sha256', secret).update(corpo).digest('hex');\n\nreturn [{ json: { corpo, assinatura } }];"
      },
      "id": "5a1f0b6e-1c2d-4e3f-9a10-000000000002",
      "name": "Assinar Payload",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -240,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://host.docker.internal:8000/webhook/triage",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Signature",
              "value": "={{ $json.assinatura }}"
            }
          ]
        },
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "={{ $json.corpo }}",
        "options": {}
      },
      "id": "5a1f0b6e-1c2d-4e3f-9a10-000000000003",
      "name": "Chamar Servico de Triagem",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -20,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.urgencia }}",
              "operation": "equal",
              "value2": "alta"
            }
          ]
        }
      },
      "id": "5a1f0b6e-1c2d-4e3f-9a10-000000000004",
      "name": "Urgencia Alta?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        200,
        300
      ]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "acao",
              "value": "escalar-plantao"
            },
            {
              "name": "sla_horas",
              "value": "1"
            }
          ]
        },
        "options": {}
      },
      "id": "5a1f0b6e-1c2d-4e3f-9a10-000000000005",
      "name": "Marcar Escalonamento",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        420,
        180
      ]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "acao",
              "value": "fila-normal"
            },
            {
              "name": "sla_horas",
              "value": "24"
            }
          ]
        },
        "options": {}
      },
      "id": "5a1f0b6e-1c2d-4e3f-9a10-000000000006",
      "name": "Marcar Fila Normal",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        420,
        420
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify($json) }}",
        "options": {}
      },
      "id": "5a1f0b6e-1c2d-4e3f-9a10-000000000007",
      "name": "Responder Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        660,
        300
      ]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Assinar Payload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Assinar Payload": {
      "main": [
        [
          {
            "node": "Chamar Servico de Triagem",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Chamar Servico de Triagem": {
      "main": [
        [
          {
            "node": "Urgencia Alta?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Urgencia Alta?": {
      "main": [
        [
          {
            "node": "Marcar Escalonamento",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Marcar Fila Normal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Marcar Escalonamento": {
      "main": [
        [
          {
            "node": "Responder Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Marcar Fila Normal": {
      "main": [
        [
          {
            "node": "Responder Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {}
}