Chatbot IA pour la création automatique de tickets de support WHMCS

Intermédiaire

Ceci est unAI Chatbot, Multimodal AIworkflow d'automatisation du domainecontenant 6 nœuds.Utilise principalement des nœuds comme Agent, HttpRequestTool, ChatTrigger, LmChatGoogleGemini, MemoryBufferWindow. Automatiser la création de tickets de support WHMCS avec un chatbot Gemini AI

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Clé API Google Gemini
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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": "Agent 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": "Modèle 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": "Mémoire simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -416,
        448
      ],
      "parameters": {
        "contextWindowLength": 15
      },
      "typeVersion": 1.3
    },
    {
      "id": "7c841b5b-85db-490d-b078-d0ebbda7c677",
      "name": "À la réception d'un message",
      "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_OuvrirTicket",
      "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_ObtenirDépartementsAssistance",
      "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Chatbot IA, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds6
Catégorie2
Types de nœuds5
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34