AutomationFlowsAI & RAG › 3115

3115

3115. Uses telegramTrigger, telegram, redis, googleSheets. Event-driven trigger; 40 nodes.

Event trigger★★★★★ complexityAI-powered40 nodesTelegram TriggerTelegramRedisGoogle SheetsMemory Redis ChatMemory ManagerAgentHTTP Request
AI & RAG Trigger: Event Nodes: 40 Complexity: ★★★★★ AI nodes: yes Added:

This workflow follows the Agent → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "c537229c-ffdf-4a4b-8cdd-1d88621e58a0",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1060,
        2060
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "90426896-35d8-4449-8607-70e8485441ed",
      "name": "Send Next Question",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2560,
        1900
      ],
      "parameters": {
        "text": "={{ $('Get Survey State1').first().json.next_question_idx }}. {{ Object.values($('Get Columns1').first().json)[$('Get Survey State1').first().json.next_question_idx+1] }}",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "614b6d06-7bca-4710-aebf-3a2a685ace09",
      "name": "Send Response",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1540,
        2540
      ],
      "parameters": {
        "text": "={{ $('Interview Agent1').first().json.output }}",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c7f7acc4-c3f7-4fae-98dd-25dca9caae8b",
      "name": "Has No Record?",
      "type": "n8n-nodes-base.if",
      "position": [
        60,
        2260
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a9f08592-d870-44a4-a7f9-d70193cf721b",
              "operator": {
                "type": "object",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "207a2647-56eb-419a-8269-9a32edabe43a",
      "name": "Is Survey Continue?",
      "type": "n8n-nodes-base.if",
      "position": [
        1980,
        2060
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5685829b-a2b2-42c8-b6bc-22eaa03db1d2",
              "operator": {
                "type": "boolean",
                "operation": "false",
                "singleValue": true
              },
              "leftValue": "={{ $('Increment Index1').item.json.is_survey_complete }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a8e98579-6afa-4d7d-859d-9e635a0a1b0c",
      "name": "Get State2",
      "type": "n8n-nodes-base.redis",
      "position": [
        -520,
        2060
      ],
      "parameters": {
        "key": "={{ $json.cacheKey }}",
        "options": {},
        "operation": "get",
        "propertyName": "data"
      },
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8074143c-eab7-4146-937c-16c44ef40333",
      "name": "Get Columns1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1440,
        2060
      ],
      "parameters": {
        "options": {
          "dataLocationOnSheet": {
            "values": {
              "firstDataRow": 1,
              "rangeDefinition": "specifyRange"
            }
          }
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KMNqWWO36osZx7jF-i1UL53z2GZnCn9fiBjtlGpvWB4/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Set Variables1').first().json.gsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "1f75f3fc-7893-444d-8a1e-59ec3d42ea1d",
      "name": "Set Variables1",
      "type": "n8n-nodes-base.set",
      "position": [
        -880,
        2060
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "2140b769-2e90-4828-8022-1b0a9baf6e44",
              "name": "title",
              "type": "string",
              "value": "Product Satisfaction Survey: DJI Mini 2"
            },
            {
              "id": "fb7110cb-82d3-4c95-81ba-ac97a26fe05e",
              "name": "gsheetId",
              "type": "string",
              "value": "1KMNqWWO36osZx7jF-i1UL53z2GZnCn9fiBjtlGpvWB4"
            },
            {
              "id": "6d9c4b02-8326-49f4-ac22-24bdec7fdd67",
              "name": "cacheKey",
              "type": "string",
              "value": "=survey_user_{{ $json.sessionId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a0c06eb9-46d6-4888-85b0-e9a31a31337b",
      "name": "Message Type1",
      "type": "n8n-nodes-base.switch",
      "position": [
        -320,
        2060
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "is_bot_command",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "f5fa8b7c-fdda-4c6d-b610-e243d6299598",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ ['/start','/next', '/reset'].includes($('Telegram Trigger').first().json.message.text) }}",
                    "rightValue": "="
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra",
          "renameFallbackOutput": "is_normal_message"
        }
      },
      "typeVersion": 3.2
    },
    {
      "id": "315585fe-d2e4-4cb1-9d0e-a3e8bc053da3",
      "name": "Get Command1",
      "type": "n8n-nodes-base.set",
      "position": [
        -120,
        1760
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "73335bd3-ce50-46c5-8bcf-f7b8cd992208",
              "name": "command",
              "type": "string",
              "value": "={{ $('Telegram Trigger').first().json.message.text.slice($('Telegram Trigger').first().json.message.entities[0].offset, $('Telegram Trigger').first().json.message.entities[0].length ) }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "7036d250-0271-4c93-9f60-01b9ccaf8be3",
      "name": "Bot Actions1",
      "type": "n8n-nodes-base.switch",
      "position": [
        60,
        1760
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "new_session",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "6f427c86-090d-429a-bc99-d2dd7753c153",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Get Command1').first().json.command === '/start' }}",
                    "rightValue": "/start"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "next_question",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "bca60df4-278d-4598-afc9-6e8ee61b7ac5",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Get Command1').first().json.command === '/next' }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra"
        }
      },
      "typeVersion": 3.2
    },
    {
      "id": "fa755815-29c2-419e-8e36-51102ee88681",
      "name": "Memory3",
      "type": "@n8n/n8n-nodes-langchain.memoryRedisChat",
      "position": [
        2220,
        2060
      ],
      "parameters": {
        "sessionKey": "={{ $('Set Variables1').first().json.cacheKey }}_history",
        "sessionIdType": "customKey",
        "contextWindowLength": 10
      },
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.4
    },
    {
      "id": "a231e026-e5bf-4864-a57b-29d01e32e1a8",
      "name": "Get Survey State1",
      "type": "n8n-nodes-base.set",
      "position": [
        1620,
        2060
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6836a5aa-2b51-48cc-8d8f-d64a85d8a52f",
              "name": "title",
              "type": "string",
              "value": "={{ Object.values($json)[1] }}"
            },
            {
              "id": "7b2fdf1b-4f55-4b55-be54-a7b97dd094cb",
              "name": "num_questions",
              "type": "number",
              "value": "={{ Object.keys($json).length - 2 }}"
            },
            {
              "id": "dc6d5c41-0f35-49c9-b9c9-b6b4f2ceb66c",
              "name": "next_question_idx",
              "type": "number",
              "value": "={{ (Number($('Get State3').first().json.data?.current_question_idx) || 0) + 1 }}"
            },
            {
              "id": "8b17703f-fbff-40d2-a7bb-d450f2edfea3",
              "name": "is_survey_complete",
              "type": "boolean",
              "value": "={{ ((Number($('Get State3').first().json.data?.current_question_idx) || 0) + 1) >= (Object.keys($json).length - 1) }}"
            }
          ]
        }
      },
      "executeOnce": true,
      "typeVersion": 3.4
    },
    {
      "id": "a3bb744d-c59f-45a9-8b9d-3c291fa8d860",
      "name": "Reset Agent Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryManager",
      "position": [
        2240,
        1900
      ],
      "parameters": {
        "mode": "insert",
        "messages": {
          "messageValues": [
            {
              "message": "=You are a curious and inquisitive researcher conducting a survey with a user.\n* In this conversation, you are only interested in one of the questions from the survey which you will ask.\n* When asking an open-ended question, converse with the user to dig deeper into their answer and reveal insights into the user's experience. Do not ask other questions which do not try to expand the user's answer to the initial question.\n* If this is closed-ended question, it is okay to receive a static response and move on to the next question.\n* Only the initial question is numbered, following questions or messages should not be numbered or bulletpointed.\n* If the user goes off-topic, doesn't want to answer the question or wants to do something else which is not related to the survey, then ignore what they say/ask and politely repeat the question."
            },
            {
              "type": "ai",
              "message": "={{ $('Get Survey State1').first().json.next_question_idx }}. {{ Object.values($('Get Columns1').first().json)[$('Get Survey State1').first().json.next_question_idx+1] }}"
            }
          ]
        },
        "insertMode": "override"
      },
      "typeVersion": 1.1
    },
    {
      "id": "b9d693b7-c139-45d8-b0d8-fd8134c7ba84",
      "name": "Memory4",
      "type": "@n8n/n8n-nodes-langchain.memoryRedisChat",
      "position": [
        1120,
        2700
      ],
      "parameters": {
        "sessionKey": "={{ $('Set Variables1').first().json.cacheKey }}_history",
        "sessionIdType": "customKey",
        "contextWindowLength": 100
      },
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.4
    },
    {
      "id": "c8fd56f5-c4c0-40cb-b727-07a94b633657",
      "name": "Start Session1",
      "type": "n8n-nodes-base.redis",
      "position": [
        440,
        1620
      ],
      "parameters": {
        "key": "={{ $('Set Variables1').first().json.cacheKey }}",
        "value": "={{\n{\n  \"has_session\": true,\n  \"session_createdAt\": $now,\n  \"current_question_idx\": 0\n}\n}}",
        "keyType": "hash",
        "operation": "set"
      },
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "02eaa2cf-512c-4526-948e-b68989b3a8f4",
      "name": "Get State3",
      "type": "n8n-nodes-base.redis",
      "position": [
        1260,
        2060
      ],
      "parameters": {
        "key": "={{ $('Set Variables1').first().json.cacheKey }}",
        "options": {},
        "operation": "get",
        "propertyName": "data"
      },
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "85631c2a-9317-4b14-92d1-895ac022eb70",
      "name": "Increment Index1",
      "type": "n8n-nodes-base.redis",
      "position": [
        1800,
        2060
      ],
      "parameters": {
        "key": "={{ $('Set Variables1').first().json.cacheKey }}",
        "value": "={{\n{\n  \"current_question_idx\": $json.next_question_idx < $json.num_questions\n    ? $json.next_question_idx\n    : $json.num_questions,\n  \"session_updated\": $now,\n}\n}}",
        "keyType": "hash",
        "operation": "set"
      },
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4464f6fe-d579-4e03-a8ca-918515d38b30",
      "name": "Interview Agent1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1040,
        2540
      ],
      "parameters": {
        "text": "={{ $('Telegram Trigger').first().json.message.text }}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "11ec3d5a-5f89-4a84-96ef-291526ae7365",
      "name": "Get Record1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -120,
        2260
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": true
        },
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $('Telegram Trigger').first().json.message.from.id }}",
              "lookupColumn": "ID"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KMNqWWO36osZx7jF-i1UL53z2GZnCn9fiBjtlGpvWB4/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Set Variables1').first().json.gsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5,
      "alwaysOutputData": true
    },
    {
      "id": "665d58f8-ba2f-4d87-ae56-260333c5ecdf",
      "name": "Append Responses1",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        2440
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8069d106-0918-4bc3-9f49-789322129136",
              "name": "payload",
              "type": "string",
              "value": "={{\n[\n  Object.values($('Get Record1').first().json)[Number($('Get State2').first().json.data.current_question_idx || 0) + 1],\n  'User: ' + $('Telegram Trigger').first().json.message.text,\n].join('\\n\\n').trim()\n}}"
            },
            {
              "id": "d25c278c-d3a9-4a5a-9f49-01ee3ca8285a",
              "name": "cell",
              "type": "string",
              "value": "={{\n'abcdefghijklmnopqrstuvxyz'.toUpperCase().split('')[$('Message Type1').first().json.data.current_question_idx]\n}}{{ $('Get Record1').first().json.row_number }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "4771e9e4-8b79-4530-8c4a-6e7ab0623d98",
      "name": "Update Answer2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1360,
        2540
      ],
      "parameters": {
        "url": "=https://sheets.googleapis.com/v4/spreadsheets/{{ $('Set Variables1').first().json.gsheetId }}/values/Sheet1!{{ $('Append Responses1').first().json.cell }}",
        "method": "PUT",
        "options": {},
        "jsonBody": "={{\n{\n  \"range\": `Sheet1!${$('Append Responses1').first().json.cell}`,\n  \"majorDimension\": \"ROWS\",\n  \"values\": [[\n    $('Append Responses1').first().json.payload + '\\n\\nAgent: ' + $('Interview Agent1').first().json.output]]\n}\n}}",
        "sendBody": true,
        "sendQuery": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "valueInputOption",
              "value": "RAW"
            }
          ]
        },
        "nodeCredentialType": "googleSheetsOAuth2Api"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b7094d87-97ce-4f1a-8d30-4d6d57d24477",
      "name": "Get Last Bot Message1",
      "type": "n8n-nodes-base.redis",
      "position": [
        260,
        2440
      ],
      "parameters": {
        "key": "={{ $('Set Variables1').item.json.cacheKey }}_history",
        "options": {},
        "operation": "get",
        "propertyName": "data"
      },
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6dc77f41-6c3b-4358-82bc-2ea299ef69b2",
      "name": "Update Answer3",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1020,
        2180
      ],
      "parameters": {
        "url": "=https://sheets.googleapis.com/v4/spreadsheets/{{ $('Set Variables1').first().json.gsheetId }}/values/Sheet1!{{ $('Append Responses1').first().json.cell }}",
        "method": "PUT",
        "options": {},
        "jsonBody": "={{\n{\n  \"range\": `Sheet1!${$('Append Responses1').first().json.cell}`,\n  \"majorDimension\": \"ROWS\",\n  \"values\": [[$('Append Responses1').first().json.payload]]\n}\n}}",
        "sendBody": true,
        "sendQuery": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "valueInputOption",
              "value": "RAW"
            }
          ]
        },
        "nodeCredentialType": "googleSheetsOAuth2Api"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "dd67ca61-b36c-4f9f-84fe-0b25d411e459",
      "name": "Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1000,
        2700
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "57698127-eea0-434e-af3a-4d49db4a7f15",
      "name": "Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        600,
        2600
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "bad16467-bb3c-4d50-9dd8-014bac25fd61",
      "name": "Should Follow Up?1",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        620,
        2440
      ],
      "parameters": {
        "options": {},
        "inputText": "=AI: {{ $('Get Last Bot Message1').item.json.data?.first().parseJson().data.content ?? ''}}\nUSER: {{ $('Telegram Trigger').first().json.message.text }}",
        "categories": {
          "categories": [
            {
              "category": "should_not_ask_followup_questions",
              "description": "=Either\n* The user was asked a close-ended question and gave an adequate static response\n* There are no further insights to be learned from the user's answer"
            },
            {
              "category": "should_ask_followup_questions",
              "description": "=Either one of\n* There are possibly more insights to be learned from the user's answer if we enquire. hint: did the user explaied or justified their answer?\n* The user didn't answer the question"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "86545380-9ff1-4815-bfaf-c4137fa00fda",
      "name": "Execution Data2",
      "type": "n8n-nodes-base.executionData",
      "position": [
        -700,
        2060
      ],
      "parameters": {
        "dataToSave": {
          "values": [
            {
              "key": "jobType",
              "value": "=state_message"
            },
            {
              "key": "gsheetId",
              "value": "={{ $json.gsheetId }}"
            },
            {
              "key": "title",
              "value": "={{ $json.title }}"
            },
            {
              "key": "fromId",
              "value": "={{ $('Telegram Trigger').item.json.message.from.id }}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ed16f03b-621e-4766-b8fd-f1f662b2dd0b",
      "name": "Create Record2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        260,
        2060
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $('Telegram Trigger').first().json.message.from.id }}"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What's your name?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "What's your name?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What were the main factors that influenced your decision to purchase the DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "What were the main factors that influenced your decision to purchase the DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Did you compare the DJI Mini 2 with other drone models before purchasing? If yes, which other drone models were you considering? ",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Did you compare the DJI Mini 2 with other drone models before purchasing? If yes, which other drone models were you considering? ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What ultimately convinced you to choose the DJI Mini 2 over other options?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "What ultimately convinced you to choose the DJI Mini 2 over other options?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How satisfied are you with the DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How satisfied are you with the DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What features do you like most about the DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "What features do you like most about the DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Are there any features you feel are missing or could be improved?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Are there any features you feel are missing or could be improved?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Have you experienced any technical issues with the DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Have you experienced any technical issues with the DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How likely are you to recommend the DJI Mini 2 to others?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How likely are you to recommend the DJI Mini 2 to others?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Where did you purchase your DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Where did you purchase your DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How was your overall purchase experience?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How was your overall purchase experience?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Did you find all the information you needed before purchasing?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Did you find all the information you needed before purchasing?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "If you interacted with DJI customer support, how would you rate the experience?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "If you interacted with DJI customer support, how would you rate the experience?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How can DJI improve the Mini 2 or future drone models?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How can DJI improve the Mini 2 or future drone models?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How can DJI improve the overall shopping and customer service experience?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How can DJI improve the overall shopping and customer service experience?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Any additional comments or feedback?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Any additional comments or feedback?",
              "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/1KMNqWWO36osZx7jF-i1UL53z2GZnCn9fiBjtlGpvWB4/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Set Variables1').first().json.gsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5,
      "alwaysOutputData": true
    },
    {
      "id": "f2119ef5-aef3-4b0f-80f5-1715a4afe3e0",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        1820
      ],
      "parameters": {
        "color": 7,
        "width": 760,
        "height": 500,
        "content": "## 1. \uc0ac\uc6a9\uc790\ub97c \ucc44\ud305\uc73c\ub85c \ucd08\ub300\ud558\uc5ec \uc124\ubb38 \uc2dc\uc791  \n[\ucc44\ud2b8 \ud2b8\ub9ac\uac70\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/)  \n\n\uc0ac\uc6a9\uc790\uc5d0\uac8c \uc124\ubb38\uc744 \uc81c\uc2dc\ud558\uae30 \uc704\ud574 n8n\uc758 \ub0b4\uc7a5 \ud638\uc2a4\ud2f0\ub4dc \ucc44\ud305\uc744 \uc0ac\uc6a9\ud560 \uac83\uc785\ub2c8\ub2e4. \uc124\ubb38 \uc9c8\ubb38\uc740 \ubbf8\ub9ac \uc815\uc758\ub418\uc5b4 \uc788\uc73c\uba70 Google Sheet\uc5d0\uc11c \uac00\uc838\uc635\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc73c\ub85c, \uc6b0\ub9ac\uac00 \uc5b4\ub5a4 \uc9c8\ubb38\uc744 \ud558\uace0 \uc788\ub294\uc9c0 \ucd94\uc801\ud558\ub294 \uac83\uacfc \uac19\uc740 \uc0c1\ud0dc \ubc0f \uc138\uc158 \uad00\ub9ac\uc5d0 \ub300\ud574 Redis\ub97c \uc0ac\uc6a9\ud560 \uac83\uc785\ub2c8\ub2e4. \uc65c\ub0d0\ud558\uba74 \uadf8\uac83\uc740 \uc6b0\ub9ac\uc758 \ucc44\ud305\uc5d0 \uc801\ud569\ud55c \ube60\ub978 \uc4f0\uae30 \ubc0f \uc900\ube44\ub41c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc774\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "9e7ca15c-0e31-4d78-b8af-31fd6260cd61",
      "name": "Send Start",
      "type": "n8n-nodes-base.telegram",
      "position": [
        600,
        1620
      ],
      "parameters": {
        "text": "={{ $('Set Variables1').first().json.title }}.\nWelcome! Thank you for taking the time to participate in our survey.\n\nYou'll be asked a couple of pre-defined questions. For each question, we may ask follow-up questions to better understand your situation. If you want to skip to the next question at any time, simply reply with the \"/next\". Your responses will be recorded.\n\nTo start the survey, simply reply with \"/next\".",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e8be2d00-39c8-4dd1-a597-813fc4bffe10",
      "name": "Send Start1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        260,
        1900
      ],
      "parameters": {
        "text": "=Sorry, that command is unrecognised. The available options are /start or /next.",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "153bbe8b-52bc-403c-ae5f-346060a5aac3",
      "name": "Completed Survey",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2220,
        2280
      ],
      "parameters": {
        "text": "=Done! Thank you for completing our survey.\nTo start the survey again, use \"/start\".",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c2e39206-f586-4c90-aeb0-d6a141e81d1d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -180,
        1540
      ],
      "parameters": {
        "color": 7,
        "width": 420,
        "height": 380,
        "content": "## 2. \ubd07 \uba85\ub839\uc5b4 \ucc98\ub9ac  \n[\uc2a4\uc704\uce58 \ub178\ub4dc\uc5d0 \ub300\ud574 \ub354 \uc54c\uc544\ubcf4\uae30](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/)  \n\n\uc6b0\ub9ac\uc758 \ucc44\ud2b8\ubd07\uc740 \uc804\ud1b5\uc801\uc778 \ucc44\ud305 \uba54\ucee4\ub2c8\uc998\uacfc AI \uc5d0\uc774\uc804\ud2b8\uc758 \ud63c\ud569\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubd07 \uba85\ub839\uc5b4\ub97c \uc0ac\uc6a9\ud558\uba74 \uc0ac\uc6a9\uc790\uac00 \ub300\ud654\uc758 \ud750\ub984\uc744 \uc81c\uc5b4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ub2e4\uc74c \uc9c8\ubb38\uc744 \uac74\ub108\ub6f0\uac70\ub098 \uc124\ubb38\uc870\uc0ac\ub97c \ub2e4\uc2dc \uc2dc\uc791\ud558\ub294 \ub4f1."
      },
      "typeVersion": 1
    },
    {
      "id": "6b6241ae-17b7-4f0f-9c00-f5de4d62f692",
      "name": "Create Record1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        280,
        1620
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $('Telegram Trigger').first().json.message.from.id }}"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What's your name?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "What's your name?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What were the main factors that influenced your decision to purchase the DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "What were the main factors that influenced your decision to purchase the DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Did you compare the DJI Mini 2 with other drone models before purchasing? If yes, which other drone models were you considering? ",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Did you compare the DJI Mini 2 with other drone models before purchasing? If yes, which other drone models were you considering? ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What ultimately convinced you to choose the DJI Mini 2 over other options?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "What ultimately convinced you to choose the DJI Mini 2 over other options?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How satisfied are you with the DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How satisfied are you with the DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What features do you like most about the DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "What features do you like most about the DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Are there any features you feel are missing or could be improved?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Are there any features you feel are missing or could be improved?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Have you experienced any technical issues with the DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Have you experienced any technical issues with the DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How likely are you to recommend the DJI Mini 2 to others?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How likely are you to recommend the DJI Mini 2 to others?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Where did you purchase your DJI Mini 2?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Where did you purchase your DJI Mini 2?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How was your overall purchase experience?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How was your overall purchase experience?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Did you find all the information you needed before purchasing?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Did you find all the information you needed before purchasing?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "If you interacted with DJI customer support, how would you rate the experience?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "If you interacted with DJI customer support, how would you rate the experience?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How can DJI improve the Mini 2 or future drone models?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How can DJI improve the Mini 2 or future drone models?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "How can DJI improve the overall shopping and customer service experience?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "How can DJI improve the overall shopping and customer service experience?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Any additional comments or feedback?",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Any additional comments or feedback?",
              "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/1KMNqWWO36osZx7jF-i1UL53z2GZnCn9fiBjtlGpvWB4/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Set Variables1').first().json.gsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5,
      "alwaysOutputData": true
    },
    {
      "id": "f8f6b582-75d7-40a1-95a5-c1b80fa41c64",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        520,
        2180
      ],
      "parameters": {
        "color": 7,
        "width": 440,
        "height": 420,
        "content": "## 3. \ud6c4\uc18d \uc9c8\ubb38 \uc9c0\uc6d0  \n[\ud14d\uc2a4\ud2b8 \ubd84\ub958\uae30 \ub178\ub4dc\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.text-classifier/)  \n\n\ud604\uc7ac \uc9c8\ubb38\uc774 \uac1c\ubc29\ud615\uc778\uc9c0 \ud3d0\uc1c4\ud615\uc778\uc9c0\uc5d0 \ub530\ub77c, \uc5d0\uc774\uc804\ud2b8\uac00 \ub2f5\ubcc0\uc5d0 \ub108\ubb34 \ub9ce\uc740 \uc2dc\uac04\uc744 \ub4e4\uc77c \ud544\uc694\uac00 \uc5c6\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc11c \ud14d\uc2a4\ud2b8 \ubd84\ub958\uae30 \ub178\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \uadf8 \ud310\ub2e8\uc744 \ub0b4\ub9bd\ub2c8\ub2e4 - \ud3d0\uc1c4\ud615\uc77c \uacbd\uc6b0 \ub2e4\uc74c \uc9c8\ubb38\uc73c\ub85c \ub118\uc5b4\uac00\uace0, \uac1c\ubc29\ud615\uc77c \uacbd\uc6b0 \ub2f5\ubcc0\uc744 \ub354 \uae4a\uc774 \ud30c\uace0\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "5aa8956b-787d-4b4a-b4dc-a2415434a331",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        980,
        2340
      ],
      "parameters": {
        "color": 7,
        "width": 700,
        "height": 500,
        "content": "## 4. \ub300\ud654\ud615 AI \uc5d0\uc774\uc804\ud2b8\ub85c \ub354 \uae4a\uc740 \ud1b5\ucc30\n\n[AI \uc5d0\uc774\uc804\ud2b8\uc5d0 \ub300\ud574 \ub354 \uc54c\uc544\ubcf4\uae30](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/)\n\n\uc774 \uc6cc\ud06c\ud50c\ub85c\uc6b0\uc5d0\uc11c AI\ub97c \ud65c\uc6a9\ud558\ub294 \ubc29\ubc95\uc740 \uc5d0\uc774\uc804\ud2b8\uac00 \uc124\ubb38\uc870\uc0ac\uc758 \uc8fc\uc5b4\uc9c4 \uc9c8\ubb38\uc5d0 \ub300\ud574 \uc0ac\uc6a9\uc790\uc640 \ubc31\uc564\ud3ec\uc2a4 \ub300\ud654\ub97c \ub098\ub204\ub3c4\ub85d \ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub294 \ub2f5\ubcc0\uc774 \ub2e8 \ud55c \ubb38\uc7a5\uc774 \uc544\ub2cc, \ubd84 \uc815\ub3c4\uc758 \ub300\ud654\ub85c \ud655\uc7a5\ub420 \uc218 \uc788\uc73c\ubbc0\ub85c \uc124\ubb38\uc870\uc0ac\uc5d0 \ud6e8\uc52c \ub354 \uae4a\uc740 \ud1b5\ucc30\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "aa304745-6d30-4fdb-8279-eb505ee06a61",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        1820
      ],
      "parameters": {
        "color": 7,
        "width": 740,
        "height": 380,
        "content": "## 5. \ub300\ud654 \ud750\ub984 \uc678\ubd80 \uc0c1\ud0dc \uad00\ub9ac\n\n[Redis \ub178\ub4dc\uc5d0 \ub300\ud574 \ub354 \uc54c\uc544\ubcf4\uae30](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.redis/)\n\n\uc6b0\ub9ac\ub294 Redis\ub97c \ube60\ub974\uace0 \uc26c\uc6b4 \ubc29\ubc95\uc73c\ub85c \uc124\ubb38\uc870\uc0ac\ub97c \uc9c4\ud589\ud558\ub294 \ub3d9\uc548 \uc9c8\ubb38 \uc778\ub371\uc2a4(\ub610\ub294 \"\uc0c1\ud0dc\")\ub97c \uc800\uc7a5\ud558\uace0 \ucd94\uc801\ud558\ub294 \ub370 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub2e4\uc74c \uc9c8\ubb38\uc744 \uacc4\uc0b0\ud558\uac70\ub098 \uc124\ubb38\uc870\uc0ac\uac00 \uc644\ub8cc\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud574, \uc6b0\ub9ac\ub294 \uc0ac\uc6a9\uc790\uc758 \uc138\uc158\uc5d0 \ub300\ud55c \uc2a4\ud504\ub808\ub4dc\uc2dc\ud2b8 \ud589\uc744 \uc870\ud68c\ud558\uace0 \uadf8\ub85c\ubd80\ud130 \ub2e4\uc74c \uc0c1\ud0dc\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "4ce7ce73-d771-4794-b1fb-87c15ccdbdaf",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2160,
        1680
      ],
      "parameters": {
        "color": 7,
        "width": 620,
        "height": 520,
        "content": "## 6. \ub9e4 \uc9c8\ubb38\ub9c8\ub2e4 \ucc44\ud305 \uba54\ubaa8\ub9ac \uc7ac\uc124\uc815\n\n[Chat Memory Manager\uc5d0 \ub300\ud574 \ub354 \uc54c\uc544\ubcf4\uae30](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorymanager/)\n\n\uc0ac\uc6a9\uc790\uc640 \uc0c1\ud638\uc791\uc6a9\ud560 \ub54c \uc5d0\uc774\uc804\ud2b8\uac00 \ud2b9\uc815 \uc9c8\ubb38\uc5d0 \uc9d1\uc911\ud558\ub3c4\ub85d \ud558\uae30 \uc704\ud574, \uacfc\uac70 \ucc38\uc870\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub3c4\ub85d \ubaa8\ub4e0 \uc774\uc804 \uba54\uc2dc\uc9c0 \ucee8\ud14d\uc2a4\ud2b8\ub97c \uc9c0\uc6cc\uc57c \ud55c\ub2e4\ub294 \uac83\uc744 \ubc1c\uacac\ud588\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740 \uc5d0\uc774\uc804\ud2b8 \ud589\ub3d9\uc744 \uc81c\uc5b4\ud558\ub294 \uc815\ub9d0 \ube44\uc804\ud1b5\uc801\uc778 \uc811\uadfc\ubc95\uc774\uc9c0\ub9cc, \ub0b4 \uad00\ucc30\uc5d0 \ub530\ub974\uba74 \ub300\ud654 \uc911 \ud658\uac01\uc744 \ud06c\uac8c \uc904\uc5ec\uc90d\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "2b26317c-6ba6-4ff0-92a6-525cce9e725d",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1740,
        1300
      ],
      "parameters": {
        "width": 580,
        "height": 1020,
        "content": "## \uc9c1\uc811 \ud574\ubcf4\uae30\n\n### \uc774 n8n \ud15c\ud50c\ub9bf\uc740 AI\ub97c \ud65c\uc6a9\ud558\uc5ec \ube44\uc988\ub2c8\uc2a4\uc5d0 \uad6c\uc870\ud654\ub41c \ucc44\ud305 \uc5ec\uc815\uc744 \uad6c\ucd95\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.\n\n\uc774 \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c \ucc44\ud305\ubd07\uc740 \ubbf8\ub9ac \uc815\uc758\ub41c \uc77c\ub828\uc758 \uc9c8\ubb38\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc0ac\uc6a9\uc790\uc640 \uc81c\ud488 \ub9cc\uc871\ub3c4 \uc124\ubb38\uc744 \uc9c4\ud589\ud569\ub2c8\ub2e4. \uac01 \uc9c8\ubb38\uc5d0 \ub300\ud574 \uc5d0\uc774\uc804\ud2b8\ub294 \ud6c4\uc18d \uc9c8\ubb38\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790\uc758 \ub2f5\ubcc0\uc744 \ub354 \uae4a\uc774 \ud0d0\uad6c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n\uc774 \ucc44\ud305\ubd07 \ud15c\ud50c\ub9bf\uc740 \uc644\uc804\ud788 \"\uc5d0\uc774\uc804\ud2f1\"\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 \ub2e4\uc18c \ubcf5\uc7a1\ud558\uace0 \uc2a4\ud06c\ub9bd\ud2b8\ud654\ub418\uc5b4 \uc788\uc9c0\ub9cc, \ub354 \uc608\uce21 \uac00\ub2a5\ud55c \uc0ac\uc6a9\uc790 \uc5ec\uc815\uc744 \ubcf4\uc7a5\ud569\ub2c8\ub2e4. \uc774\ub294 \uacbd\ud5d8\uc5d0 \ub354 \ub9ce\uc740 \uac00\uc774\ub4dc\ub77c\uc778\uc744 \ud544\uc694\ud560 \ub54c \uc801\ud569\ud569\ub2c8\ub2e4.\n\n\uc608\uc2dc \uc124\ubb38 \ubcf4\uae30: https://docs.google.com/spreadsheets/d/e/2PACX-1vQWcREg75CzbZd8loVI12s-DzSTj3NE_02cOCpAh7umj0urazzYCfzPpYvvh7jqICWZteDTALzBO46i/pubhtml?gid=0&single=true\n\n### \uc791\ub3d9 \uc6d0\ub9ac\n* \uc0ac\uc6a9\uc790\uac00 \uc124\ubb38\uc744 \uc2dc\uc791\ud558\uae30 \uc704\ud574 \ubd07 \uba85\ub839\uc5b4 \"/next\"\ub97c \uc785\ub825\ud558\uba74 \ucc44\ud305 \uc138\uc158\uc774 \uc2dc\uc791\ub429\ub2c8\ub2e4.\n* \uc2dc\uc791\ub418\uba74, \ud15c\ud50c\ub9bf\uc740 \uad6c\uae00 \uc2dc\ud2b8\uc5d0\uc11c \uc9c8\ubb38\uc744 \uac00\uc838\uc640 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc21c\uc11c\ub300\ub85c \ubb3b\uc2b5\ub2c8\ub2e4. \uc9c8\ubb38\uc740 \uc67c\ucabd\uc5d0\uc11c \uc624\ub978\ucabd\uc73c\ub85c \uc9c4\ud589\ub429\ub2c8\ub2e4.\n* \uc0ac\uc6a9\uc790\uac00 \uc9c8\ubb38\uc5d0 \ub2f5\ud558\uba74, \ud150\uc11c \ubd84\ub958\uae30 \ub178\ub4dc\uac00 \ud6c4\uc18d \uc9c8\ubb38\uc744 \ud560 \uc218 \uc788\ub294\uc9c0 \ud310\ub2e8\ud569\ub2c8\ub2e4.\n* \ud6c4\uc18d \uc9c8\ubb38\uc774 \ud544\uc694\ud558\uc9c0 \uc54a\uc73c\uba74 \uc124\ubb38\uc774 \ub2e4\uc74c \uc9c8\ubb38\uc73c\ub85c \uc9c4\ud589\ub429\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc73c\uba74, AI \uc5d0\uc774\uc804\ud2b8\uac00 \uc0ac\uc6a9\uc790\uc758 \uc751\ub2f5\uc5d0 \uae30\ubc18\ud558\uc5ec \ud6c4\uc18d \uc9c8\ubb38\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.\n* \ubaa8\ub4e0 \ub2f5\ubcc0\uacfc AI \ub300\ud654\ub294 \uad6c\uae00 \uc2dc\ud2b8\uc5d0 \uae30\ub85d\ub429\ub2c8\ub2e4.\n* \ubaa8\ub4e0 \uc9c8\ubb38\uc744 \ub2f5\ud55c \ud6c4, \ud15c\ud50c\ub9bf\uc740 \uc124\ubb38\uc744 \uc911\uc9c0\ud558\uace0 \uc0ac\uc6a9\uc790\uac00 \ub2e4\uc2dc \uc2dc\uc791\ud560 \uc218 \uc788\ub294 \uae30\ud68c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.\n\n### \uc0ac\uc6a9 \ubc29\ubc95\n* \ud154\ub808\uadf8\ub7a8 \ubd07\uc744 \uc124\uc815\ud574\uc57c \ud569\ub2c8\ub2e4([\ubb38\uc11c \ubcf4\uae30](https://docs.n8n.io/integrations/builtin/credentials/telegram/)).\n* ID \uc5f4\uc774 \uc788\ub294 \uad6c\uae00 \uc2dc\ud2b8\ub97c \ub9cc\ub4e4\uace0, \ub098\uba38\uc9c0 \uc5f4\uc5d0 \uc124\ubb38 \uc9c8\ubb38\uc744 \ucc44\uc6b0\uc138\uc694([\uc0d8\ud50c \ubcf4\uae30](https://docs.google.com/spreadsheets/d/e/2PACX-1vQWcREg75CzbZd8loVI12s-DzSTj3NE_02cOCpAh7umj0urazzYCfzPpYvvh7jqICWZteDTALzBO46i/pubhtml?gid=0&single=true)).\n* \uc0c1\ud0dc\ub97c \ucea1\ucc98\ud558\uae30 \uc704\ud574 Redis \uc778\uc2a4\ud134\uc2a4\ub97c \uc124\uc815\ud558\uc138\uc694. \uc790\uccb4 \ud638\uc2a4\ud305\ud558\uac70\ub098 [Upstash](https://upstash.com?ref=jimleuk)\uc5d0\uc11c \ubb34\ub8cc \uacc4\uc815\uc744 \ub4f1\ub85d\ud558\uc138\uc694.\n* \"Set Variable\" \ub178\ub4dc\uc5d0 \uad6c\uae00 \uc2dc\ud2b8 ID\uc640 \uc124\ubb38 \uc81c\ubaa9\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\uc138\uc694.\n* \ubd07\uc744 \uc0ac\uc6a9\uc790\uc640 \uacf5\uc720\ud558\uc5ec \ub2e4\ub978 \uc0ac\ub78c\ub4e4\uc774 \uc124\ubb38\uc5d0 \ucc38\uc5ec\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\uc138\uc694.\n\n### WhatsApp\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub098\uc694?\n\ub124, \uac00\ub2a5\ud569\ub2c8\ub2e4! \ubaa8\ub4e0 \ud154\ub808\uadf8\ub7a8 \ub178\ub4dc\ub97c WhatsApp \ub178\ub4dc\ub85c \uad50\uccb4\ud558\uba74 \ub3d9\uc77c\ud55c \uacb0\uacfc\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n### \ub3c4\uc6c0\uc774 \ud544\uc694\ud558\uc138\uc694?\n[Discord](https://discord.com/invite/XPKeKXeB7d) \ub610\ub294 [Forum](https://community.n8n.io/)\uc5d0 \ucc38\uc5ec\ud558\uc138\uc694!"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Model2": {
      "ai_languageModel": [
        [
          {
            "node": "Interview Agent1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Model3": {
      "ai_languageModel": [
        [
          {
            "node": "Should Follow Up?1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Memory3": {
      "ai_memory": [
        [
          {
            "node": "Reset Agent Memory1",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Memory4": {
      "ai_memory": [
        [
          {
            "node": "Interview Agent1",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Get State2": {
      "main": [
        [
          {
            "node": "Message Type1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get State3": {
      "main": [
        [
          {
            "node": "Get Columns1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Start": {
      "main": [
        []
      ]
    },
    "Get Record1": {
      "main": [
        [
          {
            "node": "Has No Record?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Start1": {
      "main": [
        []
      ]
    },
    "Bot Actions1": {
      "main": [
        [
          {
            "node": "Create Record1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get State3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Start1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Columns1": {
      "main": [
        [
          {
            "node": "Get Survey State1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Command1": {
      "main": [
        [
          {
            "node": "Bot Actions1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message Type1": {
      "main": [
        [
          {
            "node": "Get Command1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get Record1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Response": {
      "main": [
        []
      ]
    },
    "Create Record1": {
      "main": [
        [
          {
            "node": "Start Session1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Record2": {
      "main": [
        [
          {
            "node": "Get State3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Has No Record?": {
      "main": [
        [
          {
            "node": "Create Record2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get Last Bot Message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Variables1": {
      "main": [
        [
          {
            "node": "Execution Data2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start Session1": {
      "main": [
        [
          {
            "node": "Send Start",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Answer2": {
      "main": [
        [
          {
            "node": "Send Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Answer3": {
      "main": [
        [
          {
            "node": "Get State3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execution Data2": {
      "main": [
        [
          {
            "node": "Get State2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Increment Index1": {
      "main": [
        [
          {
            "node": "Is Survey Continue?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Interview Agent1": {
      "main": [
        [
          {
            "node": "Upda

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

3115. Uses telegramTrigger, telegram, redis, googleSheets. Event-driven trigger; 40 nodes.

Source: https://github.com/n8nKOR/n8n-shared-workflow/blob/62a671327e906c22a40d290b339ff6d2373f8d75/workflows/n8nworkflows/engineering/3115.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.

@Blotato/N8N Nodes Blotato, Google Sheets, OpenAI Chat +9
AI & RAG

Transform your salon/service business with this streamlined Telegram automation system featuring Claude integration, zero-setup database management, and intelligent conversation handling. Claude MCP I

Redis, Agent Tool, Google Calendar +10
AI & RAG

Inbox Guardian. Uses gmailTrigger, lmChatOpenAi, agent, textClassifier. Event-driven trigger; 66 nodes.

Gmail Trigger, OpenAI Chat, Agent +12
AI & RAG

This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste

Telegram, Telegram Trigger, Google Drive +8
AI & RAG

💥 Automate video ads with NanoBanana, Seedream 4, ChatGPT Image and Veo 3 - VIDE. Uses telegram, telegramTrigger, googleDrive, agent. Event-driven trigger; 63 nodes.

Telegram, Telegram Trigger, Google Drive +8