This workflow corresponds to n8n.io template #1403 — we link there as the canonical source.
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 →
{
"id": 1003,
"name": "New tweets",
"nodes": [
{
"name": "On clicking 'execute'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
240,
260
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Twitter",
"type": "n8n-nodes-base.twitter",
"position": [
520,
160
],
"parameters": {
"limit": 100,
"operation": "search",
"searchText": "verstappen",
"additionalFields": {
"resultType": "mixed"
}
},
"typeVersion": 1
},
{
"name": "Set_AT_list",
"type": "n8n-nodes-base.set",
"position": [
780,
360
],
"parameters": {
"values": {
"number": [
{
"name": "Likes",
"value": "={{$node[\"Twitter\"].json[\"favorite_count\"] ? $node[\"Twitter\"].json[\"favorite_count\"] : 0 }}"
}
],
"string": [
{
"name": "Tweet",
"value": "={{$node[\"get airtable list\"].json[\"fields\"][\"Tweet\"]}}"
},
{
"name": "Tweet_id",
"value": "={{$node[\"get airtable list\"].json[\"fields\"][\"Tweet_id\"]}}"
},
{
"name": "Tweet URL",
"value": "={{$node[\"get airtable list\"].json[\"fields\"][\"Tweet URL\"]}}"
},
{
"name": "Author",
"value": "={{$node[\"get airtable list\"].json[\"fields\"][\"Author\"]}}"
},
{
"name": "Time",
"value": "={{$node[\"get airtable list\"].json[\"fields\"][\"Time\"]}}"
}
]
},
"options": {
"dotNotation": false
},
"keepOnlySet": true
},
"typeVersion": 1
},
{
"name": "get airtable list",
"type": "n8n-nodes-base.airtable",
"position": [
520,
360
],
"parameters": {
"table": "tbl6rexxFBodzKVoC",
"operation": "list",
"application": "app36P08S3Jzki6qJ",
"additionalOptions": {}
},
"credentials": {
"airtableApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"name": "set twitter data",
"type": "n8n-nodes-base.set",
"position": [
780,
160
],
"parameters": {
"values": {
"number": [
{
"name": "Likes",
"value": "={{$node[\"Twitter\"].json[\"favorite_count\"]}}"
}
],
"string": [
{
"name": "Tweet",
"value": "={{$node[\"Twitter\"].json[\"text\"]}}"
},
{
"name": "Tweet_id",
"value": "={{$node[\"Twitter\"].json[\"id\"]}}"
},
{
"name": "Tweet URL",
"value": "=https://twitter.com/{{$node[\"Twitter\"].json[\"user\"][\"screen_name\"]}}/status/{{$node[\"Twitter\"].json[\"id_str\"]}}"
},
{
"name": "Author",
"value": "={{$node[\"Twitter\"].json[\"in_reply_to_screen_name\"]}}"
},
{
"name": "Time",
"value": "={{$node[\"Twitter\"].json[\"created_at\"]}}"
}
]
},
"options": {
"dotNotation": false
},
"keepOnlySet": true
},
"typeVersion": 1
},
{
"name": "Leave only new tweets",
"type": "n8n-nodes-base.merge",
"position": [
1060,
260
],
"parameters": {
"mode": "removeKeyMatches",
"propertyName1": "Tweet_id",
"propertyName2": "Tweet_id"
},
"typeVersion": 1
},
{
"name": "Append new tweets to airtable",
"type": "n8n-nodes-base.airtable",
"position": [
1300,
260
],
"parameters": {
"table": "tbl6rexxFBodzKVoC",
"options": {},
"operation": "append",
"application": "app36P08S3Jzki6qJ",
"addAllFields": "={{true}}"
},
"credentials": {
"airtableApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
}
],
"active": false,
"settings": {},
"connections": {
"Twitter": {
"main": [
[
{
"node": "set twitter data",
"type": "main",
"index": 0
}
]
]
},
"Set_AT_list": {
"main": [
[
{
"node": "Leave only new tweets",
"type": "main",
"index": 1
}
]
]
},
"set twitter data": {
"main": [
[
{
"node": "Leave only new tweets",
"type": "main",
"index": 0
}
]
]
},
"get airtable list": {
"main": [
[
{
"node": "Set_AT_list",
"type": "main",
"index": 0
}
]
]
},
"Leave only new tweets": {
"main": [
[
{
"node": "Append new tweets to airtable",
"type": "main",
"index": 0
}
]
]
},
"On clicking 'execute'": {
"main": [
[
{
"node": "Twitter",
"type": "main",
"index": 0
},
{
"node": "get airtable list",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
airtableApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow collects tweets (100 but adjustable) and add them to AirTable. Starting the 2nd execution, the workflow will add only the new tweets (based on Tweet ID), so there won't be any tweet duplications
Source: https://n8n.io/workflows/1403/ — 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.
New tweets. Uses manualTrigger, twitter, airtable. Event-driven trigger; 7 nodes.
New tweets. Uses twitter, airtable, stopAndError. Event-driven trigger; 8 nodes.
Credentials-Setup. Uses twitter, reddit, googleDocs, googleDrive. Event-driven trigger; 43 nodes.
This n8n workflow automatically shares content from a Telegram Channel to multiple platforms like WordPress, Facebook, X/Twitter, and LinkedIn. It uses a Switch node to detect the type of content—text
This workflow listens to messages in a designated Telegram channel and automatically posts them to X (Twitter), Threads, and LinkedIn based on simple @mention tags. Write your content once, tag which