{"id":1,"name":"Create Nextcloud Deck card from email","nodes":[{"id":"trigger-73b74633","name":"Manual Trigger","type":"n8n-nodes-base.manualTrigger","typeVersion":1,"position":[100,100],"parameters":{}},{"name":"IMAP Email","type":"n8n-nodes-base.emailReadImap","notes":"Check email","position":[480,140],"parameters":{"options":{}},"credentials":{"imap":{"id":"{{ $credentials.imap.id }}","name":"todo@yourdomain.com"}},"notesInFlow":true,"typeVersion":1,"id":"node-551d7bd1"},{"name":"Function","type":"n8n-nodes-base.function","notes":"Strip HTML code","position":[730,140],"parameters":{"functionCode":"// Code here will run only once, no matter how many input items there are.\n// More info and help: https://docs.n8n.io/nodes/n8n-nodes-base.function\n\n// Loop over inputs and add a new field called 'myNewField' to the JSON of each one\nfor (item of items) {\n  if (item.json.textHtml) {\n    // Remove HTML, double quotations, line breaks, carriage returns\n    item.json.body = item.json.textHtml.replace(/<br(\\s*?\\/?)>/g, \"\\\\n\").replace(/(<([^>]+)>)/g, \"\").replace(/\\\"/g, \"\");\n    //item.json.body = item.json.textHtml.eplace(/(<([^>]+)>)/g, \"\").replace(/\\\"/g, \"\").replace(/\\n/g, \"\").replace(/\\r/g, \"\");\n  } else {\n    // Remove double quotations, line breaks, carriage returns\n    item.json.body = item.json.textPlain.replace(/\\\"/g, \"\").replace(/\\n/g, \"\\\\n\").replace(/\\r/g, \"\");\n  }\n}\n\n// You can write logs to the browser console\nconsole.log('Done!');\n\nreturn items;"},"notesInFlow":true,"typeVersion":1,"id":"node-b6611202"},{"name":"HTTP Request","type":"n8n-nodes-base.httpRequest","notes":"Add card to Nextcloud Deck App. Configure board / stack id to your environment.","position":[970,140],"parameters":{"url":"{{ $env.BASE_URL }}","options":{},"requestMethod":"POST","authentication":"{{ $credentials.basicAuth }}","jsonParameters":true,"bodyParametersJson":"={\n\"title\": \"{{$json[\"subject\"]}}\",\n\"type\": \"plain\",\n\"order\": -1,\n\"description\": \"{{$json[\"body\"]}}\"\n}","headerParametersJson":"{\n\"OCS-APIRequest\": \"true\",\n\"Content-Type\": \"application/json\"\n}"},"credentials":{"httpBasicAuth":{"id":"{{ $credentials.httpBasicAuth.id }}","name":"Nextcloud credential"}},"notesInFlow":true,"typeVersion":1,"id":"node-f021ae0a"},{"id":"error-3e6d9431","name":"Error Handler","type":"n8n-nodes-base.stopAndError","typeVersion":1,"position":[1000,400],"parameters":{"message":"Workflow execution error","options":{}}}],"active":true,"settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3},"connections":{},"meta":{"instanceId":"workflow-f19bd089","versionId":"1.0.0","createdAt":"2025-09-29T07:07:45.792442","updatedAt":"2025-09-29T07:07:45.792456","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"description":"Production-ready workflow: Create Nextcloud Deck card from email. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}