Automatización de la gestión de solicitudes de ayuda de ONG usando Telegram, GPT-4 y Google Sheets
Este es unTicket Management, AI Chatbotflujo de automatización del dominio deautomatización que contiene 12 nodos.Utiliza principalmente nodos como Set, Switch, Telegram, GoogleSheets, Agent. Automatización de la gestión de solicitudes de ayuda para ONGs con Telegram, GPT-4 y Google Sheets
- •Bot Token de Telegram
- •Credenciales de API de Google Sheets
- •Clave de API de OpenAI
Nodos utilizados (12)
Categoría
{
"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": "Disparador de 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": "Agente 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": "Modelo 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
}
]
]
}
}
}¿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 - Gestión de tickets, Chatbot de IA
¿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.
Flujos de trabajo relacionados recomendados
Compartir este flujo de trabajo