This workflow follows the Agent → HTTP Request 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 →
{
"updatedAt": "2026-07-18T12:13:54.608Z",
"createdAt": "2026-07-01T12:51:49.269Z",
"id": "NpCAVsDMkGXTqhas",
"name": "AI Learning Pipeline: Telegram to Notion ETL",
"description": null,
"active": false,
"isArchived": false,
"nodes": [
{
"parameters": {
"jsCode": "const text = $input.item.json.message.text;\nconst urlRegex = /(https?:\\/\\/[^\\s]+)/g;\nconst url = text.match(urlRegex)?.[0] || \"\";\nconst directive = text.replace(urlRegex, \"\").trim();\nreturn { json: { url: url, directive: directive } };\n\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
224,
624
],
"id": "5eff3758-32e8-46fc-87f3-63bcccedd04e",
"name": "The Parser"
},
{
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"type": "n8n-nodes-base.telegramTrigger",
"typeVersion": 1.3,
"position": [
0,
624
],
"id": "c6702e6a-06c9-4daa-81bc-58a7edaa96ab",
"name": "The Extraction",
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"model": "qwen2.5:3b",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmOllama",
"typeVersion": 1,
"position": [
1424,
848
],
"id": "ee073892-63e1-4944-b026-2b93d4efe517",
"name": "Ollama Model",
"credentials": {
"ollamaApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"text": "={{ $json.transcript_text }} || {{ $json.data }}",
"attributes": {
"attributes": [
{
"name": "domain",
"description": "The technical category of the text.",
"required": true
},
{
"name": "resource_type",
"description": "The format of the learning material."
},
{
"name": "priority",
"description": "The urgency of learning this material, heavily biased by the user directive."
}
]
},
"options": {
"systemPromptTemplate": "=Extract the schema from the text. Pay strict attention to this user directive:{{ $('The Parser').item.json.directive }} . Bias the priority based on this directive"
}
},
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"typeVersion": 1.2,
"position": [
1344,
624
],
"id": "f2f0380f-9242-4a16-a6d4-25ff00a80c1a",
"name": "The Triage AI"
},
{
"parameters": {
"model": "llama3.2:3b",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOllama",
"typeVersion": 1,
"position": [
1664,
848
],
"id": "9a54c257-dc10-4504-aec2-16d099ca1c21",
"name": "Ollama Chat Model",
"credentials": {
"ollamaApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {},
"type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"typeVersion": 1.4,
"position": [
1952,
848
],
"id": "d15e62d8-73f7-4719-93a3-61fc2f20365e",
"name": "Postgres Chat Memory",
"credentials": {
"postgres": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"needsFallback": true,
"options": {
"systemMessage": "=You are an Analytics Engineer mentor. Analyze the provided syllabus and output a Markdown-formatted study roadmap. Break the course into 60-minute execution blocks. Highlight modules related to: {{ $('The Parser').item.json.directive }}."
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 3.1,
"position": [
1760,
624
],
"id": "c20a4adb-a076-47ce-9bd1-7d96ec20f759",
"name": "The Mentor AI"
},
{
"parameters": {
"resource": "databasePage",
"databaseId": {
"__rl": true,
"value": "39070877-4c80-80f4-915b-efcfc0bcf089",
"mode": "list",
"cachedResultName": "Learning Paths",
"cachedResultUrl": "https://app.notion.com/p/390708774c8080f4915befcfc0bcf089"
},
"title": "=",
"options": {}
},
"type": "n8n-nodes-base.notion",
"typeVersion": 2.2,
"position": [
2160,
624
],
"id": "4cab3040-5a7e-46c7-a569-c4f84db7ad0a",
"name": "Create a database page",
"credentials": {
"notionApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"url": "={{ $('The Parser').item.json.url }}",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [
672,
720
],
"id": "4c641df7-b6f1-4043-a80f-cadd476cebfa",
"name": "HTTP Request"
},
{
"parameters": {
"model": "openrouter/auto",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
1808,
848
],
"id": "5e923e09-f32c-4ce7-8a6b-73f2a68d5e0e",
"name": "OpenRouter Chat Model",
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"id": "4810b093-5ee2-47a0-a9f4-c5f3888b634b",
"leftValue": "=={{ $json.url }}",
"rightValue": "youtube.com",
"operator": {
"type": "string",
"operation": "contains"
}
},
{
"id": "c9d3eb03-6ffa-4e0e-b4f3-caf638d60900",
"leftValue": "=={{ $json.url }}",
"rightValue": "youtu.be",
"operator": {
"type": "string",
"operation": "contains"
}
}
],
"combinator": "or"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.3,
"position": [
448,
624
],
"id": "736051c3-9413-4b6f-8de0-5ce83082f6d5",
"name": "If"
},
{
"parameters": {
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{}
]
},
"options": {}
},
"type": "n8n-nodes-base.html",
"typeVersion": 1.2,
"position": [
896,
720
],
"id": "1dc99687-c0c4-4f72-980e-221bfb975868",
"name": "HTML"
},
{
"parameters": {
"html": "j",
"options": {}
},
"type": "n8n-nodes-base.markdown",
"typeVersion": 1,
"position": [
1120,
720
],
"id": "e679759d-c077-45be-b5d7-42aaea426525",
"name": "Markdown"
}
],
"connections": {
"The Extraction": {
"main": [
[
{
"node": "The Parser",
"type": "main",
"index": 0
}
]
]
},
"The Parser": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Ollama Model": {
"ai_languageModel": [
[
{
"node": "The Triage AI",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"The Triage AI": {
"main": [
[
{
"node": "The Mentor AI",
"type": "main",
"index": 0
}
]
]
},
"Ollama Chat Model": {
"ai_languageModel": [
[
{
"node": "The Mentor AI",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Postgres Chat Memory": {
"ai_memory": [
[
{
"node": "The Mentor AI",
"type": "ai_memory",
"index": 0
}
]
]
},
"The Mentor AI": {
"main": [
[
{
"node": "Create a database page",
"type": "main",
"index": 0
}
]
]
},
"Create a database page": {
"main": [
[]
]
},
"HTTP Request": {
"main": [
[
{
"node": "HTML",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "The Mentor AI",
"type": "ai_languageModel",
"index": 1
}
]
]
},
"If": {
"main": [
[
{
"node": "The Triage AI",
"type": "main",
"index": 0
}
],
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"HTML": {
"main": [
[
{
"node": "Markdown",
"type": "main",
"index": 0
}
]
]
},
"Markdown": {
"main": [
[
{
"node": "The Triage AI",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"availableInMCP": true
},
"staticData": null,
"meta": {
"templateCredsSetupCompleted": true
},
"nodeGroups": [],
"versionId": "51d1c4f2-5e4c-45d7-9576-8c1251dbfc2c",
"activeVersionId": null,
"versionCounter": 244,
"triggerCount": 0,
"sourceWorkflowId": null,
"tags": [
{
"updatedAt": "2026-07-16T16:03:29.217Z",
"createdAt": "2026-07-16T16:03:29.217Z",
"id": "08f43634238e406b",
"name": "Agentic AI"
},
{
"updatedAt": "2026-07-16T16:03:29.020Z",
"createdAt": "2026-07-16T16:03:29.020Z",
"id": "9a8d1d753df54ed1",
"name": "Production Automation"
},
{
"updatedAt": "2026-07-16T16:03:28.786Z",
"createdAt": "2026-07-16T16:03:28.786Z",
"id": "6e30f4ffb71d4b65",
"name": "Data Pipeline"
},
{
"updatedAt": "2026-07-16T16:03:28.540Z",
"createdAt": "2026-07-16T16:03:28.540Z",
"id": "90acb56ef2f84a89",
"name": "Event-Driven"
},
{
"updatedAt": "2026-07-16T16:03:28.284Z",
"createdAt": "2026-07-16T16:03:28.284Z",
"id": "e1c954be4bee474d",
"name": "Data Transformation"
}
],
"shared": [
{
"updatedAt": "2026-07-01T12:51:49.269Z",
"createdAt": "2026-07-01T12:51:49.269Z",
"role": "workflow:owner",
"workflowId": "NpCAVsDMkGXTqhas",
"projectId": "7Kuw5RaGwePDWMtJ",
"project": {
"updatedAt": "2026-06-09T16:37:14.049Z",
"createdAt": "2026-06-09T16:15:53.210Z",
"id": "7Kuw5RaGwePDWMtJ",
"name": "Sohila Abbas <sohila.k.data@gmail.com>",
"type": "personal",
"icon": null,
"description": null,
"customTelemetryTags": [],
"creatorId": "ef255f89-7c87-4d14-8714-7469755d5486"
}
}
],
"versionMetadata": {
"name": null,
"description": null
}
}
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.
notionApiollamaApiopenRouterApipostgrestelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
AI Learning Pipeline: Telegram to Notion ETL. Uses telegramTrigger, lmOllama, informationExtractor, lmChatOllama. Event-driven trigger; 13 nodes.
Source: https://github.com/Sohila-Khaled-Abbas/n8n-workflow-telegram-notion-etl/blob/main/workflow.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow is an AI-powered voice assistant that transforms natural language voice or text inputs into actionable productivity tasks such as professional emails and calendar events.Built using Whis
Deep Research Report Generation Using Open Router, Google Search, Webhook/Telegram and Notion. Uses telegramTrigger, memoryBufferWindow, outputParserStructured, agent. Event-driven trigger; 38 nodes.
ZEP Memory. Uses agent, telegramTrigger, telegram, httpRequest. Event-driven trigger; 29 nodes.
How it works Listens to Telegram messages to detect stock-related queries. Extracts company name and identifies its exact stock ticker symbol. Searches Yahoo Finance for stock info using the ticker. F
Episode 11: AI shorts factory app. Uses httpRequest, googleSheets, lmChatOpenAi, lmChatOllama. Event-driven trigger; 96 nodes.