KI-gestützter Chatbot zur automatisierten Erstellung von WHMCS-Support-Tickets

Fortgeschritten

Dies ist ein AI Chatbot, Multimodal AI-Bereich Automatisierungsworkflow mit 6 Nodes. Hauptsächlich werden Agent, HttpRequestTool, ChatTrigger, LmChatGoogleGemini, MemoryBufferWindow und andere Nodes verwendet. Automatisiere die Erstellung von WHMCS-Support-Tickets mit einem Gemini AI Chatbot

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Gemini API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "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": "KI-Agent",
      "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": "Google Gemini Chat-Modell",
      "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": "Einfacher Speicher",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -416,
        448
      ],
      "parameters": {
        "contextWindowLength": 15
      },
      "typeVersion": 1.3
    },
    {
      "id": "7c841b5b-85db-490d-b078-d0ebbda7c677",
      "name": "Bei Empfang einer Chat-Nachricht",
      "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_OpenTicket",
      "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_GetSupportDepartments",
      "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": {
    "3aa08f6f-1515-4112-967c-2b5f7f16c929": {
      "main": [
        []
      ]
    },
    "21ebca8d-1432-413f-a793-c92fc3b4d166": {
      "ai_memory": [
        [
          {
            "node": "3aa08f6f-1515-4112-967c-2b5f7f16c929",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "22aef3f3-8382-4d96-866a-7952020c8192": {
      "ai_tool": [
        [
          {
            "node": "3aa08f6f-1515-4112-967c-2b5f7f16c929",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6c870916-a47b-4d2d-8ee3-47ec0e44ac40": {
      "ai_languageModel": [
        [
          {
            "node": "3aa08f6f-1515-4112-967c-2b5f7f16c929",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "7c841b5b-85db-490d-b078-d0ebbda7c677": {
      "main": [
        [
          {
            "node": "3aa08f6f-1515-4112-967c-2b5f7f16c929",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0e34b87c-9c06-4b75-96bb-272a98bd0a4f": {
      "ai_tool": [
        [
          {
            "node": "3aa08f6f-1515-4112-967c-2b5f7f16c929",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - KI-Chatbot, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes6
Kategorie2
Node-Typen5
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34