Workflow: Webhook Extractfromfile Update

Workflow Details

Download Workflow
{
    "meta": {
        "instanceId": "257476b1ef58bf3cb6a46e65fac7ee34a53a5e1a8492d5c6e4da5f87c9b82833",
        "templateId": "2222"
    },
    "nodes": [
        {
            "id": "a131803a-ab1d-4a89-b51d-8a875fa2caaf",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                440,
                267.8736915240924645331688225269317626953125
            ],
            "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
        },
        {
            "id": "f9ae7afb-48a6-45bf-9c55-0e5fd63afede",
            "name": "Sticky Note3",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1720,
                747.8736915240924645331688225269317626953125
            ],
            "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
        },
        {
            "id": "f37712fb-88cc-4d5a-9c37-6b9d962052e2",
            "name": "Extract From File",
            "type": "n8n-nodes-base.extractFromFile",
            "onError": "continueErrorOutput",
            "position": [
                1080,
                307.8736915240924645331688225269317626953125
            ],
            "parameters": {
                "options": [],
                "operation": "xml",
                "destinationKey": "xml",
                "binaryPropertyName": "data0"
            },
            "typeVersion": 1
        },
        {
            "id": "e70c134d-a546-447d-a0cb-96c5573232e1",
            "name": "Error Response",
            "type": "n8n-nodes-base.respondToWebhook",
            "onError": "continueErrorOutput",
            "position": [
                1480,
                1067.8736915240924645331688225269317626953125
            ],
            "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
        },
        {
            "id": "eacf0315-75fb-4461-b5d3-d8e7c5572492",
            "name": "POST",
            "type": "n8n-nodes-base.webhook",
            "position": [
                460,
                587.8736915240924645331688225269317626953125
            ],
            "webhookId": "add125c9-1591-4e1c-b68c-8032b99b6010",
            "parameters": {
                "path": "tool\/xml-to-json",
                "options": {
                    "binaryPropertyName": "data"
                },
                "httpMethod": "POST",
                "responseMode": "responseNode"
            },
            "typeVersion": 1.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "37cb0178-2010-4cfb-8f12-84e8a45a3553",
            "name": "XML",
            "type": "n8n-nodes-base.xml",
            "onError": "continueErrorOutput",
            "position": [
                1380,
                407.8736915240924645331688225269317626953125
            ],
            "parameters": {
                "options": [],
                "dataPropertyName": "xml"
            },
            "typeVersion": 1
        },
        {
            "id": "4aa36858-f9ee-4653-81d5-7276347abcc2",
            "name": "Success Response",
            "type": "n8n-nodes-base.respondToWebhook",
            "onError": "continueErrorOutput",
            "position": [
                1500,
                667.8736915240924645331688225269317626953125
            ],
            "parameters": {
                "options": {
                    "responseCode": 200
                },
                "respondWith": "json",
                "responseBody": "={\n  \"status\": \"OK\",\n  \"data\": {{ JSON.stringify($json) }}\n}"
            },
            "typeVersion": 1
        },
        {
            "id": "0425203d-8185-4b27-b7b5-3b4f0e775981",
            "name": "Already JSON",
            "type": "n8n-nodes-base.set",
            "position": [
                1080,
                667.8736915240924645331688225269317626953125
            ],
            "parameters": {
                "mode": "raw",
                "options": [],
                "jsonOutput": "={{ $json.body }}\n"
            },
            "typeVersion": 3.29999999999999982236431605997495353221893310546875
        },
        {
            "id": "9ac12f08-a09b-45e9-8ebd-55ff6d8a63bd",
            "name": "Change Field",
            "type": "n8n-nodes-base.set",
            "onError": "continueErrorOutput",
            "position": [
                1080,
                487.8736915240924645331688225269317626953125
            ],
            "parameters": {
                "options": [],
                "assignments": {
                    "assignments": [
                        {
                            "id": "b2e3bec3-221e-4f1d-b439-f75174f68ed1",
                            "name": "xml",
                            "type": "string",
                            "value": "={{ $json.body }}"
                        }
                    ]
                }
            },
            "typeVersion": 3.29999999999999982236431605997495353221893310546875
        },
        {
            "id": "d722f969-f3d3-4f4a-9fbd-4e2d30556408",
            "name": "Sticky Note4",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                380,
                240
            ],
            "parameters": {
                "color": 7,
                "width": 1917.6634456867059270734898746013641357421875,
                "height": 1027.3921976438186902669258415699005126953125,
                "content": ""
            },
            "typeVersion": 1
        },
        {
            "id": "7618bd02-6d56-44a1-aaa3-de805e1ef18d",
            "name": "Switch",
            "type": "n8n-nodes-base.switch",
            "position": [
                660,
                587.8736915240924645331688225269317626953125
            ],
            "parameters": {
                "rules": {
                    "values": [
                        {
                            "outputKey": "File",
                            "conditions": {
                                "options": {
                                    "leftValue": "",
                                    "caseSensitive": true,
                                    "typeValidation": "strict"
                                },
                                "combinator": "and",
                                "conditions": [
                                    {
                                        "operator": {
                                            "type": "object",
                                            "operation": "notEmpty",
                                            "singleValue": true
                                        },
                                        "leftValue": "={{ $binary }}",
                                        "rightValue": ""
                                    }
                                ]
                            },
                            "renameOutput": true
                        },
                        {
                            "outputKey": "Data",
                            "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": "appXML",
                            "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
        },
        {
            "id": "b8bde0ed-7d85-4582-89c4-08a0829c4df8",
            "name": "Send to Error Channel",
            "type": "n8n-nodes-base.slack",
            "position": [
                1760,
                1067.8736915240924645331688225269317626953125
            ],
            "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\": \"https:\/\/internal.users.n8n.cloud\/workflow\/{{ $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": "6",
                    "name": "Idea Bot"
                }
            },
            "typeVersion": 2.100000000000000088817841970012523233890533447265625
        }
    ],
    "pinData": [],
    "connections": {
        "XML": {
            "main": [
                [
                    {
                        "node": "Success Response",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Error Response",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "POST": {
            "main": [
                [
                    {
                        "node": "Switch",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Switch": {
            "main": [
                [
                    {
                        "node": "Extract From File",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Change Field",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Already JSON",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Error Response",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Already JSON": {
            "main": [
                [
                    {
                        "node": "Success Response",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Change Field": {
            "main": [
                [
                    {
                        "node": "XML",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Error Response",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Error Response": {
            "main": [
                [
                    {
                        "node": "Send to Error Channel",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Send to Error Channel",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Success Response": {
            "main": [
                null,
                [
                    {
                        "node": "Send to Error Channel",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Extract From File": {
            "main": [
                [
                    {
                        "node": "XML",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Error Response",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Manual Noop Automation Webhook
View
HTTP Executeworkflow Send Webhook
View
Wait Limit Import Webhook
View
Splitout Code Create Webhook
View
Manual Stickynote Export Triggered
View
Splitout Code Monitor Webhook
View
Stopanderror Stickynote Create Webhook
View
Code Filter Send Triggered
View
Agent Access Control Template
View
Manual Schedule Automation Scheduled
View