Automatisches Abrufen von X-Tweets und Veröffentlichung in Telegram-Chat 2
Fortgeschritten
Dies ist ein Automatisierungsworkflow mit 14 Nodes. Hauptsächlich werden Code, Wait, Telegram, HttpRequest, GoogleSheets und andere Nodes verwendet. Automatisches Abrufen von X-Bild-Posts und Veröffentlichung in Telegram mit Google Sheets als Speicherung
Voraussetzungen
- •Telegram Bot Token
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (14)
Kategorie
-
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"id": "ptwolWvQwd2VnU5e",
"meta": {
"instanceId": "237139412ba2bdccb5393d058ace6ee50c6bb809e4f130ea2f9b24f70a336b94"
},
"name": "Auto Scrape X Posts & Publish to Telegram copy 2",
"tags": [],
"nodes": [
{
"id": "260d511b-12b8-4dfb-93d9-6d0317c49dea",
"name": "Duplikate entfernen",
"type": "n8n-nodes-base.removeDuplicates",
"position": [
512,
-112
],
"parameters": {
"options": {
"historySize": 10000
},
"operation": "removeItemsSeenInPreviousExecutions",
"dedupeValue": "={{ $json.tweet_id }}"
},
"typeVersion": 2
},
{
"id": "863dc17e-446c-4118-9171-0db7402b967f",
"name": "Über Elemente iterieren",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-16,
224
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "a13ca579-f044-4900-94f2-675d012ffa64",
"name": "Trigger: Starte Scraping auf X",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-512,
-112
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1939f7d2-4ebd-459c-aaaa-8c4f5fdd0e94",
"name": "Twitter API",
"type": "n8n-nodes-base.httpRequest",
"position": [
-272,
-112
],
"parameters": {
"url": "https://api.twitterapi.io/twitter/user/last_tweets",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "userID",
"value": "1361142028667662338"
},
{
"name": "userName",
"value": "@Inku_Fr"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "L7K4reMunvy4mC3C",
"name": "X scrapping utilisateur"
}
},
"typeVersion": 4.2
},
{
"id": "9a988b26-1746-4175-b0ff-92c06f391d99",
"name": "Nur Tweets mit Text und Bild filtern",
"type": "n8n-nodes-base.code",
"position": [
256,
-112
],
"parameters": {
"jsCode": "// Filter only tweets that have text and an image\nreturn items\n .map(item => {\n return {\n json: {\n author_name: item.json.author_name,\n author_username: item.json.author_username,\n tweet_text: item.json.tweet_text,\n tweet_url: item.json.tweet_url,\n tweet_id: item.json.tweet_id,\n created_at: item.json.created_at,\n image_url: item.json.first_image_url // retrieve the image link\n }\n };\n })\n .filter(item => item.json.tweet_text && item.json.image_url); // only keeps tweets with text AND images\n"
},
"typeVersion": 2
},
{
"id": "93da9f3b-fea4-4d56-a900-298891ccd28d",
"name": "Scraping-Daten in google speichern",
"type": "n8n-nodes-base.googleSheets",
"position": [
-512,
224
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $json.tweet_url }}",
"Date": "={{ $json.created_at }}",
"Image": "={{ $json.image_url }}",
"Contenu": "={{ $json.tweet_text }}",
"ID Tweet": "={{ $json.tweet_id }}",
"Nom du compte": "={{ $json.author_name }}",
"Nom d'utilisateur": "={{ $json.author_username }}"
},
"schema": [
{
"id": "ID Tweet",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID Tweet",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Contenu",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Contenu",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Image",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Nom d'utilisateur",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Nom d'utilisateur",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Nom du compte",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Nom du compte",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MSy_TwbRjl_IprnzZp9yX_W8pLeVxPd1c_gNnJgtykY/edit#gid=0",
"cachedResultName": "Feuille 1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1xZbBYTPYAW-625aRFwfxNzkTA-nbVY7Mv_EX3ubk1uQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xZbBYTPYAW-625aRFwfxNzkTA-nbVY7Mv_EX3ubk1uQ/edit?usp=drivesdk",
"cachedResultName": "INSTANT ANIME"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "fvaXnOXV63MxY546",
"name": "Google Sheets account 4"
}
},
"typeVersion": 4.6
},
{
"id": "4fc30aa0-ef16-4865-80f4-1b8e7d924d4f",
"name": "Scraping-Daten formatieren und Links entfernen",
"type": "n8n-nodes-base.code",
"position": [
-272,
224
],
"parameters": {
"jsCode": "// Filter and clean tweets\nreturn $input.all()\n .map(item => {\n let text = item.json.Contenu;\n\n // Removes links\n text = text.replace(/https?:\\/\\/\\S+/g, '').trim();\n\n return {\n json: {\n author_name: item.json[\"Nom du compte\"],\n author_username: item.json[\"Nom d'utilisateur\"],\n tweet_text: text,\n tweet_url: item.json.URL,\n tweet_id: item.json[\"ID Tweet\"],\n created_at: item.json.Date,\n first_image_url: item.json.Image,\n }\n };\n })\n // Only keep tweets that have text and an image\n .filter(item => item.json.tweet_text && item.json.first_image_url);\n"
},
"typeVersion": 2
},
{
"id": "f3495493-6a6a-48b8-979d-35e246583fc3",
"name": "3 Minuten pro Beitrag warten",
"type": "n8n-nodes-base.wait",
"position": [
512,
240
],
"webhookId": "1eeb5acf-2934-4d56-b9a7-aeeb203dd465",
"parameters": {
"unit": "minutes",
"amount": 3
},
"typeVersion": 1.1
},
{
"id": "83ca9695-a6d7-4ed5-86c5-8455ecbf984e",
"name": "Foto und Text im Kanal senden",
"type": "n8n-nodes-base.telegram",
"position": [
256,
240
],
"webhookId": "d009379b-bf0d-4468-bea8-0a1ae64e8c99",
"parameters": {
"file": "={{ $json.first_image_url }}",
"chatId": "=@instantanimee",
"operation": "sendPhoto",
"additionalFields": {
"caption": "={{ $json.tweet_text }}"
}
},
"credentials": {
"telegramApi": {
"id": "kbRZDVqu7tIpKwc7",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "6d359557-113a-4b5a-ae02-df43ecf98a67",
"name": "Notizzettel",
"type": "n8n-nodes-base.stickyNote",
"position": [
-368,
-272
],
"parameters": {
"color": 6,
"width": 256,
"height": 352,
"content": "## Enter the ID and username of the user account you want to scrape."
},
"typeVersion": 1
},
{
"id": "f36be26a-4ae5-4e8a-b52b-d1b78726328a",
"name": "Notizzettel1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-64,
-272
],
"parameters": {
"color": 6,
"width": 784,
"height": 352,
"content": "## It will format the data. It also filters the tweets, keeping only those that contain text and at least one image."
},
"typeVersion": 1
},
{
"id": "7fa0a416-8c2e-48dd-9aab-144d9f2afd82",
"name": "Notizzettel2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
144
],
"parameters": {
"color": 6,
"width": 1312,
"height": 320,
"content": "## Publish the tweet on your telegram channel with a wait time of 3 minutes per post"
},
"typeVersion": 1
},
{
"id": "09e7411e-dca4-43ad-8cb9-4f0e95f5448f",
"name": "Notizzettel4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1488,
-480
],
"parameters": {
"width": 624,
"height": 1216,
"content": "\n\n## Who’s it for\n\nThis automation template is designed for content creators, social media managers, and automation enthusiasts who want to automatically scrape X (Twitter) posts with images and publish them directly to a Telegram channel — without writing a single line of code.\n\n## How it works\n\n- Trigger: Start scraping from a specific X (Twitter) account using its ID and username.\n\n- Fetch data: The workflow calls the Twitter API to collect recent tweets.\n\n- Format data: Extracts fields such as author name, username, tweet text, tweet URL, tweet ID, creation date, images, and video URL.\n\n- Filter: Keeps only tweets that contain text and at least one image.\n\n- Remove duplicates: Ensures no repeated tweets are processed.\n\n- Save: Stores the cleaned tweet data into a Google Sheet for backup and future use.\n\n- Clean text: Removes unnecessary links from the tweet text before publishing.\n\n- Loop & Publish: Iterates over the filtered tweets and sends them (text + image) to your Telegram channel.\n\n- Delay: Waits 3 minutes between each post to avoid spamming.\n\n## How to use\n\n- Enter the Twitter ID and username of the account you want to scrape.\n\n- Connect your Google Sheets account to store the data.\n\n- Connect your Telegram bot and channel where the posts will be published.\n\n- Start the workflow → tweets will be scraped, filtered, saved, and automatically published on Telegram.\n\n## Requirements\n\n- A valid Twitter API connection or scraping endpoint.\n\n- A Google Sheet for storing scraped tweets.\n\n- A Telegram Bot connected to your channel.\n\n- n8n or any automation tool where this workflow runs.\n\n## ❓ Need help\n\n**Contact me for consulting and support:** [LinkedIn](https://www.linkedin.com/in/jaures-nya-83a033270/) / [YouTube](https://www.youtube.com/@jauresnya) \n"
},
"typeVersion": 1
},
{
"id": "5641d972-fc52-4c85-8a30-5ecbf6308852",
"name": "Notizzettel3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-816,
-480
],
"parameters": {
"color": 7,
"width": 1792,
"height": 1056,
"content": "## Use this workflow to automates the process of scraping tweets from X (Twitter) and publishing them to a Telegram channel\n### What problem is this workflow solving? / Use case\nMy workflow is solving the problem of automating content curation and cross-posting from Twitter to Telegram, while keeping it clean, organized, spam-free, and consistent."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e1819680-5476-42e8-8fc1-56098c8e04b6",
"connections": {
"1939f7d2-4ebd-459c-aaaa-8c4f5fdd0e94": {
"main": [
[
{
"node": "9a988b26-1746-4175-b0ff-92c06f391d99",
"type": "main",
"index": 0
}
]
]
},
"863dc17e-446c-4118-9171-0db7402b967f": {
"main": [
[],
[
{
"node": "83ca9695-a6d7-4ed5-86c5-8455ecbf984e",
"type": "main",
"index": 0
}
]
]
},
"260d511b-12b8-4dfb-93d9-6d0317c49dea": {
"main": [
[
{
"node": "93da9f3b-fea4-4d56-a900-298891ccd28d",
"type": "main",
"index": 0
}
]
]
},
"f3495493-6a6a-48b8-979d-35e246583fc3": {
"main": [
[
{
"node": "863dc17e-446c-4118-9171-0db7402b967f",
"type": "main",
"index": 0
}
]
]
},
"a13ca579-f044-4900-94f2-675d012ffa64": {
"main": [
[
{
"node": "1939f7d2-4ebd-459c-aaaa-8c4f5fdd0e94",
"type": "main",
"index": 0
}
]
]
},
"83ca9695-a6d7-4ed5-86c5-8455ecbf984e": {
"main": [
[
{
"node": "f3495493-6a6a-48b8-979d-35e246583fc3",
"type": "main",
"index": 0
}
]
]
},
"93da9f3b-fea4-4d56-a900-298891ccd28d": {
"main": [
[
{
"node": "4fc30aa0-ef16-4865-80f4-1b8e7d924d4f",
"type": "main",
"index": 0
}
]
]
},
"9a988b26-1746-4175-b0ff-92c06f391d99": {
"main": [
[
{
"node": "260d511b-12b8-4dfb-93d9-6d0317c49dea",
"type": "main",
"index": 0
}
]
]
},
"4fc30aa0-ef16-4865-80f4-1b8e7d924d4f": {
"main": [
[
{
"node": "863dc17e-446c-4118-9171-0db7402b967f",
"type": "main",
"index": 0
}
]
]
}
}
}Häufig gestellte Fragen
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?
Fortgeschritten
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
API-Architektur-Explorer
API-Architektur-Extraktor
If
Set
Code
+
If
Set
Code
88 NodesPolina Medvedieva
Engineering
Automatischer Motor für virale Inhalte auf LinkedIn und X
Automatisiertes Erstellen und Veröffentlichen von viralen Inhalten für LinkedIn und X mittels KI
If
Set
Wait
+
If
Set
Wait
156 NodesDiptamoy Barman
Content-Erstellung
Domain-Prospecting: Automatisierte Lead-Generierung und zielgerichtetes Ansprechen
Domain-Outreach: Automatisierte Lead-Extraktion und zielgerichtete Kontaktaufnahme
If
Code
Wait
+
If
Code
Wait
31 NodesBadr
Vertrieb
n8n-Knoten in der visuellen Referenzbibliothek erkunden
Erkundung von n8n-Knoten in der visuellen Referenzbibliothek
If
Ftp
Set
+
If
Ftp
Set
113 NodesI versus AI
Sonstiges
Geschäftse-Mails aus Google Maps-Listen für die Lead-Generierung extrahieren
Extrahieren von geschäftlichen E-Mail-Adressen aus Google Maps-Listen zur Lead-Generierung
Code
Wait
Limit
+
Code
Wait
Limit
20 NodesJose Castillo
Lead-Generierung
Lead-Generierung mit Google Maps - AlexK1919
Potenzielle Kunden mit Google Maps generieren
If
Set
Code
+
If
Set
Code
42 NodesAlex Kim
Vertrieb
Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes14
Kategorie-
Node-Typen9
Autor
Externe Links
Auf n8n.io ansehen →
Diesen Workflow teilen