Gestion automatisée des demandes d'aide pour ONG avec Telegram, GPT-4 et Google Sheets
Ceci est unTicket Management, AI Chatbotworkflow d'automatisation du domainecontenant 12 nœuds.Utilise principalement des nœuds comme Set, Switch, Telegram, GoogleSheets, Agent. Utiliser Telegram, GPT-4 et Google Sheets pour automatiser la gestion des demandes d'aide d'ONG
- •Token Bot Telegram
- •Informations d'identification Google Sheets API
- •Clé API OpenAI
Nœuds utilisés (12)
Catégorie
{
"id": "PvcEnJDre7QTh3Xy",
"meta": {
"instanceId": "9eff06f9794a5c6da9f8bedd7572cd2897d884c2b43f32b8368bd92e03c34228",
"templateCredsSetupCompleted": true
},
"name": "Automate NGO Aid Request Management with Telegram, GPT-4, and Google Sheets",
"tags": [],
"nodes": [
{
"id": "e93ae817-3f4b-49dc-8fe8-821170633c69",
"name": "Déclencheur Telegram",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
80,
-80
],
"webhookId": "e344c7c7-dd4b-48e7-86fa-f0e00fd12c96",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "eQGhTntXIBs9WNlc",
"name": "Telegram DigiSteps1_bot message"
}
},
"typeVersion": 1.2
},
{
"id": "56283c02-e027-47c0-94ab-02745a082f80",
"name": "Route Message Type",
"type": "n8n-nodes-base.switch",
"position": [
240,
-80
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Text",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "dc5471a7-7a28-43e7-8666-1842cba51c95",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.text }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "Audio",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4a94e9ac-99ac-4187-b7d3-6de1a71506dc",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.voice.file_id }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "10c260a8-4987-42ec-bca2-b3192147b702",
"name": "Fetch Audio File",
"type": "n8n-nodes-base.telegram",
"position": [
380,
60
],
"webhookId": "51579376-9e38-4c43-b726-59b60458cb4d",
"parameters": {
"fileId": "={{ $json.message.voice.file_id }}",
"resource": "file"
},
"credentials": {
"telegramApi": {
"id": "eQGhTntXIBs9WNlc",
"name": "Telegram DigiSteps1_bot message"
}
},
"typeVersion": 1.2
},
{
"id": "950d8c4e-1f99-40cc-8434-f54693806d0f",
"name": "Transcribe Voice Message",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
540,
60
],
"parameters": {
"options": {},
"resource": "audio",
"operation": "transcribe"
},
"credentials": {
"openAiApi": {
"id": "I2N5Mx7hiecxYcpu",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "38ebb5b9-d13f-4587-8717-42f324ef74e2",
"name": "Extract Text Message",
"type": "n8n-nodes-base.set",
"position": [
460,
-180
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d7c9be19-c1c4-4287-ac0e-7a2be9732a51",
"name": "text",
"type": "string",
"value": "={{ $json.message.text }}"
}
]
}
},
"typeVersion": 3.4,
"alwaysOutputData": false
},
{
"id": "59a1eb8b-38f3-478f-8a71-3990cf2df204",
"name": "Agent IA",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
840,
-100
],
"parameters": {
"text": "= here is request from beneficiary: {{ $json.text }}",
"options": {
"systemMessage": "You are the NGO TPM team leader. The user has requested help. Categorize the request, and please suggest an action for the TPM team to take\nاكتب دائماً باللغة العربية\nThe output should be like\n{\n \"category\": \"مشكلة في توزيع المساعدات\",\n \"action\": \"التواصل مع فرق التوزيع للتحقق من سبب عدم وصول المساعدات إلى القرية والتأكد من الإجراءات اللازمة لحل المشكلة.\"\n}\n\n\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "3c9aaed8-6956-4bd4-89a0-610e7e4e2982",
"name": "Modèle de chat OpenAI",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
840,
120
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "I2N5Mx7hiecxYcpu",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "c66af39a-150f-4a37-92dc-601e5b3879a5",
"name": "Send Confirmation Message",
"type": "n8n-nodes-base.telegram",
"position": [
1640,
-80
],
"webhookId": "0b6bd34e-c586-4cef-a6b0-da7a55a5b7ca",
"parameters": {
"text": "=تم استقبال طلبك انه هنالك {{ $('AI Agent').item.json.output.category }}",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "eQGhTntXIBs9WNlc",
"name": "Telegram DigiSteps1_bot message"
}
},
"typeVersion": 1.2
},
{
"id": "625e6f44-7bbe-416b-9912-9b8fc3545f89",
"name": "Save Audio Request to Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1440,
-200
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $('Telegram Trigger').item.json.message.message_id }}",
"action": "={{ $json.output.action }}",
"category": "={{ $json.output.category }}\n",
"last name": "={{ $('Telegram Trigger').item.json.message.chat.last_name }}",
"First name": "={{ $('Telegram Trigger').item.json.message.chat.first_name }}",
"Transcription": "={{ $('Transcribe Voice Message').item.json.text }}",
"Telegram User Name": "={{ $('Telegram Trigger').item.json.message.chat.username }}"
},
"schema": [
{
"id": "ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Text",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Transcription",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Transcription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "action",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "action",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "First name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "First name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "last name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Telegram User Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Telegram User Name",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JKCLCjfm3xIFg5YH0EH9qK4W69jjeX673dFxaHfVRzo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1JKCLCjfm3xIFg5YH0EH9qK4W69jjeX673dFxaHfVRzo/edit?usp=sharing"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "KtYF0aYlnYbm8XkV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "7d7b8310-c0cf-433c-932f-97219f37bec3",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1020,
120
],
"parameters": {
"jsonSchemaExample": "{\n \"category\": \"مشكلة في توزيع المساعدات\",\n \"action\": \"التواصل مع فرق التوزيع للتحقق من سبب عدم وصول المساعدات إلى القرية والتأكد من الإجراءات اللازمة لحل المشكلة.\"\n}\n"
},
"typeVersion": 1.2
},
{
"id": "ab338a5f-51ac-4ebc-a668-59ddec459d9b",
"name": "Route to Appropriate Sheet",
"type": "n8n-nodes-base.switch",
"position": [
1200,
-100
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Audio",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "5b7518a8-578a-4fd6-8240-0b72f073ca76",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.voice.file_id }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "Text",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "def32c5a-8ffc-46a1-9e2f-68d161eb5436",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.text }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "06ef0f7b-63a3-4427-a2a5-1d059a54ebc4",
"name": "Save Text Request to Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1440,
-20
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $('Telegram Trigger').item.json.message.message_id }}",
"Text": "={{ $('Telegram Trigger').item.json.message.text }}",
"action": "={{ $json.output.action }}",
"category": "={{ $json.output.category }}\n",
"last name": "={{ $('Telegram Trigger').item.json.message.chat.last_name }}",
"First name": "={{ $('Telegram Trigger').item.json.message.chat.first_name }}",
"Telegram User Name": "={{ $('Telegram Trigger').item.json.message.chat.username }}"
},
"schema": [
{
"id": "ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Text",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Transcription",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Transcription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "action",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "action",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "First name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "First name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "last name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Telegram User Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Telegram User Name",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JKCLCjfm3xIFg5YH0EH9qK4W69jjeX673dFxaHfVRzo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1JKCLCjfm3xIFg5YH0EH9qK4W69jjeX673dFxaHfVRzo/edit?usp=sharing"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "KtYF0aYlnYbm8XkV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "b3d1915c-e70f-491a-b9d9-736820d48adf",
"connections": {
"AI Agent": {
"main": [
[
{
"node": "ab338a5f-51ac-4ebc-a668-59ddec459d9b",
"type": "main",
"index": 0
}
]
]
},
"10c260a8-4987-42ec-bca2-b3192147b702": {
"main": [
[
{
"node": "950d8c4e-1f99-40cc-8434-f54693806d0f",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "56283c02-e027-47c0-94ab-02745a082f80",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"56283c02-e027-47c0-94ab-02745a082f80": {
"main": [
[
{
"node": "38ebb5b9-d13f-4587-8717-42f324ef74e2",
"type": "main",
"index": 0
}
],
[
{
"node": "10c260a8-4987-42ec-bca2-b3192147b702",
"type": "main",
"index": 0
}
]
]
},
"38ebb5b9-d13f-4587-8717-42f324ef74e2": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"7d7b8310-c0cf-433c-932f-97219f37bec3": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"950d8c4e-1f99-40cc-8434-f54693806d0f": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"ab338a5f-51ac-4ebc-a668-59ddec459d9b": {
"main": [
[
{
"node": "625e6f44-7bbe-416b-9912-9b8fc3545f89",
"type": "main",
"index": 0
}
],
[
{
"node": "06ef0f7b-63a3-4427-a2a5-1d059a54ebc4",
"type": "main",
"index": 0
}
]
]
},
"06ef0f7b-63a3-4427-a2a5-1d059a54ebc4": {
"main": [
[
{
"node": "c66af39a-150f-4a37-92dc-601e5b3879a5",
"type": "main",
"index": 0
}
]
]
},
"625e6f44-7bbe-416b-9912-9b8fc3545f89": {
"main": [
[
{
"node": "c66af39a-150f-4a37-92dc-601e5b3879a5",
"type": "main",
"index": 0
}
]
]
}
}
}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, Chatbot 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.
Workflows recommandés
Partager ce workflow