음성과 텍스트 Telegram 어시스턴트(LOOKIO RAG와 GPT-4.1) 생성
고급
이것은자동화 워크플로우로, 21개의 노드를 포함합니다.주로 If, Set, Switch, Telegram, HttpRequest 등의 노드를 사용하며. Lookio RAG와 GPT-4.1을 사용하여 음성과 텍스트 Telegram 어시스턴트를 만듭니다.
사전 요구사항
- •Telegram Bot Token
- •대상 API의 인증 정보가 필요할 수 있음
- •OpenAI API Key
사용된 노드 (21)
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"nodes": [
{
"id": "cad8de80-6b0b-430c-a3c0-8e6a6a25c393",
"name": "Telegram 트리거",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
240,
544
],
"webhookId": "c2c0c3f3-a4d1-4ccb-af97-7269b0debcc2",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "GQHcQvX9GizW5ai3",
"name": "Duv Brain Telegram"
}
},
"typeVersion": 1.1
},
{
"id": "3ccede32-2481-454e-9ccb-9e206b32d67f",
"name": "본인 확인?",
"type": "n8n-nodes-base.if",
"position": [
464,
544
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "fae16f10-e497-47ea-92ec-741f54cedd62",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.message.from.username }}",
"rightValue": "<Replace with your Telegram username>"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "87342e86-4f25-43ed-ae19-8a495b0888c3",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2256,
560
],
"parameters": {
"text": "={{ $json.final_user_message }}",
"options": {
"systemMessage": "=You are a helpful assistant that answers the user based on a knowledge base.\n\nWhenever the user query requires specific knowledge (most queries except empty queries like \"hi\"), call the tool \"Query knowledge base\" with a question to have it output an answer based on the knowledge base.\n\nIf the output from the knowledge base tool indicates that the knowledge base doesn't contain enough insights to answer, communicate this to the user transparently.\n\nAnswer considring that this conversation happens on Telegram - adapt your style/format to that platform."
},
"promptType": "define"
},
"typeVersion": 1.8
},
{
"id": "e17cfbab-3149-45b3-9903-6b5b8b264b8f",
"name": "심플 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
2272,
816
],
"parameters": {
"sessionKey": "={{ $('Telegram Trigger').item.json.message.from.username }}",
"sessionIdType": "customKey",
"contextWindowLength": 7
},
"typeVersion": 1.3
},
{
"id": "182a9d2e-8747-48bf-9c8b-ca606915ce7b",
"name": "스티키 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
240
],
"parameters": {
"color": 2,
"width": 873,
"height": 325,
"content": "# Process Audio"
},
"typeVersion": 1
},
{
"id": "5ad3276d-f713-401f-8ee2-de72243eb426",
"name": "오디오 파일 가져오기",
"type": "n8n-nodes-base.telegram",
"position": [
912,
400
],
"webhookId": "8f4d5e8a-20ed-41d9-980d-b246f016fb67",
"parameters": {
"fileId": "={{ $('Telegram Trigger').item.json.message.voice.file_id }}",
"resource": "file",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "GQHcQvX9GizW5ai3",
"name": "Duv Brain Telegram"
}
},
"typeVersion": 1.2
},
{
"id": "4ac926fe-165b-4b11-ad8d-a5ebc040c4fc",
"name": "메시지 라우터",
"type": "n8n-nodes-base.switch",
"position": [
688,
512
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "audio",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b5d9f703-2a1b-4942-906c-7a7d1404a4d7",
"operator": {
"type": "object",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.voice }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "text",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "342f0883-d959-44a2-b80d-379e39c76218",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.text }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3.2
},
{
"id": "49027af2-e53b-4dfc-ac8e-b849cb6c9db6",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
2400,
768
],
"parameters": {
"color": 6,
"width": 336,
"height": 400,
"content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Lookio tool\n\nThe agent calls this tool to get answers based on the knowledge base you've built in Lookio.\n- Add your [Lookio](https://www.lookio.app/) API key\n- Specify the ID of the Lookio assistant to query"
},
"typeVersion": 1
},
{
"id": "ce0b2d93-2276-47ca-857a-c83a72f0c3e1",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1904,
768
],
"parameters": {
"color": 5,
"width": 336,
"height": 400,
"content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## AI model\n\nThe core AI model of your agent. Connect your OpenAI API key or switch to your favorite LLM provider."
},
"typeVersion": 1
},
{
"id": "f667095e-cf14-4784-9a55-a4261ae00f1a",
"name": "스티키 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2192,
320
],
"parameters": {
"color": 4,
"width": 352,
"height": 400,
"content": "## The agent\n\nThis agent will distribute the relevant questions to Lookio via the \"Query knowledge base\" tool. Feel free to provide more context in its system message and add instructions when it comes to the format or style of responses?"
},
"typeVersion": 1
},
{
"id": "615e79ce-d872-4b99-96a2-02c9436b63c2",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2032,
832
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "dMiSy27YCK6c6rra",
"name": "Duv's OpenAI"
}
},
"typeVersion": 1.2
},
{
"id": "a8da1688-7bfd-4c68-a1da-45523c8628a2",
"name": "Telegram 응답",
"type": "n8n-nodes-base.telegram",
"position": [
2832,
560
],
"webhookId": "091fa9ae-790a-4f7e-86c2-b13c184951bc",
"parameters": {
"text": "={{ $json.output }}",
"chatId": "={{ $('Telegram Trigger').item.json.message.from.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "GQHcQvX9GizW5ai3",
"name": "Duv Brain Telegram"
}
},
"typeVersion": 1.2
},
{
"id": "1dbd7647-e5ac-449a-8e45-34126b4af8bf",
"name": "스티키 노트6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1216,
272
],
"parameters": {
"color": 7,
"width": 265,
"height": 277,
"content": "### AI transcription\n\nYou can replace with another model like OpenAI's."
},
"typeVersion": 1
},
{
"id": "73f644d2-97f9-4718-b0e6-982a44129470",
"name": "지식 베이스 질의",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
2544,
832
],
"parameters": {
"url": "https://api.lookio.app/webhook/query",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "query",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters0_Value', `The query to the knowledge base, in the form of a question`, 'string') }}"
},
{
"name": "assistant_id",
"value": "<your-assistant-id>"
},
{
"name": "query_mode",
"value": "flash"
}
]
},
"toolDescription": "Call this tool when the knowledge base is required to answer the user query.",
"headerParameters": {
"parameters": [
{
"name": "api_key",
"value": "<your-lookio-api-key>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "6d132f95-391c-4a97-a8fa-92663fa608f0",
"name": "스티키 노트7",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
304
],
"parameters": {
"color": 3,
"width": 265,
"height": 405,
"content": "### Make this bot private\n\nTelegram bots are public by default, so we're adding a filter here based on your unique Telegram username. Change the value to ensure only your messages can go through, or delete this step to make it 100% public"
},
"typeVersion": 1
},
{
"id": "d4f5488f-f234-4142-b561-4349550c57f5",
"name": "스티키 노트8",
"type": "n8n-nodes-base.stickyNote",
"position": [
896,
592
],
"parameters": {
"color": 2,
"width": 873,
"height": 293,
"content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n# Process text"
},
"typeVersion": 1
},
{
"id": "dd9663af-3587-42c9-bdf0-a6c3cc2ba6d1",
"name": "오디오에서 메시지 준비",
"type": "n8n-nodes-base.set",
"position": [
1584,
400
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "bffc2c1f-990e-4396-b59a-ab82b843e061",
"name": "preset_user_message",
"type": "string",
"value": "={{ $json.choices[0].message.content }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c18dfaf8-6189-4d78-b0d1-47af2a6e17be",
"name": "텍스트에서 메시지 준비",
"type": "n8n-nodes-base.set",
"position": [
1168,
672
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b37b48ba-8fef-4e6c-bbca-73e6c2e1e0a8",
"name": "preset_user_message",
"type": "string",
"value": "={{ $('Telegram Trigger').item.json.message.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c348dadb-0377-4a6e-9e5e-2f8ec77bd411",
"name": "사용자 메시지 통합",
"type": "n8n-nodes-base.set",
"position": [
1872,
560
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7db97ffc-b1eb-422e-8bb1-90eea55c7aa2",
"name": "final_user_message",
"type": "string",
"value": "={{ $json.preset_user_message }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a881e44a-f8f4-456e-98e5-51850791967d",
"name": "스티키 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-400
],
"parameters": {
"width": 880,
"height": 544,
"content": "# **RAG Telegram bot with Lookio & GPT-4.1 (text + voice)**\n\n**Summary**: A Telegram bot that answers questions using your Lookio assistant. Accepts text and voice (transcribed via **Mistral** by default) and uses an LLM agent that calls the **Query knowledge base** tool.\n\n**How it works (short)**:\n1. **Telegram Trigger** → Detects text or voice via **Message Router**.\n2. Voice: **Get Audio File** → **Mistral transcribe** → prepare text.\n3. **AI Agent** calls **Query knowledge base** (Lookio) when domain knowledge is needed and sends answers via **Telegram answer**.\n\n**How to use / Setup**:\n1. Create a Lookio assistant; get **API Key** and **Assistant ID**.\n2. In **Query knowledge base**, replace `<your-lookio-api-key>` and `<your-assistant-id>`.\n3. Add credentials: **Telegram API**, **OpenAI (or LLM)**, **Mistral Cloud**.\n4. (Optional) Edit **Myself?** to set your Telegram username for private testing or delete it to make the bot public.\n5. Activate the workflow and message your bot in Telegram.\n\n\n**Bold nodes to configure:** **Telegram Trigger**, **Query knowledge base**, **OpenAI Chat Model**, **Mistral transcribe**, **Myself?**\n\n*A template created by Guillaume Duvernay*\n"
},
"typeVersion": 1
},
{
"id": "eda43537-92a0-47f0-ba3f-377b3ba9f5a3",
"name": "Mistral 음성 텍스트 변환",
"type": "n8n-nodes-base.httpRequest",
"position": [
1296,
400
],
"parameters": {
"url": "https://api.mistral.ai/v1/audio/transcriptions",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "model",
"value": "voxtral-mini-2507"
},
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"nodeCredentialType": "mistralCloudApi"
},
"credentials": {
"mistralCloudApi": {
"id": "vakRnCmKyOQFpdEk",
"name": "Mistral Cloud account"
}
},
"typeVersion": 4.2
}
],
"connections": {
"3ccede32-2481-454e-9ccb-9e206b32d67f": {
"main": [
[
{
"node": "4ac926fe-165b-4b11-ad8d-a5ebc040c4fc",
"type": "main",
"index": 0
}
]
]
},
"87342e86-4f25-43ed-ae19-8a495b0888c3": {
"main": [
[
{
"node": "a8da1688-7bfd-4c68-a1da-45523c8628a2",
"type": "main",
"index": 0
}
]
]
},
"e17cfbab-3149-45b3-9903-6b5b8b264b8f": {
"ai_memory": [
[
{
"node": "87342e86-4f25-43ed-ae19-8a495b0888c3",
"type": "ai_memory",
"index": 0
}
]
]
},
"5ad3276d-f713-401f-8ee2-de72243eb426": {
"main": [
[
{
"node": "eda43537-92a0-47f0-ba3f-377b3ba9f5a3",
"type": "main",
"index": 0
}
]
]
},
"4ac926fe-165b-4b11-ad8d-a5ebc040c4fc": {
"main": [
[
{
"node": "5ad3276d-f713-401f-8ee2-de72243eb426",
"type": "main",
"index": 0
}
],
[
{
"node": "c18dfaf8-6189-4d78-b0d1-47af2a6e17be",
"type": "main",
"index": 0
}
]
]
},
"cad8de80-6b0b-430c-a3c0-8e6a6a25c393": {
"main": [
[
{
"node": "3ccede32-2481-454e-9ccb-9e206b32d67f",
"type": "main",
"index": 0
}
]
]
},
"615e79ce-d872-4b99-96a2-02c9436b63c2": {
"ai_languageModel": [
[
{
"node": "87342e86-4f25-43ed-ae19-8a495b0888c3",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"eda43537-92a0-47f0-ba3f-377b3ba9f5a3": {
"main": [
[
{
"node": "dd9663af-3587-42c9-bdf0-a6c3cc2ba6d1",
"type": "main",
"index": 0
}
]
]
},
"73f644d2-97f9-4718-b0e6-982a44129470": {
"ai_tool": [
[
{
"node": "87342e86-4f25-43ed-ae19-8a495b0888c3",
"type": "ai_tool",
"index": 0
}
]
]
},
"c348dadb-0377-4a6e-9e5e-2f8ec77bd411": {
"main": [
[
{
"node": "87342e86-4f25-43ed-ae19-8a495b0888c3",
"type": "main",
"index": 0
}
]
]
},
"c18dfaf8-6189-4d78-b0d1-47af2a6e17be": {
"main": [
[
{
"node": "c348dadb-0377-4a6e-9e5e-2f8ec77bd411",
"type": "main",
"index": 0
}
]
]
},
"dd9663af-3587-42c9-bdf0-a6c3cc2ba6d1": {
"main": [
[
{
"node": "c348dadb-0377-4a6e-9e5e-2f8ec77bd411",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Linkup 네트워크 검색, GPT-4.1, Mistral 음성을 통합한 Telegram 질문 응답 로봇을 구축합니다.
Linkup 네트워크 검색, GPT-4.1, Mistral 음성을 통합한 Telegram 질문 응답 로봇을 구축합니다.
If
Set
Switch
+
If
Set
Switch
21 노드Guillaume Duvernay
Bitget AI 트레이딩 에이전트
Telegram을 통해 GPT-4o-mini AI 에이전트를 사용한 Bitget 현물 거래 자동화
Set
Code
Crypto
+
Set
Code
Crypto
156 노드Don Jayamaha Jr
AI 자동화 및 에이전트 구축 및 판매
构建与판매AI자동화与스마트体
If
Set
Wait
+
If
Set
Wait
74 노드NICKYAI
기타
AI이메일分诊与GPT-4警报系统及Telegram알림
AI이메일分诊与GPT-4警报系统及Telegram알림
If
Set
Gmail
+
If
Set
Gmail
104 노드Peter Joslyn
지원
AI视频생성기 - OpenAI、ElevenLabs与Telegram YouTube게시
통합OpenAI、ElevenLabs并통해Telegram게시至YouTube의AI视频생성기
If
Set
Wait
+
If
Set
Wait
68 노드FRANK LIN
영업
牙科预约
AI驱动의牙科预约系统,통합Telegram、Google日历및表格
If
Set
Switch
+
If
Set
Switch
53 노드Aziz B