Automatización de la agregación de contenido de redes sociales al canal de Telegram
Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 30 nodos.Utiliza principalmente nodos como If, Code, Wait, Telegram, HttpRequest. Agregación de contenido de Twitter/X en un canal de Telegram usando Google Gemini AI
- •Bot Token de Telegram
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Clave de API de Google Gemini
Nodos utilizados (30)
Categoría
{
"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": "Solicitud HTTP",
"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": "Solicitud HTTP1",
"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": "Esperar",
"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": "Esperar1",
"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": "Código 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": "Agente IA",
"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": "Modelo de chat Google Gemini",
"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": "Disparador programado",
"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": "Nota adhesiva-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": "Nota adhesiva-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-Esperar",
"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": "Nota adhesiva-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": "Nota adhesiva-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": "Nota adhesiva-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": "Nota adhesiva-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": "Nota adhesiva-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": "Nota adhesiva",
"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": "Nota adhesiva1",
"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": "Nota adhesiva2",
"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": "Nota adhesiva3",
"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": "Nota adhesiva4",
"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": "Nota adhesiva5",
"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": "Nota adhesiva6",
"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": "Nota adhesiva7",
"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": "Code in JavaScript",
"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
}
]
]
},
"Code in JavaScript": {
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Creación de contenido, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
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.
Compartir este flujo de trabajo