8
n8n 한국어amn8n.com

Telegram, GPT-4 및 Google Sheets를 사용한 NGO 지원 요청 관리 자동화

중급

이것은Ticket Management, AI Chatbot분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 Set, Switch, Telegram, GoogleSheets, Agent 등의 노드를 사용하며. Telegram, GPT-4 및 Google Sheets를 사용한 자동화된 NGO 지원 요청 관리

사전 요구사항
  • Telegram Bot Token
  • Google Sheets API 인증 정보
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "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": "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": "메시지 유형 라우팅",
      "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": "오디오 파일 가져오기",
      "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": "음성 메시지 텍스트 변환",
      "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": "텍스트 메시지 추출",
      "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": "AI 에이전트",
      "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": "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": "확인 메시지 전송",
      "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": "오디오 요청을 시트에 저장",
      "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": "구조화된 출력 파서",
      "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": "적절한 시트로 라우팅",
      "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": "텍스트 요청을 시트에 저장",
      "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": {
    "59a1eb8b-38f3-478f-8a71-3990cf2df204": {
      "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
          }
        ]
      ]
    },
    "e93ae817-3f4b-49dc-8fe8-821170633c69": {
      "main": [
        [
          {
            "node": "56283c02-e027-47c0-94ab-02745a082f80",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3c9aaed8-6956-4bd4-89a0-610e7e4e2982": {
      "ai_languageModel": [
        [
          {
            "node": "59a1eb8b-38f3-478f-8a71-3990cf2df204",
            "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": "59a1eb8b-38f3-478f-8a71-3990cf2df204",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7d7b8310-c0cf-433c-932f-97219f37bec3": {
      "ai_outputParser": [
        [
          {
            "node": "59a1eb8b-38f3-478f-8a71-3990cf2df204",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "950d8c4e-1f99-40cc-8434-f54693806d0f": {
      "main": [
        [
          {
            "node": "59a1eb8b-38f3-478f-8a71-3990cf2df204",
            "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
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 티켓 관리, AI 챗봇

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수12
카테고리2
노드 유형9
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Abdulrahman Alhalabi

Abdulrahman Alhalabi

@alhalabi

A AI Flowgramer

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34