{"nodes":[{"name":"On clicking 'execute'","type":"n8n-nodes-base.manualTrigger","position":[340,380],"parameters":{},"typeVersion":1,"id":"node-4e521ae3"},{"name":"Write Binary File","type":"n8n-nodes-base.writeBinaryFile","position":[1680,280],"parameters":{"fileName":"={{$node[\"Config\"].parameter[\"values\"][\"string\"][0][\"value\"]}}"},"typeVersion":1,"id":"node-7944b55e"},{"name":"Read Binary File","type":"n8n-nodes-base.readBinaryFile","position":[580,460],"parameters":{"filePath":"={{$node[\"Config\"].parameter[\"values\"][\"string\"][0][\"value\"]}}"},"typeVersion":1,"continueOnFail":true,"alwaysOutputData":true,"id":"node-14a690e0"},{"name":"HTTP Request","type":"n8n-nodes-base.httpRequest","position":[1020,460],"parameters":{"url":"{{ $env.BASE_URL }}","options":{},"authentication":"{{ $credentials.headerAuth }}","queryParametersUi":{"parameter":[{"name":"schemaVersion","value":"5"},{"name":"filter[updated_at][gt]","value":"={{$json[\"last_synced\"]}}"}]},"headerParametersUi":{"parameter":[]}},"credentials":{"httpHeaderAuth":{"id":"{{ $credentials.httpHeaderAuth.id }}","name":"Header Auth account"}},"typeVersion":1,"id":"node-d51a839f"},{"name":"Telegram","type":"n8n-nodes-base.telegram","position":[1480,460],"parameters":{"text":"={{$json[\"title\"]}} by {{$json[\"author\"]}}\n\n{{$json[\"summary\"]}}\n\n{{$json[\"url\"]}}","chatId":"={{$node[\"Config\"].parameter[\"values\"][\"number\"][0][\"value\"]}}","additionalFields":{}},"credentials":{"telegramApi":{"id":"{{ $credentials.telegramApi.id }}","name":"my bot"}},"typeVersion":1,"id":"node-8c78f659"},{"name":"Binary to json","type":"n8n-nodes-base.moveBinaryData","position":[800,460],"parameters":{"options":{}},"typeVersion":1,"alwaysOutputData":true,"id":"node-7c9ba4b9"},{"name":"Json to binary","type":"n8n-nodes-base.moveBinaryData","position":[1480,280],"parameters":{"mode":"jsonToBinary","options":{}},"typeVersion":1,"id":"node-31f98dd2"},{"name":"Set new update time","type":"n8n-nodes-base.functionItem","position":[1280,280],"parameters":{"functionCode":"return {\n  last_synced: new Date().getTime()\n};"},"typeVersion":1,"id":"node-4f083ca0"},{"name":"Split into baches","type":"n8n-nodes-base.function","position":[1280,460],"parameters":{"functionCode":"const newValue = Object.values(items[0].json.documents).filter(it => it.category === 'article').filter(it => it.children.length === 0).map(it => ({\n  json: {\n      url: it.url,\n  title: it.title,\n  author: it.author,\n  summary: it.summary,\n  saved_at: new Date(it.saved_at),\n  }\n}))\n\n\nreturn newValue;"},"typeVersion":1,"id":"node-16ff9b9e"},{"name":"Cron","type":"n8n-nodes-base.cron","position":[340,540],"parameters":{"triggerTimes":{"item":[{"mode":"everyX","unit":"minutes","value":10}]}},"typeVersion":1,"id":"node-73f40462"},{"name":"Config","type":"n8n-nodes-base.set","position":[800,300],"parameters":{"values":{"number":[{"name":"Telegram chat it","value":19999}],"string":[{"name":"file path","value":"/whatever/readwiseLastSynced.json"}]},"options":{}},"typeVersion":1,"id":"node-76f1f324"},{"id":"error-8ab207d4","name":"Error Handler","type":"n8n-nodes-base.stopAndError","typeVersion":1,"position":[1000,400],"parameters":{"message":"Workflow execution error","options":{}}}],"connections":{},"name":"Production Workflow","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3},"meta":{"instanceId":"workflow-0a843e92","versionId":"1.0.0","createdAt":"2025-09-29T07:07:56.011990","updatedAt":"2025-09-29T07:07:56.012001","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"description":"Production-ready workflow: Production Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}