Automatisierung der Social-Media-Inhalte in Telegram-Kanäle
Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 30 Nodes. Hauptsächlich werden If, Code, Wait, Telegram, HttpRequest und andere Nodes verwendet. Verwenden Sie Google Gemini AI, um Twitter/X-Inhalte in Telegram-Kanäle zu aggregieren
- •Telegram Bot Token
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Gemini API Key
Verwendete Nodes (30)
Kategorie
{
"id": "Qsx3VDr6JAHBYiU1",
"meta": {
"instanceId": "e2a1d0ec98fd0994972a016020dcf90b56d31fa85f2abd02801701fb8fc45e3d",
"templateCredsSetupCompleted": true
},
"name": "Automate social media content aggregation to a Telegram channel",
"tags": [],
"nodes": [
{
"id": "51ad1db1-1268-43f2-af87-49784184b19e",
"name": "HTTP-Anfrage",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-1056,
80
],
"parameters": {
"url": "https://api.browseract.com/v2/workflow/run-task",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "workflow_id",
"value": "52606771064261730"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "x2SDklVkEIBFM56U",
"name": "BrowserACtaPi"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "eb445058-6561-4cdd-aeb6-86b1cea7caac",
"name": "HTTP-Anfrage1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-576,
64
],
"parameters": {
"url": "https://api.browseract.com/v2/workflow/get-task",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth",
"queryParameters": {
"parameters": [
{
"name": "=task_id",
"value": "={{ $json.id }}"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "x2SDklVkEIBFM56U",
"name": "BrowserACtaPi"
}
},
"typeVersion": 4.2
},
{
"id": "e3a8baef-33a5-4b36-a0ac-f393077dfba9",
"name": "Warten",
"type": "n8n-nodes-base.wait",
"position": [
-320,
336
],
"webhookId": "ef2a567b-c3a0-4e8f-a90a-011906991d48",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "d7afdc55-375d-42f6-aec1-d5ed4073fd86",
"name": "Warten1",
"type": "n8n-nodes-base.wait",
"position": [
-864,
336
],
"webhookId": "a2237c54-9346-40e7-b622-0c50db1b379c",
"parameters": {
"amount": 20
},
"typeVersion": 1.1
},
{
"id": "4f1ec379-162b-4d77-bdb5-e4bcdca86935",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
-864,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d48ae258-78a0-4b26-923d-2643b6b774c6",
"operator": {
"type": "object",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.error }}",
"rightValue": ""
},
{
"id": "3967a169-8432-45bd-8f89-08795fd12679",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.id }}",
"rightValue": "null"
}
]
}
},
"retryOnFail": false,
"typeVersion": 2.2
},
{
"id": "a50bbd98-fbb7-4bab-bd52-b03c9c12c7b5",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
-304,
64
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0347a2a2-eb32-414d-9494-4e648078cf40",
"operator": {
"type": "object",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.error }}",
"rightValue": ""
},
{
"id": "99f31959-6f27-40dd-97c3-6ff611da1e0b",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "finished"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "641e6deb-f68f-48ad-99e5-382d0b36df95",
"name": "Send a text message",
"type": "n8n-nodes-base.telegram",
"position": [
464,
112
],
"webhookId": "c9d760eb-3c1a-4fc6-8ee7-da0e26ac27fe",
"parameters": {
"text": "={{ $json.Title }}\n{{ $json.Summary }}\n\nBY: {{ $json.PublishedBy }}\n{{ $json.Url }}",
"chatId": "@Test",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "34LCOs7mfDx5vkSV",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "a53dc2cd-7ed0-478a-a610-bca789143af5",
"name": "Code in JavaScript",
"type": "n8n-nodes-base.code",
"position": [
-64,
400
],
"parameters": {
"jsCode": "// This function will iterate through your data and reformat it\n// into a list of single-item lists.\nconst refinedOutput = $input.first().json.output.refined_output\nconst processedItems = [];\n\nfor (const item of refinedOutput) {\n // Create a new item object with a 'json' key\n // that holds the object directly.\n const newItem = {\n json: item,\n };\n processedItems.push(newItem);\n}\n\n// Return the new list of items\nreturn processedItems;"
},
"typeVersion": 2
},
{
"id": "61a053ae-cd55-43b2-9b08-53171f39c37c",
"name": "KI-Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"maxTries": 2,
"position": [
-64,
48
],
"parameters": {
"text": "=in the\n\n{{ $json.output.string }}\n\nlist of maps available like the example below\n\n\n[\n { \n \"Title\": \".............\", \n \"PublishedBy\": \"............\", \n \"Summary\": \".............\", \n \"Url\": \".............\",\n\"Pic\" : \".............\"\n}\n] \n\nRefine the output for each items in the list, Summarize the 'Summary' if needed and remove all duplicated data.\n\n\"refined_output\" : \n {\n \"Title\": <String>,\n \"PublishedBy\": <String>,\n \"Summary\": <String>,\n \"Url\" : <String>,\n \"Pic\" : <String>\n }\n\nadd each one separately as an item \n",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"retryOnFail": true,
"typeVersion": 2.2,
"waitBetweenTries": 1500
},
{
"id": "ce1fbc09-7156-4a7d-b88c-1c1bb881d12a",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
96,
256
],
"parameters": {
"jsonSchemaExample": "{\n \"refined_output\": \n [\n {\n \"Title\": \"<String>\",\n \"PublishedBy\": \"<String>\",\n \"Summary\": \"<String>\",\n \"Url\": \"<String>\",\n \"Pic\": \"<String>\"\n }\n ]\n}"
},
"typeVersion": 1.3
},
{
"id": "55d8a924-c02d-4d5e-893f-094587a8b1a7",
"name": "Google Gemini-Chat-Modell",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-64,
256
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "G8YK0DTLFGi5n0WD",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "c582cfc7-66c7-46da-918f-6758014b8587",
"name": "If2",
"type": "n8n-nodes-base.if",
"position": [
128,
400
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "df1ae316-b51d-4f5a-959a-bea374087a9b",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.Pic }}",
"rightValue": "=no picture"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e63901a7-2e00-4467-8191-a6e529d9ef90",
"name": "Send a photo message",
"type": "n8n-nodes-base.telegram",
"position": [
464,
336
],
"webhookId": "5cd5b005-17d2-4fd1-a61c-3f90c54cf2d7",
"parameters": {
"file": "={{ $json.Pic }}",
"chatId": "@Test",
"operation": "sendPhoto",
"additionalFields": {
"caption": "={{ $json.Title }} \n\n{{ $json.Summary }} \n\nBY: {{ $json.PublishedBy }}\n\n{{ $json.Url }}"
}
},
"credentials": {
"telegramApi": {
"id": "34LCOs7mfDx5vkSV",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "85e66f7d-b04c-494a-a80c-3d54522b8aaa",
"name": "Zeitplan-Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1312,
80
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "2170f06f-24de-455c-8f2a-bbd3310a72d0",
"name": "Haftnotiz-Intro",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1936,
-128
],
"parameters": {
"width": 592,
"height": 408,
"content": "## Try It Out!\n### This n8n template automatically scrapes and refines content from the X homepage and sends curated posts to your Telegram channel.\n\n### How it works\n* The workflow is triggered automatically on a schedule to scrape the latest posts from X.\n* A series of **If** and **Wait** nodes monitor the scraping job until the full data is ready.\n* An **AI Agent**, powered by **Google Gemini**, refines the scraped content by summarizing posts and removing duplicates.\n* An **If** node checks for an image in the post to decide if a photo or a text message should be sent.\n* Finally, the curated posts are sent to your Telegram channel as rich media messages.\n\n### Requirements\n* **BrowserAct** API account\n* **BrowserAct** **“Twitter/X Content Aggregation”** Template\n* **Gemini** account\n* **Telegram** credentials\n\n### Need Help?\nJoin the [Discord](https://discord.com/invite/UpnCKd7GaU) or Visit Our [Blog](https://www.browseract.com/blog)!\n"
},
"typeVersion": 1
},
{
"id": "80c1e1b8-cb9b-42c4-8509-81106db60295",
"name": "Haftnotiz-Scraping",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1152,
-128
],
"parameters": {
"color": 5,
"width": 480,
"height": 164,
"content": "## 1. Trigger the Job Scraper\n\nThis workflow uses an HTTP Request to start a job scraping task via the BrowserAct API. This allows you to collect up-to-date job market data.\n\n### Don't forget to add your BrowserAct Workflow ID. "
},
"typeVersion": 1
},
{
"id": "341dd9f1-bde8-4fc8-9fd9-39dc60107eef",
"name": "Sticky Note-Warten",
"type": "n8n-nodes-base.stickyNote",
"position": [
-656,
-128
],
"parameters": {
"color": 5,
"width": 512,
"height": 164,
"content": "## 2. Wait for Scraping to Finish\n\nThese nodes check the status of the scraping task. The `If` node determines if the task is complete. If it's still running, the `Wait` node pauses the workflow for a set period before retrying to check the status."
},
"typeVersion": 1
},
{
"id": "81b9fbd7-33fc-4563-8a1f-e3a4fc939cb2",
"name": "Haftnotiz-AI",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
-128
],
"parameters": {
"color": 4,
"width": 448,
"content": "## 3. Refine Content with AI\n\nThis **AI Agent** node, powered by **Google Gemini**, processes the scraped data. Its job is to summarize the posts and remove any duplicate information, ensuring the final output is clean and valuable.\n\n\n### Don't forget to Connect your Gemini "
},
"typeVersion": 1
},
{
"id": "f861965c-7e8c-4008-b6ea-6aa310d0b813",
"name": "Haftnotiz-Conditional Send",
"type": "n8n-nodes-base.stickyNote",
"position": [
336,
-128
],
"parameters": {
"color": 3,
"width": 352,
"height": 196,
"content": "## 4. Send to Telegram\n\nAn **If** node checks if the post includes an image. It then routes the data to either a 'send photo' or 'send text message' Telegram node, ensuring the content is sent in the best possible format.\n\n### Don't forget to Connect your Telegram and add your Channel ID. "
},
"typeVersion": 1
},
{
"id": "1f370ea2-d0fd-4442-baa8-ae101cd9e5f7",
"name": "Haftnotiz-How to Use",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1936,
288
],
"parameters": {
"width": 592,
"height": 168,
"content": "## How to use\n\n1. **Set up Credentials:** Add your credentials for **BrowserAct**, **Google Gemini**, and **Telegram** to the workflow. They will be used by the relevant nodes.\n2. **Set up BrowserAct:** In your **BrowserAct** account, set up the **X Home Page Scrapper** template.\n3. **Add WorkFlow ID:** Change the `workflow_id` value inside the **HTTP Request** node to match the one from your BrowserAct workflow.\n4. **Activate Workflow:** To enable the automated schedule, simply activate the workflow."
},
"typeVersion": 1
},
{
"id": "323127a9-6e88-41a6-8529-b43cc44b009a",
"name": "Haftnotiz-Help",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1936,
464
],
"parameters": {
"width": 592,
"height": 96,
"content": "## Need Help ?\n* [How to Find Your BrowserAct API Key & Workflow ID](https://www.youtube.com/watch?v=pDjoZWEsZlE)\n* [How to Connect n8n to Browseract](https://www.youtube.com/watch?v=RoYMdJaRdcQ)\n* [How to Use & Customize BrowserAct Templates](https://www.youtube.com/watch?v=CPZHFUASncY)"
},
"typeVersion": 1
},
{
"id": "b78bcd09-88bc-4dd9-8ef1-32d3e247a6e1",
"name": "Haftnotiz-Video",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1936,
576
],
"parameters": {
"width": 592,
"height": 80,
"content": "## Watch Workflow Guidance and Showcase\n* #### [Automate Your Social Media: Get All X/Twitter Updates Directly in Telegram!](https://youtu.be/6CXe6k9vihk)"
},
"typeVersion": 1
},
{
"id": "f59c80ea-db18-4f18-b623-f4f0fe156c69",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1152,
48
],
"parameters": {
"color": 5,
"width": 480,
"height": 480,
"content": ""
},
"typeVersion": 1
},
{
"id": "c8d84675-275a-4838-961c-9701f8a3a7cb",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-656,
48
],
"parameters": {
"color": 5,
"width": 512,
"height": 480,
"content": ""
},
"typeVersion": 1
},
{
"id": "807e290e-0b2e-4e75-b91d-e4b7ab77cb9e",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
48
],
"parameters": {
"color": 4,
"width": 448,
"height": 480,
"content": ""
},
"typeVersion": 1
},
{
"id": "a821fb85-990c-4a4c-9329-808dff71b184",
"name": "Haftnotiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
336,
80
],
"parameters": {
"color": 3,
"width": 352,
"height": 448,
"content": ""
},
"typeVersion": 1
},
{
"id": "94468263-32d0-49c2-b805-61f8a0c1b7cb",
"name": "Haftnotiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1008,
-240
],
"parameters": {
"color": 5,
"width": 182,
"height": 80,
"content": "## \n# Run Node"
},
"typeVersion": 1
},
{
"id": "3116f3bc-dd38-4a46-b62e-713150332933",
"name": "Haftnotiz5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-496,
-240
],
"parameters": {
"color": 5,
"width": 182,
"height": 80,
"content": "## \n# Get Node"
},
"typeVersion": 1
},
{
"id": "0c84785c-6e66-47d1-b307-9198ccbc85a4",
"name": "Haftnotiz6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
-240
],
"parameters": {
"color": 4,
"width": 230,
"height": 80,
"content": "## \n# Agent Node"
},
"typeVersion": 1
},
{
"id": "ec102a87-733d-4e22-8a08-154d53552139",
"name": "Haftnotiz7",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
-240
],
"parameters": {
"color": 3,
"width": 214,
"height": 80,
"content": "## \n# Send Node"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "63f14756-172c-40d7-9efc-8ef6737214ca",
"connections": {
"4f1ec379-162b-4d77-bdb5-e4bcdca86935": {
"main": [
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait1",
"type": "main",
"index": 0
}
]
]
},
"a50bbd98-fbb7-4bab-bd52-b03c9c12c7b5": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"c582cfc7-66c7-46da-918f-6758014b8587": {
"main": [
[
{
"node": "641e6deb-f68f-48ad-99e5-382d0b36df95",
"type": "main",
"index": 0
}
],
[
{
"node": "e63901a7-2e00-4467-8191-a6e529d9ef90",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
]
]
},
"Wait1": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "a53dc2cd-7ed0-478a-a610-bca789143af5",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "4f1ec379-162b-4d77-bdb5-e4bcdca86935",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "a50bbd98-fbb7-4bab-bd52-b03c9c12c7b5",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"a53dc2cd-7ed0-478a-a610-bca789143af5": {
"main": [
[
{
"node": "c582cfc7-66c7-46da-918f-6758014b8587",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"ce1fbc09-7156-4a7d-b88c-1c1bb881d12a": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Content-Erstellung, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Madame AI Team | Kai
@madame-aiI’m a PhD in Physics turned AI enthusiast, passionate about uncovering how AI is transforming content creation, business, and daily life.
Diesen Workflow teilen