Telegram, Tavily 및 GPT-5를 사용한 사실적 웹 검색 질의응답
중급
이것은Personal Productivity, AI RAG분야의자동화 워크플로우로, 15개의 노드를 포함합니다.주로 Telegram, AimlApi, TelegramTrigger, Tavily 등의 노드를 사용하며. Telegram, Tavily 및 GPT-5를 사용한 사실적 웹 검색으로 질문에 답변
사전 요구사항
- •Telegram Bot Token
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "e95138f4feafe21ee6a9aac976bfd8e9187993130e7b713ed219f955c1b8837d",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "84253a28-e14b-462a-969c-f1e296f1eb40",
"name": "Sticky Note — 개요",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
-928
],
"parameters": {
"color": 5,
"width": 384,
"height": 360,
"content": "# 🔍 Telegram Search Assistant\n\nMinimal bot that:\n1) Receives a question in Telegram\n2) Searches the web (Tavily)\n3) Summarizes facts with AIMLAPI (`openai/gpt-5-chat-latest`)\n4) Replies concisely (3–4 sentences), grounded in sources\n\n**Goal:** fast, factual answers without hallucinations."
},
"typeVersion": 1
},
{
"id": "0aaea504-3ed8-48b3-aa38-61963de91735",
"name": "Sticky Note — LLM 프롬프트",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
-736
],
"parameters": {
"color": 6,
"width": 384,
"height": 240,
"content": "## 🧠 LLM Prompt (Guardrails)\n* Extract only facts that answer the question\n* 3–4 sentences max\n* If data is thin → say so clearly\n* **No fabrication** — use provided results only\n\n**Inputs:**\n- `query = user message`\n- `results = full Tavily JSON`"
},
"typeVersion": 1
},
{
"id": "0b337423-00e8-4236-b8ef-293641dd387a",
"name": "Sticky Note — 테스트",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
-496
],
"parameters": {
"width": 384,
"height": 192,
"content": "## 🧪 Testing & Fallbacks\n* Test from Telegram (not only “Execute Node”)\n* Add `Switch` for commands and empty text\n* If no results → reply: “I couldn’t find enough reliable info.”\n* Catch errors: send friendly message, log details"
},
"typeVersion": 1
},
{
"id": "4c772d35-25cc-4cf9-bfe8-58bf23d7c6eb",
"name": "Sticky Note — 사용자 지정",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
-576
],
"parameters": {
"color": 5,
"width": 384,
"height": 232,
"content": "## 🛠 Customization\n* `/help` → usage & examples\n* `/sources` → list top URLs from results\n* `/news` or `/wiki` routing via keywords\n* Add NSFW/profanity filter pre-search\n* Rate-limit per user (Set → Wait → Redis/DB)\n* Optional: cache recent answers (key = normalized query)"
},
"typeVersion": 1
},
{
"id": "9778f214-dabf-48db-9f70-6c62e8747fc6",
"name": "Sticky Note — 응답",
"type": "n8n-nodes-base.stickyNote",
"position": [
752,
-192
],
"parameters": {
"color": 4,
"height": 304,
"content": "## 📤 Reply to Telegram\nReply to same chat, referencing original message."
},
"typeVersion": 1
},
{
"id": "e948ce86-f169-47a8-99c8-582bcc5e7d1b",
"name": "Sticky Note — LLM",
"type": "n8n-nodes-base.stickyNote",
"position": [
496,
-192
],
"parameters": {
"color": 6,
"height": 304,
"content": "## 🧠 LLM Summarize\nInput: full search JSON.\nOutput: concise factual answer."
},
"typeVersion": 1
},
{
"id": "a7430bc0-6057-4648-82ed-f90ccaf6fe76",
"name": "Sticky Note — 검색",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-192
],
"parameters": {
"color": 5,
"height": 304,
"content": "## 🔎 Web Search\nQuery = user message. Pass raw JSON downstream."
},
"typeVersion": 1
},
{
"id": "3c805f46-b470-4016-afe6-89641b180a86",
"name": "Sticky Note — 입력",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-192
],
"parameters": {
"color": 2,
"height": 304,
"content": "## ⌨️ Typing Indicator\nSend \"typing\" to show progress."
},
"typeVersion": 1
},
{
"id": "3cca7a73-c37a-4e59-a994-a24d81e98c83",
"name": "Sticky Note — 수신",
"type": "n8n-nodes-base.stickyNote",
"position": [
-272,
-192
],
"parameters": {
"color": 4,
"height": 304,
"content": "## 📩 Receive Telegram Message\nHandle incoming text. Use chat.id + message_id for reply."
},
"typeVersion": 1
},
{
"id": "0ccc7f9f-bc6d-4e44-881d-7b9e1af4f622",
"name": "텍스트 메시지 전송",
"type": "n8n-nodes-base.telegram",
"position": [
832,
-48
],
"webhookId": "01689fcb-171a-4338-bdc5-10447d604caa",
"parameters": {
"text": "={{ $json.content }}",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {
"appendAttribution": false,
"reply_to_message_id": "={{ $('Telegram Trigger').item.json.message.message_id }}"
}
},
"credentials": {
"telegramApi": {
"id": "wh7cybWjl2Zw0MEh",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "eeb18791-a210-4614-9b65-7ec3c7edba37",
"name": "채팅 액션 전송",
"type": "n8n-nodes-base.telegram",
"position": [
48,
-48
],
"webhookId": "bf4cf2c0-6013-4ebf-be08-3519823031c1",
"parameters": {
"chatId": "={{ $json.message.chat.id }}",
"operation": "sendChatAction"
},
"credentials": {
"telegramApi": {
"id": "wh7cybWjl2Zw0MEh",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "239a5aad-bd01-4895-9551-2606aaa9444a",
"name": "Telegram 트리거",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-208,
-48
],
"webhookId": "5ff309b0-9d51-4953-b9ae-616e4c17322b",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "wh7cybWjl2Zw0MEh",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "abdc849f-ed58-40c8-a34b-2d547f5d9212",
"name": "검색",
"type": "@tavily/n8n-nodes-tavily.tavily",
"position": [
304,
-48
],
"parameters": {
"query": "={{ $('Telegram Trigger').item.json.message.text }}",
"options": {}
},
"credentials": {
"tavilyApi": {
"id": "8wWN6c3Z8RZux0RW",
"name": "Tavily account 2"
}
},
"typeVersion": 1
},
{
"id": "17336e52-7ab1-4087-9358-97e04f129d63",
"name": "AI/ML 채팅 완성",
"type": "n8n-nodes-aimlapi.aimlApi",
"position": [
560,
-48
],
"parameters": {
"model": "openai/gpt-5-chat-latest",
"prompt": "=You are an AI assistant. \nYou have search results from Google in JSON or text format. \nYour task is to: \n1. Extract only the facts that directly answer the user’s question. \n2. Provide a clear, concise answer in 3–4 sentences maximum. \n3. If the information is limited, state that clearly. \n4. Never make things up — base your answer only on the provided results. \n\nUser question: \"{{ $json.query }}\" \nSearch results: \n{{ JSON.stringify($json.results) }}\n\nGenerate the final answer in plain, simple English.\n",
"options": {
"responseFormat": "text"
},
"requestOptions": {}
},
"credentials": {
"aimlApi": {
"id": "QLCphbfkAMZbZesE",
"name": "AI/ML account"
}
},
"typeVersion": 1
},
{
"id": "eb8e941d-3b34-45b1-86da-f051b13a7f08",
"name": "Sticky Note — LLM 프롬프트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
-976
],
"parameters": {
"color": 4,
"width": 384,
"height": 240,
"content": "## ⚙️ Setup\n1. **Telegram**: create bot via @BotFather → add token in *Credentials → Telegram API*.\n2. **Tavily**: create API key → add *Tavily account* credentials.\n3. **AIMLAPI**: add *AI/ML API* credentials (base URL `https://api.aimlapi.com/v1`).\n4. **Environment**: set `TELEGRAM_BOT_TOKEN`, `TAVILY_API_KEY`, `AIML_API_KEY` in n8n (if using env)."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"abdc849f-ed58-40c8-a34b-2d547f5d9212": {
"main": [
[
{
"node": "17336e52-7ab1-4087-9358-97e04f129d63",
"type": "main",
"index": 0
}
]
]
},
"239a5aad-bd01-4895-9551-2606aaa9444a": {
"main": [
[
{
"node": "eeb18791-a210-4614-9b65-7ec3c7edba37",
"type": "main",
"index": 0
}
]
]
},
"eeb18791-a210-4614-9b65-7ec3c7edba37": {
"main": [
[
{
"node": "abdc849f-ed58-40c8-a34b-2d547f5d9212",
"type": "main",
"index": 0
}
]
]
},
"17336e52-7ab1-4087-9358-97e04f129d63": {
"main": [
[
{
"node": "0ccc7f9f-bc6d-4e44-881d-7b9e1af4f622",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 개인 생산성, AI RAG
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Telegram, AIMLAPI, Google 스프레드시트를 사용하여 다모델 AI 채팅 로봇을 만들기
Telegram, AIMLAPI와 Google 스프레드시트를 사용하여 다중 모델 AI 채팅 로봇을 생성합니다.
If
Set
Code
+
If
Set
Code
25 노드AI/ML API | D1m7asis
개인 생산성
GPT-4o 기반의 Telegram 심리 건강 지원 로봇을 구축합니다.
GPT-4o를 기반으로 한 Telegram 심리 건강 지원 로봇을 구축합니다.
Set
Switch
Telegram
+
Set
Switch
Telegram
15 노드AI/ML API | D1m7asis
지원 챗봇
Telegram에서 GPT-5와 대화: AI 추동 대화 로봇
Telegram에서 GPT-5와 채팅: AI 추동 대화 로봇
Telegram
Aiml Api
Google Sheets
+
Telegram
Aiml Api
Google Sheets
14 노드AI/ML API | D1m7asis
AI 챗봇
Telegram 로봇과 GPT-4o를 사용하여 개인화된 도시 여행 일정 생성
Telegram 로봇과 GPT-4o를 사용하여 개인화된 도시 여행 일정 생성
Set
Switch
Telegram
+
Set
Switch
Telegram
21 노드AI/ML API | D1m7asis
APImage를 사용하여 AI 이미지 생성 및 Google Drive에 업로드
Telegram에서 GPT-4o를 사용하여 Flux Pro와 함께 AI 이미지 강화 생성
If
Set
Telegram
+
If
Set
Telegram
22 노드AI/ML API | D1m7asis
콘텐츠 제작
GPT-4o와 Telegram을 기반으로 한 상호작용적인 러시아어 지도 로봇
GPT-4o와 Telegram을 기반으로 한 상호작용식 러시아어 지원 로봇
Set
Switch
Telegram
+
Set
Switch
Telegram
16 노드AI/ML API | D1m7asis
콘텐츠 제작