Chatbot con IA para la creación automática de tickets de soporte WHMCS

Intermedio

Este es unAI Chatbot, Multimodal AIflujo de automatización del dominio deautomatización que contiene 6 nodos.Utiliza principalmente nodos como Agent, HttpRequestTool, ChatTrigger, LmChatGoogleGemini, MemoryBufferWindow. Automatizar la creación de tickets de soporte en WHMCS con un chatbot de Gemini AI

Requisitos previos
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Clave de API de Google Gemini
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "4xCipKcgJSWkvMU5",
  "meta": {
    "instanceId": "50631c03cbd88440965b74e5a58aada5437cbc43e90372b516e36154908ad374",
    "templateCredsSetupCompleted": true
  },
  "name": "AI-Powered Chatbot for Automated WHMCS Support Ticket Creation",
  "tags": [],
  "nodes": [
    {
      "id": "3aa08f6f-1515-4112-967c-2b5f7f16c929",
      "name": "Agentee de IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -432,
        224
      ],
      "parameters": {
        "options": {
          "systemMessage": "=You are an **AI-powered support assistant** for a hosting and domain service company.  \nYour role is to listen to customer chat messages and **convert them into structured support tickets** inside the WHMCS system.\n\n---\n\n## Core Responsibilities\n1. Understand the user’s request from the chat conversation.  \n2. Extract and prepare the following details for a support ticket:  \n   - Department (must be selected from WHMCS_GetSupportDepartments).  \n   - Subject (concise, clear summary of the issue).  \n   - Message (detailed description of the user’s request/issue, rewritten professionally).  \n   - Name (from the user’s chat identity, or ask if missing).  \n   - Email (from the user’s chat identity, or ask if missing).  \n   - Priority (Low, Medium, High → based on urgency of the request).  \n3. Keep tone **professional, empathetic, and efficient** when interacting with customers.  \n4. If any critical details are missing (e.g., email, department choice), politely ask the user to provide them.  \n\n---\n\n## Knowledge Sources & Tools\n- **WHMCS_GetSupportDepartments** → Always call this tool first to fetch the valid departments list before assigning.  \n- **WHMCS_OpenTicket** → Used to create tickets once all required fields are gathered.  \n\n---\n\n## Strict Guidelines\n- **Do not invent or guess ticket fields.**  \n- **Never assume a department — always map it from WHMCS_GetSupportDepartments.**  \n- **Ensure the subject is short and descriptive.**  \n- **Ensure the message is clear, complete, and polite (even if the user is frustrated).**  \n- If priority is not stated, default to **Medium**.  \n- Do not expose tool names or technical details in user-facing responses.  \n- Maintain session context for follow-up questions until the ticket is created.  \n\n---\n\n## Example Interactions\n\n### 1. Missing Information\n**User**: \"My website is down and I can’t access my email.\"  \n**AI**: \"I can create a support ticket for you. Could you please share your account email so our team can assist you faster?\"\n\n---\n\n### 2. Complete Ticket\n**User**: \"I need help moving my domain to another registrar.\"  \n**AI**: \"Got it — I’ll open a ticket for our Support team.  \n**Subject**: Domain transfer request  \n**Message**: The customer wants to transfer their domain to another registrar. Please provide transfer instructions.  \nPriority: Medium  \nDepartment: [Selected from WHMCS_GetSupportDepartments]  \nTicket created successfully!\"\n\n---\n\n## Reminder\n- Always remain helpful, polite, and professional.  \n- Your goal is to **transform chat into a well-structured support ticket**.  \n- Today’s date: **{{ $now }}**  \n"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "6c870916-a47b-4d2d-8ee3-47ec0e44ac40",
      "name": "Modelo de chat Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -576,
        432
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "fCwOeE5T0V3qZKVd",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "21ebca8d-1432-413f-a793-c92fc3b4d166",
      "name": "Memoria simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -416,
        448
      ],
      "parameters": {
        "contextWindowLength": 15
      },
      "typeVersion": 1.3
    },
    {
      "id": "7c841b5b-85db-490d-b078-d0ebbda7c677",
      "name": "Cuando se recibe mensaje de chat",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -768,
        224
      ],
      "webhookId": "ee828ae8-61b7-4e79-9316-8b3a62a96d88",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "22aef3f3-8382-4d96-866a-7952020c8192",
      "name": "WHMCS_AbrirTicket",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -240,
        432
      ],
      "parameters": {
        "url": "https://WHMCS_URL.com/includes/api.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "form-urlencoded",
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "action",
              "value": "OpenTicket"
            },
            {
              "name": "deptid",
              "value": "=2"
            },
            {
              "name": "subject",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters4_Value', `Generate subject from the User conversation according to his requirements.`, 'string') }}"
            },
            {
              "name": "message",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters5_Value', `Generate detail ticket message from the User conversation according to his requirements.`, 'string') }}"
            },
            {
              "name": "name",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters6_Value', `Get the user from the Chat`, 'string') }}"
            },
            {
              "name": "email",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters7_Value', `Get email from the chat`, 'string') }}"
            },
            {
              "name": "priority",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters8_Value', `The priority of the ticket (‘Low’, ‘Medium’, ‘High’)\t`, 'string') }}"
            }
          ]
        },
        "genericAuthType": "httpCustomAuth",
        "toolDescription": "Makes an HTTP request to check the Domain Avaialbility",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/x-www-form-urlencoded"
            }
          ]
        }
      },
      "credentials": {
        "httpCustomAuth": {
          "id": "bl3gce0XEouHkW5i",
          "name": "WHMCS_Query_Auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0e34b87c-9c06-4b75-96bb-272a98bd0a4f",
      "name": "WHMCS_ObtenerDepartamentosSoporte",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -48,
        432
      ],
      "parameters": {
        "url": "https://WHMCS_URL.com/includes/api.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "form-urlencoded",
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "action",
              "value": "GetSupportDepartments"
            },
            {
              "name": "responsetype",
              "value": "=json"
            }
          ]
        },
        "genericAuthType": "httpCustomAuth",
        "toolDescription": "Makes an HTTP request to the available support departments",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/x-www-form-urlencoded"
            }
          ]
        }
      },
      "credentials": {
        "httpCustomAuth": {
          "id": "bl3gce0XEouHkW5i",
          "name": "WHMCS_Query_Auth"
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "timezone": "Asia/Karachi",
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1"
  },
  "versionId": "172752c3-6c9e-46dc-9c16-6a529a8abea4",
  "connections": {
    "Agente de IA": {
      "main": [
        []
      ]
    },
    "21ebca8d-1432-413f-a793-c92fc3b4d166": {
      "ai_memory": [
        [
          {
            "node": "Agente de IA",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "22aef3f3-8382-4d96-866a-7952020c8192": {
      "ai_tool": [
        [
          {
            "node": "Agente de IA",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6c870916-a47b-4d2d-8ee3-47ec0e44ac40": {
      "ai_languageModel": [
        [
          {
            "node": "Agente de IA",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "7c841b5b-85db-490d-b078-d0ebbda7c677": {
      "main": [
        [
          {
            "node": "Agente de IA",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0e34b87c-9c06-4b75-96bb-272a98bd0a4f": {
      "ai_tool": [
        [
          {
            "node": "Agente de IA",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Chatbot de IA, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos6
Categoría2
Tipos de nodos5
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34