{ "nodes": [ { "id": "25a28584-ae1b-4d14-9261-80be8f3c6727", "name": "Create Post", "type": "n8n-nodes-base.httpRequest", "position": [ 520, 0 ], "parameters": { "url": "{{ $env.WEBHOOK_URL }}", "method": "POST", "options": { "response": { "response": { "neverError": true, "responseFormat": "json" } } }, "jsonBody": "={\n \"repo\": \"{{ $node['Create Session'].json['did'] }}\",\n \"collection\": \"app.bsky.feed.post\",\n \"record\": {\n \"text\": {{ JSON.stringify($node['RSS Feed Trigger'].json['content:encodedSnippet']) }},\n \"$type\": \"app.bsky.feed.post\",\n \"embed\": {\n \"$type\": \"app.bsky.embed.external\",\n \"external\": {\n \"uri\": \"{{ $node['RSS Feed Trigger'].json['link'] }}\",\n \"title\": \"{{ $node['RSS Feed Trigger'].json['lintitlek'] }}\",\n \"description\": \"{{ $node['RSS Feed Trigger'].json['contentSnippet'] }}\",\n \"thumb\": {\n \"$type\": \"{{ $json.blob.$type }}\",\n \"ref\": {\n \"$link\": \"{{ $json['blob']['ref']['$link'] }}\"\n },\n \"mimeType\": \"{{ $json.blob.mimeType }}\",\n \"size\": {{ $json.blob.size }}\n }\n }\n },\n \"createdAt\": \"{{ $node['Get current datetime'].json['currentDate'] }}\",\n \"langs\": [ \"es-ES\" ]\n }\n}\n", "sendBody": true, "sendHeaders": true, "specifyBody": "json", "headerParameters": { "parameters": [ { "name": "Authorization", "value": "=Bearer {{ $item(\"0\").$node[\"Create Session\"].json[\"accessJwt\"] }}" } ] } }, "notesInFlow": true, "typeVersion": 4.1, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "b9d02b7f-f73d-4b53-a1ef-c693a0847bb2", "name": "Upload image", "type": "n8n-nodes-base.httpRequest", "position": [ 320, 0 ], "parameters": { "url": "{{ $env.WEBHOOK_URL }}", "method": "POST", "options": {}, "sendBody": true, "contentType": "binaryData", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Authorization", "value": "=Bearer {{ $item(\"0\").$node[\"Create Session\"].json[\"accessJwt\"] }}" }, { "name": "Content-Type", "value": "={{ $json.enclosure.type }}" } ] }, "inputDataFieldName": "data" }, "notesInFlow": true, "typeVersion": 4.1, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "3593c517-03af-483f-b0d3-c538840a55d9", "name": "Download image", "type": "n8n-nodes-base.httpRequest", "position": [ 120, 0 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": { "response": { "response": { "responseFormat": "file" } } } }, "typeVersion": 4.2, "alwaysOutputData": false, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "71edf797-6aac-44dd-b988-a8b7e5667bac", "name": "Create Session", "type": "n8n-nodes-base.httpRequest", "position": [ -320, 0 ], "parameters": { "url": "{{ $env.WEBHOOK_URL }}", "method": "POST", "options": {}, "sendBody": true, "bodyParameters": { "parameters": [ { "name": "identifier", "value": "" }, { "name": "password", "value": "" } ] } }, "notesInFlow": true, "typeVersion": 4.1, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "c28b280f-c169-4f03-9f93-20655cc0c095", "name": "RSS Feed Trigger", "type": "n8n-nodes-base.rssFeedReadTrigger", "position": [ -580, 0 ], "parameters": { "feedUrl": "{{ $env.BASE_URL }}", "pollTimes": { "item": [ { "mode": "everyMinute" } ] } }, "typeVersion": 1, "notes": "This rssFeedReadTrigger node performs automated tasks as part of the workflow." }, { "id": "1217c82c-694a-48dd-82d3-2ca5c24891c7", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -380, -120 ], "parameters": { "width": 220, "height": 300, "content": "### Configure your credentials\nCreate [an app password]({{ $env.WEBHOOK_URL }} first" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "5e08fd12-8ba0-4c58-b813-0ffefb5be37c", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ 460, -120 ], "parameters": { "width": 210, "height": 300, "content": "### Customize the text \nYou can customize the message text here" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "3c472b8f-928a-44bc-b75d-56c7b263f490", "name": "Get current datetime", "type": "n8n-nodes-base.dateTime", "position": [ -100, 0 ], "parameters": { "options": {} }, "typeVersion": 2, "notes": "This dateTime node performs automated tasks as part of the workflow." }, { "id": "5d9905af-1194-41ff-acfd-773611092bee", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ 60, -120 ], "parameters": { "width": 220, "height": 300, "content": "### Image preview \nBy default retrieved from the feed, but you can configure a custom one here from an URL" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "faeaf1bd-560e-4606-8a67-48ae8a18f17a", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ -140, -400 ], "parameters": { "color": 5, "width": 420, "height": 180, "content": "## Post new RSS feed items as BlueSky posts\nThis will create a BlueSky post with each new RSS feed item, including the feed title, post image, link and content (up to 200 characters)" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "pinData": {}, "connections": { "25a28584-ae1b-4d14-9261-80be8f3c6727": { "main": [ [ { "node": "error-handler-25a28584-ae1b-4d14-9261-80be8f3c6727", "type": "main", "index": 0 } ], [ { "node": "error-handler-25a28584-ae1b-4d14-9261-80be8f3c6727-28af5cdd", "type": "main", "index": 0 } ], [ { "node": "error-handler-25a28584-ae1b-4d14-9261-80be8f3c6727-dde3403a", "type": "main", "index": 0 } ], [ { "node": "error-handler-25a28584-ae1b-4d14-9261-80be8f3c6727-d2b3aa14", "type": "main", "index": 0 } ], [ { "node": "error-handler-25a28584-ae1b-4d14-9261-80be8f3c6727-b3822b3c", "type": "main", "index": 0 } ] ] }, "b9d02b7f-f73d-4b53-a1ef-c693a0847bb2": { "main": [ [ { "node": "error-handler-b9d02b7f-f73d-4b53-a1ef-c693a0847bb2", "type": "main", "index": 0 } ], [ { "node": "error-handler-b9d02b7f-f73d-4b53-a1ef-c693a0847bb2-4ced8cc0", "type": "main", "index": 0 } ], [ { "node": "error-handler-b9d02b7f-f73d-4b53-a1ef-c693a0847bb2-3445f60a", "type": "main", "index": 0 } ], [ { "node": "error-handler-b9d02b7f-f73d-4b53-a1ef-c693a0847bb2-ff94397a", "type": "main", "index": 0 } ], [ { "node": "error-handler-b9d02b7f-f73d-4b53-a1ef-c693a0847bb2-813d18c2", "type": "main", "index": 0 } ] ] }, "3593c517-03af-483f-b0d3-c538840a55d9": { "main": [ [ { "node": "error-handler-3593c517-03af-483f-b0d3-c538840a55d9", "type": "main", "index": 0 } ], [ { "node": "error-handler-3593c517-03af-483f-b0d3-c538840a55d9-fd0989f1", "type": "main", "index": 0 } ], [ { "node": "error-handler-3593c517-03af-483f-b0d3-c538840a55d9-bf661c63", "type": "main", "index": 0 } ], [ { "node": "error-handler-3593c517-03af-483f-b0d3-c538840a55d9-1b3abe1d", "type": "main", "index": 0 } ], [ { "node": "error-handler-3593c517-03af-483f-b0d3-c538840a55d9-0cf3ab73", "type": "main", "index": 0 } ] ] }, "71edf797-6aac-44dd-b988-a8b7e5667bac": { "main": [ [ { "node": "error-handler-71edf797-6aac-44dd-b988-a8b7e5667bac", "type": "main", "index": 0 } ], [ { "node": "error-handler-71edf797-6aac-44dd-b988-a8b7e5667bac-d8ca0dbb", "type": "main", "index": 0 } ], [ { "node": "error-handler-71edf797-6aac-44dd-b988-a8b7e5667bac-b75df247", "type": "main", "index": 0 } ], [ { "node": "error-handler-71edf797-6aac-44dd-b988-a8b7e5667bac-afc71ebc", "type": "main", "index": 0 } ], [ { "node": "error-handler-71edf797-6aac-44dd-b988-a8b7e5667bac-e584f52f", "type": "main", "index": 0 } ] ] } }, "name": "Httprequest Workflow", "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "description": "Automated workflow: Httprequest Workflow. This workflow integrates 5 different services: stickyNote, httpRequest, rssFeedReadTrigger, stopAndError, dateTime. It contains 18 nodes and follows best practices for error handling and security.", "meta": { "instanceId": "workflow-c555c303", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:46.075704", "updatedAt": "2025-09-29T07:07:46.075720", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Httprequest Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }