{
  "name": "Enrutamiento Inteligente de Consultas de Clientes",
  "flow": [
    {
      "id": 1,
      "module": "whatsapp-business:watchMessages",
      "version": 1,
      "parameters": {
        "phoneNumberId": "{{WHATSAPP_PHONE_ID}}",
        "limit": 10
      },
      "mapper": {},
      "metadata": {
        "designer": { "x": 0, "y": -200 },
        "restore": {},
        "expect": [
          { "name": "phoneNumberId", "type": "text", "label": "Phone Number ID" }
        ]
      }
    },
    {
      "id": 2,
      "module": "gmail:watchEmails",
      "version": 2,
      "parameters": {
        "account": "{{GMAIL_CONNECTION}}",
        "label": "INBOX",
        "criteria": "is:unread"
      },
      "mapper": {},
      "metadata": {
        "designer": { "x": 0, "y": 0 },
        "restore": {},
        "expect": [
          { "name": "account", "type": "text", "label": "Connection" }
        ]
      }
    },
    {
      "id": 3,
      "module": "gateway:CustomWebhook",
      "version": 1,
      "parameters": {
        "webhookId": "{{WEBHOOK_FORMULARIO_ID}}"
      },
      "mapper": {},
      "metadata": {
        "designer": { "x": 0, "y": 200 },
        "restore": {},
        "expect": [
          { "name": "webhookId", "type": "text", "label": "Webhook ID" }
        ]
      }
    },
    {
      "id": 4,
      "module": "util:TextParser",
      "version": 1,
      "parameters": {},
      "mapper": {
        "text": "{{ifempty(1.text; ifempty(2.subject + \" \" + 2.textBody; 3.mensaje))}}",
        "pattern": "(factura|devolución|devolucion|precio|cotización|cotizacion|reclamo|queja|soporte|ayuda|garantía|garantia)"
      },
      "metadata": {
        "designer": { "x": 300, "y": 0 },
        "restore": {},
        "expect": [
          { "name": "text", "type": "text", "label": "Text" },
          { "name": "pattern", "type": "text", "label": "Pattern" }
        ]
      }
    },
    {
      "id": 5,
      "module": "builtin:BasicRouter",
      "version": 1,
      "parameters": {},
      "mapper": {},
      "routes": [
        {
          "label": "Facturación",
          "filter": { "conditions": [{ "a": "{{4.match}}", "o": "text:matches", "b": "factura" }] },
          "flow": [6]
        },
        {
          "label": "Ventas",
          "filter": { "conditions": [{ "a": "{{4.match}}", "o": "text:matches", "b": "precio|cotizaci" }] },
          "flow": [7]
        },
        {
          "label": "Soporte / Reclamos",
          "filter": { "conditions": [{ "a": "{{4.match}}", "o": "text:matches", "b": "reclamo|queja|soporte|ayuda|garantía|devolución" }] },
          "flow": [8]
        }
      ],
      "metadata": {
        "designer": { "x": 600, "y": 0 },
        "restore": {},
        "expect": []
      }
    },
    {
      "id": 6,
      "module": "slack:sendMessage",
      "version": 2,
      "parameters": {
        "token": "{{SLACK_BOT_TOKEN}}"
      },
      "mapper": {
        "channel": "#facturacion",
        "text": "📋 *Nueva consulta de facturación*\n\nCanal: {{ifempty(1.text; ifempty(\"Email\"; \"Formulario web\"))}}\nCliente: {{ifempty(1.senderName; ifempty(2.from; 3.nombre))}}\nMensaje: {{ifempty(1.text; ifempty(2.textBody; 3.mensaje))}}\nFecha: {{formatDate(now; \"DD/MM/YYYY HH:mm\")}}"
      },
      "metadata": {
        "designer": { "x": 900, "y": -200 },
        "restore": {},
        "expect": [
          { "name": "token", "type": "text", "label": "Bot Token" },
          { "name": "channel", "type": "text", "label": "Channel" }
        ]
      }
    },
    {
      "id": 7,
      "module": "slack:sendMessage",
      "version": 2,
      "parameters": {
        "token": "{{SLACK_BOT_TOKEN}}"
      },
      "mapper": {
        "channel": "#ventas",
        "text": "💰 *Nueva consulta de ventas*\n\nCanal: {{ifempty(1.text; ifempty(\"Email\"; \"Formulario web\"))}}\nCliente: {{ifempty(1.senderName; ifempty(2.from; 3.nombre))}}\nMensaje: {{ifempty(1.text; ifempty(2.textBody; 3.mensaje))}}\nFecha: {{formatDate(now; \"DD/MM/YYYY HH:mm\")}}"
      },
      "metadata": {
        "designer": { "x": 900, "y": 0 },
        "restore": {},
        "expect": [
          { "name": "token", "type": "text", "label": "Bot Token" },
          { "name": "channel", "type": "text", "label": "Channel" }
        ]
      }
    },
    {
      "id": 8,
      "module": "slack:sendMessage",
      "version": 2,
      "parameters": {
        "token": "{{SLACK_BOT_TOKEN}}"
      },
      "mapper": {
        "channel": "#soporte",
        "text": "🔧 *Nueva consulta de soporte / reclamo*\n\n⚠️ PRIORIDAD ALTA\nCanal: {{ifempty(1.text; ifempty(\"Email\"; \"Formulario web\"))}}\nCliente: {{ifempty(1.senderName; ifempty(2.from; 3.nombre))}}\nMensaje: {{ifempty(1.text; ifempty(2.textBody; 3.mensaje))}}\nFecha: {{formatDate(now; \"DD/MM/YYYY HH:mm\")}}"
      },
      "metadata": {
        "designer": { "x": 900, "y": 200 },
        "restore": {},
        "expect": [
          { "name": "token", "type": "text", "label": "Bot Token" },
          { "name": "channel", "type": "text", "label": "Channel" }
        ]
      }
    },
    {
      "id": 9,
      "module": "google-sheets:addRow",
      "version": 2,
      "parameters": {
        "spreadsheetId": "{{SPREADSHEET_TICKETS_ID}}",
        "sheetId": "Tickets",
        "includeHeaders": true
      },
      "mapper": {
        "values": {
          "0": "TK-{{formatDate(now; \"YYYYMMDDHHmmss\")}}",
          "1": "{{formatDate(now; \"DD/MM/YYYY HH:mm:ss\")}}",
          "2": "{{ifempty(1.senderName; ifempty(2.from; 3.nombre))}}",
          "3": "{{if(1.text; \"WhatsApp\"; if(2.subject; \"Email\"; \"Web\"))}}",
          "4": "{{4.match}}",
          "5": "{{ifempty(1.text; ifempty(2.textBody; 3.mensaje))}}",
          "6": "Abierto"
        }
      },
      "metadata": {
        "designer": { "x": 1200, "y": 0 },
        "restore": {
          "spreadsheetId": { "label": "Registro de Tickets" }
        },
        "expect": [
          { "name": "spreadsheetId", "type": "text", "label": "Spreadsheet ID" }
        ]
      }
    }
  ],
  "metadata": {
    "instant": true,
    "version": 1,
    "scenario": {
      "roundtrips": 1,
      "maxErrors": 3,
      "autoCommit": true,
      "autoCommitTriggerLast": true,
      "sequential": false
    },
    "designer": {
      "orphans": []
    },
    "zone": "us1.make.com"
  }
}