n8n Workflow

Tiny Tiny Rss New Stared Article Saved To Wallabag

This n8n workflow automates tasks and integrates with various services. Tiny Tiny Rss New Stared Article Saved To Wallabag - ready to import and run in your n8n instance.

n8n workflow.json

About This Script

This n8n workflow automates tasks and integrates with various services. Tiny Tiny Rss New Stared Article Saved To Wallabag - ready to import and run in your n8n instance.
Features:
  • Makes HTTP requests to external APIs
  • Scheduled automation with cron triggers
  • Custom JavaScript function processing
  • Conditional logic and branching
Source Code
{
    "nodes": [
        {
            "name": "On clicking 'execute'",
            "type": "n8n-nodes-base.manualTrigger",
            "position": [
                120,
                250
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "aa84fcb8-d877-4e7d-8e86-16ca4c26bb5f"
        },
        {
            "name": "HTTP Request",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1280,
                380
            ],
            "parameters": {
                "url": "=http://{HERE-YOUR-WALLABAG-HOST}/api/entries.json",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "url",
                            "value": "={{$json[\"url\"]}}"
                        }
                    ]
                },
                "queryParametersUi": {
                    "parameter": []
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "Authorization",
                            "value": "=Bearer {{$json[\"access_token\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "cc9aadbb-4bf1-4f2b-b266-98b2456f1b7e"
        },
        {
            "name": "Cron",
            "type": "n8n-nodes-base.cron",
            "position": [
                120,
                400
            ],
            "parameters": {
                "triggerTimes": {
                    "item": [
                        {
                            "mode": "everyX",
                            "unit": "minutes",
                            "value": 10
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "b54f68d7-819c-4470-9007-93db048adf17"
        },
        {
            "name": "Function",
            "type": "n8n-nodes-base.function",
            "position": [
                900,
                470
            ],
            "parameters": {
                "functionCode": "// Get the global workflow static data\nconst staticData = getWorkflowStaticData('global')\n\n// Access its data\nconst lastStarRssId = staticData.lastStarRssId\n\nlet list = []\n\nfor (const item of items[0].json.content){\n  let currentId = item.id\n  if(currentId == lastStarRssId) break;\n  list.push({'json':{\n    'id': currentId,\n    'lastId': lastStarRssId,\n    'url': item.link,\n    'tags': item.tags,\n    'access_token': items[1].json.access_token\n  }})\n}\n\n\n// Get the last ID from Rss Feed\nlet currentStarRssId = items[0].json.content[0].id\n\n// TODO: make a loop to get all the items beyond the last saved id\nif(!lastStarRssId || currentStarRssId != lastStarRssId)\n{  \n  // Update its data\n  staticData.lastStarRssId = currentStarRssId;\n  \n}\nelse { list = [{'json':{ 'id': 'Nan', 'lastId': staticData.lastStarRssId }}] }\nreturn list;\n\n/*return [{'json':{'url': items[0].json.content.pop(), 'wallabag':items[1].json}}]*/"
            },
            "typeVersion": 1,
            "id": "cd30f519-9b9a-4ce9-b4d0-69a255a349ba"
        },
        {
            "name": "IF",
            "type": "n8n-nodes-base.if",
            "position": [
                1100,
                470
            ],
            "parameters": {
                "conditions": {
                    "string": [
                        {
                            "value1": "={{$node[\"Function\"].json[\"id\"]}}",
                            "value2": "NaN",
                            "operation": "notEqual"
                        }
                    ],
                    "boolean": []
                }
            },
            "typeVersion": 1,
            "id": "93e49208-c467-4a69-95ed-ef2ed827492c"
        },
        {
            "name": "NoOp",
            "type": "n8n-nodes-base.noOp",
            "position": [
                1290,
                570
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "b0b05d46-2af0-48c6-9001-f942a648b0f5"
        },
        {
            "name": "Auth Wallabag",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                490,
                590
            ],
            "parameters": {
                "url": "http://{HERE-YOUR-WALLABAG-HOST}/oauth/v2/token",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "grant_type",
                            "value": "password"
                        },
                        {
                            "name": "client_id",
                            "value": "{HERE-YOUR-CLIENT_ID}"
                        },
                        {
                            "name": "client_secret",
                            "value": "{HERE-YOUR-CLIENT_SECRET}"
                        },
                        {
                            "name": "username",
                            "value": "{HERE-YOUR-USERNAME}"
                        },
                        {
                            "name": "password",
                            "value": "{HERE-YOUR-PASSWORD}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "190dc3f5-0c36-48ae-9973-fda8a1ca6510"
        },
        {
            "name": "Merge",
            "type": "n8n-nodes-base.merge",
            "position": [
                710,
                470
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "2104ffa2-c57b-421c-9ea2-92dcd4ec931a"
        },
        {
            "name": "Get stared articles",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                490,
                400
            ],
            "parameters": {
                "url": "http://{HERE-YOUR-TTRSS-HOST}/tt-rss/api/",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "sid",
                            "value": "={{$json[\"content\"][\"session_id\"]}}"
                        },
                        {
                            "name": "op",
                            "value": "getHeadLines"
                        },
                        {
                            "name": "feed_id",
                            "value": "-1"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "97509131-b97a-482b-b6fb-4b6cc252cd6f"
        },
        {
            "name": "Auth TTRss",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                320,
                400
            ],
            "parameters": {
                "url": "http://{HERE-YOUR-TTRSS-HOST}/tt-rss/api/",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "op",
                            "value": "login"
                        },
                        {
                            "name": "user",
                            "value": "{HERE-YOUR-API-USER}"
                        },
                        {
                            "name": "password",
                            "value": "{HERE-YOUR-API-SECRET}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "72e76dd9-ab61-447d-bc59-5db280e0ee3f"
        }
    ],
    "connections": {
        "IF": {
            "main": [
                [
                    {
                        "node": "HTTP Request",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "NoOp",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Cron": {
            "main": [
                [
                    {
                        "node": "Auth TTRss",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Merge": {
            "main": [
                [
                    {
                        "node": "Function",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Function": {
            "main": [
                [
                    {
                        "node": "IF",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Auth TTRss": {
            "main": [
                [
                    {
                        "node": "Get stared articles",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Auth Wallabag": {
            "main": [
                [
                    {
                        "node": "Merge",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        },
        "Get stared articles": {
            "main": [
                [
                    {
                        "node": "Merge",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "On clicking 'execute'": {
            "main": [
                [
                    {
                        "node": "Auth TTRss",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    },
    "n8n_version": "1.5.0"
}
Requirements
n8n instance, API credentials for connected services
Tags
#n8n #automation #workflow
Quick Actions
More in n8n Workflows