Workflow: Stickynote Workflow
Integrations: extractFromFile, respondToWebhook, set, slack, stickyNote, switch, webhook, xml

{"meta": {"instanceId": "workflow-8650acac", "versionId": "1.0.0", "createdAt": "2025-09-29T07:08:00.195926", "updatedAt": "2025-09-29T07:08:00.195938", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "nodes": [{"id": "a131803a-ab1d-4a89-b51d-8a875fa2caaf", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [440, 267.87369152409246], "parameters": {"width": 344, "height": 303, "content": "## Testing \n\nTesting can be done with CURL or similar.\n\nFor File posting using Form Data\ncurl -X POST -F file=@filepath.xml <WEBHOOK_URL>\n\nThis can also be tested using the Test workflow"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "f9ae7afb-48a6-45bf-9c55-0e5fd63afede", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [1720, 747.8736915240925], "parameters": {"color": 4, "width": 496, "height": 256, "content": "## Response\nWhere possible we will be returning a JSON object.\n```\n{\n  \"status\": \"ok\",\n  \"data\": { // JSON DATA }\n}\n```\nIf there is an error\n```\n{\n  \"status\": \"error\",\n  \"data\": \"error message to display\"\n}\n```"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "f37712fb-88cc-4d5a-9c37-6b9d962052e2", "name": "Extract From File", "type": "n8n-nodes-base.extractFromFile", "onError": "continueErrorOutput", "position": [1080, 307.87369152409246], "parameters": {"options": {}, "operation": "xml", "destinationKey": "YOUR_CREDENTIAL_HERE", "binaryPropertyName": "data0"}, "typeVersion": 1, "notes": "This extractFromFile node performs automated tasks as part of the workflow."}, {"id": "e70c134d-a546-447d-a0cb-96c5573232e1", "name": "Error Response", "type": "n8n-nodes-base.respondToWebhook", "onError": "continueErrorOutput", "position": [1480, 1067.8736915240925], "parameters": {"options": {"responseCode": 500}, "respondWith": "json", "responseBody": "{\n  \"status\": \"error\",\n  \"data\": \"There was a problem converting your XML. Please refresh the page and try again.\"\n}"}, "typeVersion": 1, "notes": "This respondToWebhook node performs automated tasks as part of the workflow."}, {"id": "eacf0315-75fb-4461-b5d3-d8e7c5572492", "name": "POST", "type": "n8n-nodes-base.webhook", "position": [460, 587.8736915240925], "webhookId": "add125c9-1591-4e1c-b68c-8032b99b6010", "parameters": {"path": "tool/xml-to-json", "options": {"binaryPropertyName": "data"}, "httpMethod": "POST", "responseMode": "responseNode"}, "typeVersion": 1.1, "notes": "This webhook node performs automated tasks as part of the workflow."}, {"id": "37cb0178-2010-4cfb-8f12-84e8a45a3553", "name": "XML", "type": "n8n-nodes-base.xml", "onError": "continueErrorOutput", "position": [1380, 407.87369152409246], "parameters": {"options": {}, "dataPropertyName": "xml"}, "typeVersion": 1, "notes": "This xml node performs automated tasks as part of the workflow."}, {"id": "4aa36858-f9ee-4653-81d5-7276347abcc2", "name": "Success Response", "type": "n8n-nodes-base.respondToWebhook", "onError": "continueErrorOutput", "position": [1500, 667.8736915240925], "parameters": {"options": {"responseCode": 200}, "respondWith": "json", "responseBody": "={\n  \"status\": \"OK\",\n  \"data\": {{ JSON.stringify($json) }}\n}"}, "typeVersion": 1, "notes": "This respondToWebhook node performs automated tasks as part of the workflow."}, {"id": "0425203d-8185-4b27-b7b5-3b4f0e775981", "name": "Already JSON", "type": "n8n-nodes-base.set", "position": [1080, 667.8736915240925], "parameters": {"mode": "raw", "options": {}, "jsonOutput": "={{ $json.body }}\n"}, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "9ac12f08-a09b-45e9-8ebd-55ff6d8a63bd", "name": "Change Field", "type": "n8n-nodes-base.set", "onError": "continueErrorOutput", "position": [1080, 487.87369152409246], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "b2e3bec3-221e-4f1d-b439-f75174f68ed1", "name": "xml", "type": "string", "value": "={{ $json.body }}"}]}}, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "d722f969-f3d3-4f4a-9fbd-4e2d30556408", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [380, 240], "parameters": {"color": 7, "width": 1917.663445686706, "height": 1027.3921976438187, "content": ""}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "7618bd02-6d56-44a1-aaa3-de805e1ef18d", "name": "Switch", "type": "n8n-nodes-base.switch", "position": [660, 587.8736915240925], "parameters": {"rules": {"values": [{"outputKey": "YOUR_CREDENTIAL_HERE", "conditions": {"options": {"leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"operator": {"type": "object", "operation": "notEmpty", "singleValue": true}, "leftValue": "={{ $binary }}", "rightValue": ""}]}, "renameOutput": true}, {"outputKey": "YOUR_CREDENTIAL_HERE", "conditions": {"options": {"leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"id": "8930ce1a-a4cc-4094-b08f-a23a13dec40c", "operator": {"name": "filter.operator.equals", "type": "string", "operation": "equals"}, "leftValue": "={{ $json.headers['content-type'] }}", "rightValue": "text/plain"}]}, "renameOutput": true}, {"outputKey": "YOUR_CREDENTIAL_HERE", "conditions": {"options": {"leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"id": "e3108952-daa2-425c-8c70-7d2ce0949e0c", "operator": {"name": "filter.operator.equals", "type": "string", "operation": "equals"}, "leftValue": "={{ $json.headers['content-type'] }}", "rightValue": "=application/xml"}]}, "renameOutput": true}]}, "options": {"fallbackOutput": "extra"}}, "typeVersion": 3, "notes": "This switch node performs automated tasks as part of the workflow."}, {"id": "b8bde0ed-7d85-4582-89c4-08a0829c4df8", "name": "Send to Error Channel", "type": "n8n-nodes-base.slack", "position": [1760, 1067.8736915240925], "parameters": {"text": ":interrobang: Error in XML to JSON tool", "select": "channel", "blocksUi": "={\n\t\"blocks\": [\n{\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \":interrobang: Error in XML to JSON tool\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Time:*\\n{{ $now.format('dd/MM/yyyy HH:mm:ss') }}\\n*Execution ID:*\\n{{ $execution.id }}\\n\"\n\t\t\t},\n\t\t\t\"accessory\": {\n\t\t\t\t\"type\": \"button\",\n\t\t\t\t\"text\": {\n\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\"text\": \"Go to Error\",\n\t\t\t\t\t\"emoji\": true\n\t\t\t\t},\n\t\t\t\t\"value\": \"error\",\n\t\t\t\t\"url\": \"{{ $env.WEBHOOK_URL }}{{ $workflow.id }}/executions/{{ $execution.id }}\",\n\t\t\t\t\"action_id\": \"button-action\",\n\t\t\t\t\"style\": \"primary\"\n\t\t\t}\n\t\t}\n\t]\n}", "channelId": {"__rl": true, "mode": "name", "value": "#alerts-xml-to-json"}, "messageType": "block", "otherOptions": {}}, "credentials": {"slackApi": {"id": "{{ $credentials.slackApi.id }}", "name": "Idea Bot"}}, "typeVersion": 2.1, "notes": "This slack node performs automated tasks as part of the workflow."}], "pinData": {}, "connections": {"e70c134d-a546-447d-a0cb-96c5573232e1": {"main": [[{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1", "type": "main", "index": 0}], [{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1-72279beb", "type": "main", "index": 0}], [{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1-de59f00e", "type": "main", "index": 0}], [{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1-97fe1d00", "type": "main", "index": 0}], [{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1-bafcb8a5", "type": "main", "index": 0}], [{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1-7c006357", "type": "main", "index": 0}], [{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1-f2c63535", "type": "main", "index": 0}], [{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1-e2c38ca2", "type": "main", "index": 0}], [{"node": "error-handler-e70c134d-a546-447d-a0cb-96c5573232e1-40db29da", "type": "main", "index": 0}]]}, "eacf0315-75fb-4461-b5d3-d8e7c5572492": {"main": [[{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492", "type": "main", "index": 0}], [{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492-5fabdea7", "type": "main", "index": 0}], [{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492-bf8c12c9", "type": "main", "index": 0}], [{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492-b5a76eff", "type": "main", "index": 0}], [{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492-67b64041", "type": "main", "index": 0}], [{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492-e16ecc69", "type": "main", "index": 0}], [{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492-7c21f476", "type": "main", "index": 0}], [{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492-98f40125", "type": "main", "index": 0}], [{"node": "error-handler-eacf0315-75fb-4461-b5d3-d8e7c5572492-ff000b62", "type": "main", "index": 0}]]}, "4aa36858-f9ee-4653-81d5-7276347abcc2": {"main": [[{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2", "type": "main", "index": 0}], [{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2-3d89468e", "type": "main", "index": 0}], [{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2-4c90f75f", "type": "main", "index": 0}], [{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2-0cfbaab8", "type": "main", "index": 0}], [{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2-3c7a6ebe", "type": "main", "index": 0}], [{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2-8a3192d0", "type": "main", "index": 0}], [{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2-97827dae", "type": "main", "index": 0}], [{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2-103bddc0", "type": "main", "index": 0}], [{"node": "error-handler-4aa36858-f9ee-4653-81d5-7276347abcc2-2bd8111b", "type": "main", "index": 0}]]}, "f37712fb-88cc-4d5a-9c37-6b9d962052e2": {"main": [[{"node": "error-handler-f37712fb-88cc-4d5a-9c37-6b9d962052e2-04583353", "type": "main", "index": 0}]]}, "b8bde0ed-7d85-4582-89c4-08a0829c4df8": {"main": [[{"node": "error-handler-b8bde0ed-7d85-4582-89c4-08a0829c4df8-2870cb7e", "type": "main", "index": 0}]]}}, "name": "Stickynote 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: Stickynote Workflow. This workflow integrates 9 different services: webhook, stickyNote, switch, respondToWebhook, set. It contains 20 nodes and follows best practices for error handling and security.", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "notes": "Excellent quality workflow: Stickynote Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}