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

Send Telegram Alerts for New WooCommerce Orders
View
Line_Chatbot_Extract_Text_from_Pay_Slip_with_Gemini
View
Splitout Editimage Update Triggered
View
Openai Form Automation Triggered
View
Blog Automation TEMPLATE
View
Hunter Pipedrive Create Triggered
View
Agent Access Control Template
View
Zammad Open Tickets
View
HTTP Gitlab Automation Webhook
View