Workflow: Manual Twitter Automate

Workflow Details

Download Workflow
{
    "id": "1",
    "name": "TwitterWorkflow",
    "nodes": [
        {
            "name": "On clicking 'execute'",
            "type": "n8n-nodes-base.manualTrigger",
            "disabled": true,
            "position": [
                400,
                850
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "name": "Filter Tweet Data",
            "type": "n8n-nodes-base.set",
            "position": [
                680,
                300
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "Tweet",
                            "value": "={{$node[\"n8n.io mentions\"].json[\"text\"]}}"
                        },
                        {
                            "name": "Tweet ID",
                            "value": "={{$node[\"n8n.io mentions\"].json[\"id\"]}}"
                        },
                        {
                            "name": "Tweet URL",
                            "value": "=https:\/\/twitter.com\/{{$node[\"n8n.io mentions\"].json[\"user\"][\"screen_name\"]}}\/status\/{{$node[\"n8n.io mentions\"].json[\"id_str\"]}}"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "name": "Only get new tweets",
            "type": "n8n-nodes-base.function",
            "position": [
                910,
                300
            ],
            "parameters": {
                "functionCode": "const staticData = getWorkflowStaticData('global');\nconst newTweetIds = items.map(item => item.json[\"Tweet ID\"]);\nconst oldTweetIds = staticData.oldTweetIds; \n\nif (!oldTweetIds) {\n  staticData.oldTweetIds = newTweetIds;\n  return items;\n}\n\n\nconst actualNewTweetIds = newTweetIds.filter((id) => !oldTweetIds.includes(id));\nconst actualNewTweets = items.filter((data) => actualNewTweetIds.includes(data.json['Tweet ID']));\nstaticData.oldTweetIds = [...actualNewTweetIds, ...oldTweetIds];\n\nreturn actualNewTweets;\n"
            },
            "typeVersion": 1
        },
        {
            "name": "n8n.io mentions",
            "type": "n8n-nodes-base.twitter",
            "position": [
                480,
                300
            ],
            "parameters": {
                "operation": "search",
                "searchText": "@n8n_io",
                "additionalFields": []
            },
            "credentials": {
                "twitterOAuth1Api": "Twitter Credentials"
            },
            "typeVersion": 1
        },
        {
            "name": "RocketChat",
            "type": "n8n-nodes-base.rocketchat",
            "position": [
                1150,
                300
            ],
            "parameters": {
                "text": "=New Mention!: {{$node[\"Filter Tweet Data\"].json[\"Tweet\"]}}.\nSee it here: {{$node[\"Only get new tweets\"].json[\"Tweet URL\"]}}",
                "channel": "general",
                "options": [],
                "jsonParameters": true
            },
            "credentials": {
                "rocketchatApi": "Rocket Chat API"
            },
            "typeVersion": 1
        },
        {
            "name": "Cron",
            "type": "n8n-nodes-base.cron",
            "position": [
                270,
                300
            ],
            "parameters": {
                "triggerTimes": {
                    "item": [
                        {
                            "mode": "everyX",
                            "unit": "minutes",
                            "value": 1
                        }
                    ]
                }
            },
            "typeVersion": 1
        }
    ],
    "active": false,
    "settings": [],
    "connections": {
        "Cron": {
            "main": [
                [
                    {
                        "node": "n8n.io mentions",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "n8n.io mentions": {
            "main": [
                [
                    {
                        "node": "Filter Tweet Data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Filter Tweet Data": {
            "main": [
                [
                    {
                        "node": "Only get new tweets",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Only get new tweets": {
            "main": [
                [
                    {
                        "node": "RocketChat",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "On clicking 'execute'": {
            "main": [
                []
            ]
        }
    }
}
Back to Workflows

Related Workflows

Code Converttofile Send Webhook
View
Code Readpdf Send Triggered
View
Manual HTTP Automation Webhook
View
HTTP Extractfromfile Process Webhook
View
Check for valid Mautic contact email
View
Get PDF with JSReport
View
🐋DeepSeek V3 Chat & R1 Reasoning Quick Start
View
HTTP Dropbox Automation Webhook
View
Manual Stickynote Automation Webhook
View
Qdrant Vector Database Embedding Pipeline
View