Demande de services IT JOTFORM

Intermédiaire

Ceci est unTicket Management, AI Summarizationworkflow d'automatisation du domainecontenant 13 nœuds.Utilise principalement des nœuds comme Set, Gmail, Telegram, GoogleSheets, JotFormTrigger. Classer et traiter les demandes TI en utilisant Jotform, Gemini AI et Google Workspace

Prérequis
  • Compte Google et informations d'identification Gmail API
  • Token Bot Telegram
  • Informations d'identification Google Sheets API
  • 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": "ks75ajOn93UedaeQ",
  "meta": {
    "instanceId": "629b84172205f7f7d120e17f3c123374afb437270b96347406aace34d2037da2"
  },
  "name": "JOTFORM IT Service Request",
  "tags": [],
  "nodes": [
    {
      "id": "eddf1e46-927f-4bf9-acbb-53dd776424da",
      "name": "Déclencheur JotForm",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -64,
        640
      ],
      "webhookId": "49d4fe05-0919-407c-899d-7510fe156614",
      "parameters": {
        "form": "="
      },
      "credentials": {
        "jotFormApi": {
          "id": "zuUGTUKv9eQd5cJT",
          "name": "JotForm account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f5108a8e-39db-425d-967c-c12ceeace077",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        768,
        976
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "OISgoYWoOCFhLV0m",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0b99a659-e245-4f9c-b1c0-5e25832fc18a",
      "name": "Chaîne de Résumé",
      "type": "@n8n/n8n-nodes-langchain.chainSummarization",
      "position": [
        528,
        640
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 2.1
    },
    {
      "id": "fbf96746-b4cf-4a79-97a9-32c47e00c237",
      "name": "Répondre à l'Utilisateur",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1824,
        576
      ],
      "webhookId": "1909f2ab-e8a5-4caa-b678-fca26df4b4e0",
      "parameters": {
        "sendTo": "={{ $json.Email }}",
        "message": "=Dear {{ $json.Name }},\n\nThank you for submitting your IT service request. We’ve received your request and our team is currently reviewing the details. You will be notified once the issue has been assigned and work begins.\n\nIf you have any additional information to share, please reply to this email.\n\nSummary:\n{{ $json.Summary }}\n\nRequest:\n{{ $json.Problem }}\n\nBest regards,\nIT Support Team",
        "options": {},
        "subject": "=IT Service Request: {{ $json.Name }} - {{ $json.Department }} - {{ $json.Category }}- {{ $json.Date }}",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "DAEc0IIArKM8pyjk",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "f092a3cf-0561-4c0b-b807-2a1ebc92ef4e",
      "name": "Classificateur de Priorité",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        880,
        624
      ],
      "parameters": {
        "options": {},
        "inputText": "=Description:\n{{ $('JotForm Trigger').item.json['Please Specify'] }}\n\nComments:\n{{ $('JotForm Trigger').item.json['Comment and Questions'] }}",
        "categories": {
          "categories": [
            {
              "category": "Low",
              "description": "Requests that are non-critical and do not impact daily operations. These tasks can be completed within several days without affecting productivity. Usually involve routine maintenance, minor updates, or general inquiries."
            },
            {
              "category": "Medium",
              "description": "Requests that affect an individual’s ability to work but do not impact multiple users or critical systems. These tasks should be addressed within 24–48 hours to minimize disruption."
            },
            {
              "category": "High",
              "description": "Requests that have a major impact on business operations or affect multiple users. These require immediate attention to restore functionality or prevent downtime."
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "a8481a8c-d041-4f34-ae94-58d0a4752107",
      "name": "Stockage dans Sheets P2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1296,
        400
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ new Date().format('MMMM D, h:mm:ss a') }}",
            "Name": "={{ $('Downstream Fields').item.json['Full Name'].first }} {{ $('Downstream Fields').item.json['Full Name'].last }}",
            "Email": "={{ $('Downstream Fields').item.json['E-mail'] }}",
            "Status": "TODO",
            "Problem": "={{ $('Downstream Fields').item.json['Please Specify'] }}\n\nComments: {{ $('Downstream Fields').item.json['Comment and Questions'] }}",
            "Summary": "={{ $('Summarization Chain').item.json.output.text }}",
            "Category": "={{ $('Downstream Fields').item.json['Problem Category'][0] }}",
            "Priority": "P2",
            "Department": "={{ $('Downstream Fields').item.json.Department }}",
            "Building Number": "={{ $('Downstream Fields').item.json['Building Number'] }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Priority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Department",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Department",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Building Number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Building Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Problem",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Problem",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "tG6sJQ2UoifovxJZ",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "d045f16c-626b-403b-92a8-95b3624f69c5",
      "name": "Stockage dans Sheets P0",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1552,
        768
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ new Date().format('MMMM D, h:mm:ss a') }}",
            "Name": "={{ $('Downstream Fields').item.json['Full Name'].first }} {{ $('Downstream Fields').item.json['Full Name'].last }}",
            "Email": "={{ $('Downstream Fields').item.json['E-mail'] }}",
            "Status": "TODO",
            "Problem": "={{ $('Downstream Fields').item.json['Please Specify'] }}\n\n{{ $('Downstream Fields').item.json['Comment and Questions'] }}",
            "Summary": "={{ $('Summarization Chain').item.json.output.text }}",
            "Category": "={{ $('Downstream Fields').item.json['Problem Category'][0] }}",
            "Priority": "=P0",
            "Department": "={{ $('Downstream Fields').item.json.Department }}",
            "Building Number": "={{ $('Downstream Fields').item.json['Building Number'] }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Priority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Department",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Department",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Building Number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Building Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Problem",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Problem",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "tG6sJQ2UoifovxJZ",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "58061549-f68d-490c-b190-4f39ab67ffb5",
      "name": "Stockage dans Sheets P1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1296,
        576
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ new Date().format('MMMM D, h:mm:ss a') }}",
            "Name": "={{ $('Downstream Fields').item.json['Full Name'].first }} {{ $('Downstream Fields').item.json['Full Name'].last }}",
            "Email": "={{ $('Downstream Fields').item.json['E-mail'] }}",
            "Status": "TODO",
            "Problem": "={{ $('Downstream Fields').item.json['Please Specify'] }}\n\nComments: {{ $('Downstream Fields').item.json['Comment and Questions'] }}",
            "Summary": "={{ $('Summarization Chain').item.json.output.text }}",
            "Category": "={{ $('Downstream Fields').item.json['Problem Category'][0] }}",
            "Priority": "P1",
            "Department": "={{ $('Downstream Fields').item.json.Department }}",
            "Building Number": "={{ $('Downstream Fields').item.json['Building Number'] }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Priority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Department",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Department",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Building Number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Building Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Problem",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Problem",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "tG6sJQ2UoifovxJZ",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "4ac3dcf5-1571-4ef6-a713-9cd1b769da4d",
      "name": "Envoyer au Groupe",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1296,
        768
      ],
      "webhookId": "b21285aa-a097-41db-a5a0-f5d233a5bd28",
      "parameters": {
        "text": "=⚠️ALERT⚠️\n\nPlease do it immediately\nP0 Request\n\nSummary\n{{ $json.output.text }}\nRequest\n{{ $('Downstream Fields').item.json['Please Specify'] }}\n\nComments\n{{ $('Downstream Fields').item.json['Comment and Questions'] }}\n\nName: {{ $('Downstream Fields').item.json['Full Name'].first }} {{ $('Downstream Fields').item.json['Full Name'].last }}\n\nDepartment: {{ $('Downstream Fields').item.json.Department }}\n\nCategory: {{ $('Downstream Fields').item.json['Problem Category'][0] }}\n\nBuilding Number: {{ $('Downstream Fields').item.json['Building Number'] }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "79cg2SffWnQrdXjQ",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "993442ca-2aef-4177-8ea6-1d0795268895",
      "name": "Note Adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        336
      ],
      "parameters": {
        "color": 7,
        "width": 336,
        "height": 528,
        "content": "## Form\n\nStarts workflow when a new IT Service Request is submitted on Jotform.\n\nCaptures: Full Name, Department, Email, Building Number, Problem Category, and Comments.\n\nConnects to “Set Fields” node for structured data mapping."
      },
      "typeVersion": 1
    },
    {
      "id": "a944c896-72d2-4313-92fc-80715f0ed8bf",
      "name": "Note Adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        128
      ],
      "parameters": {
        "color": 7,
        "width": 624,
        "height": 864,
        "content": "## Summarizaion & Classifer\n\n- Uses AI to summarize problem details for reports and alerts.\n- Works with Google Gemini model for summarization and classification.\n- Produces a short “Summary” used in Sheets, emails, and Telegram messages.\n- Analyzes request details (problem + comments).\n\n### Classifies into:\nP0 (High) – Immediate action\nP1 (Medium) – Affects single user\nP2 (Low) – Non-critical maintenance\n\nRoutes to correct Google Sheet tab and notification channel."
      },
      "typeVersion": 1
    },
    {
      "id": "09d4ff17-05da-4c4b-8de8-ae7cfe00a98c",
      "name": "Champs en Aval",
      "type": "n8n-nodes-base.set",
      "position": [
        272,
        640
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7ead3c02-52b8-424d-9c3f-3c295ef25e89",
              "name": "Full Name",
              "type": "object",
              "value": "={{ $json['Full Name'] }}"
            },
            {
              "id": "546c1672-e08a-4a15-ac06-8328643e5452",
              "name": "Department",
              "type": "string",
              "value": "={{ $json.Department }}"
            },
            {
              "id": "3d4efe56-a77b-4957-8891-998f2b9242c6",
              "name": "E-mail",
              "type": "string",
              "value": "={{ $json['E-mail'] }}"
            },
            {
              "id": "f7f0d2ab-0f37-4311-9bc2-06484973a2c8",
              "name": "Building Number",
              "type": "string",
              "value": "={{ $json['Building Number'] }}"
            },
            {
              "id": "37038773-4789-4be4-bfcb-e66622def048",
              "name": "['Problem Category'][0]",
              "type": "string",
              "value": "={{ $json['Problem Category'][0] }}"
            },
            {
              "id": "484d4c07-32d9-4e31-a13a-97534871863f",
              "name": "Please Specify",
              "type": "string",
              "value": "={{ $json['Please Specify'] }}"
            },
            {
              "id": "86f0e37d-7cbd-4492-bf18-e47b532cf572",
              "name": "Comment and Questions",
              "type": "string",
              "value": "={{ $json['Comment and Questions'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "cf8f4c50-bdb6-46c2-9eb8-ecde6e6bb08e",
      "name": "Note Adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        -64
      ],
      "parameters": {
        "width": 880,
        "height": 336,
        "content": "## Automate IT Service Request intake → classification → storage → notification → acknowledgment.\n\n- Faster IT response time\n- Centralized data in Google Sheets\n- AI-driven ticket summarization\n- Automatic priority routing and communication"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e8cfc82c-1f89-4da8-b1d5-f232d2098929",
  "connections": {
    "4ac3dcf5-1571-4ef6-a713-9cd1b769da4d": {
      "main": [
        [
          {
            "node": "d045f16c-626b-403b-92a8-95b3624f69c5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "eddf1e46-927f-4bf9-acbb-53dd776424da": {
      "main": [
        [
          {
            "node": "09d4ff17-05da-4c4b-8de8-ae7cfe00a98c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "09d4ff17-05da-4c4b-8de8-ae7cfe00a98c": {
      "main": [
        [
          {
            "node": "0b99a659-e245-4f9c-b1c0-5e25832fc18a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d045f16c-626b-403b-92a8-95b3624f69c5": {
      "main": [
        [
          {
            "node": "fbf96746-b4cf-4a79-97a9-32c47e00c237",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "58061549-f68d-490c-b190-4f39ab67ffb5": {
      "main": [
        [
          {
            "node": "fbf96746-b4cf-4a79-97a9-32c47e00c237",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a8481a8c-d041-4f34-ae94-58d0a4752107": {
      "main": [
        [
          {
            "node": "fbf96746-b4cf-4a79-97a9-32c47e00c237",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f092a3cf-0561-4c0b-b807-2a1ebc92ef4e": {
      "main": [
        [
          {
            "node": "a8481a8c-d041-4f34-ae94-58d0a4752107",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "58061549-f68d-490c-b190-4f39ab67ffb5",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "4ac3dcf5-1571-4ef6-a713-9cd1b769da4d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0b99a659-e245-4f9c-b1c0-5e25832fc18a": {
      "main": [
        [
          {
            "node": "f092a3cf-0561-4c0b-b807-2a1ebc92ef4e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f5108a8e-39db-425d-967c-c12ceeace077": {
      "ai_languageModel": [
        [
          {
            "node": "f092a3cf-0561-4c0b-b807-2a1ebc92ef4e",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "0b99a659-e245-4f9c-b1c0-5e25832fc18a",
            "type": "ai_languageModel",
            "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 - Gestion des tickets, Résumé IA

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œuds13
Catégorie2
Types de nœuds9
Description de la difficulté

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

Auteur
Rully Saputra

Rully Saputra

@rullysaputra15

Specializing in software engineering with over 5 years of hands-on experience. In addition to my expertise in web development, I also have experience in creating Hybrid mobile apps.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34