{ "meta": { "instanceId": "5663a0748c6a6e6071d13694c60722e799714f53ff7a9bfdda15fbadbaeebb76" }, "nodes": [ { "id": "9bd2c2f7-d837-451e-8a25-a185713edefb", "name": "Crypto", "type": "n8n-nodes-base.crypto", "position": [ 1640, 660 ], "parameters": { "type": "SHA256", "value": "={{$json[\"source_data\"]}}", "action": "hmac", "secret": "1", "encoding": "base64", "dataPropertyName": "target_data" }, "typeVersion": 1 }, { "id": "75aca737-5e31-4022-8827-375cf8717a06", "name": "Move Binary Data", "type": "n8n-nodes-base.moveBinaryData", "position": [ 1240, 660 ], "parameters": { "options": {}, "setAllData": false, "destinationKey": "raw_data" }, "typeVersion": 1 }, { "id": "f1ece5d1-a38f-4548-80b4-a77f07c0cc95", "name": "Set", "type": "n8n-nodes-base.set", "position": [ 1440, 660 ], "parameters": { "values": { "string": [ { "name": "source_data", "value": "={{$json[\"raw_data\"]}}" } ] }, "options": {}, "keepOnlySet": true }, "typeVersion": 1 }, { "id": "251bd7d1-e955-4b2c-a020-e0b2e3ebb5cc", "name": "IF", "type": "n8n-nodes-base.if", "position": [ 1860, 660 ], "parameters": { "conditions": { "boolean": [ { "value1": "={{$node[\"Crypto\"].json[\"target_data\"]}}", "value2": "={{$node[\"Xero Webhook\"].json[\"headers\"][\"x-xero-signature\"]}}" } ] } }, "typeVersion": 1 }, { "id": "3a7041d6-e86b-414f-9d26-94c1ffe893cc", "name": "Success", "type": "n8n-nodes-base.respondToWebhook", "position": [ 2080, 540 ], "parameters": { "options": { "responseCode": 200 }, "respondWith": "noData" }, "typeVersion": 1 }, { "id": "8dfe4916-2fce-4d51-8a41-66cb4e31bdf5", "name": "Unauthorised", "type": "n8n-nodes-base.respondToWebhook", "position": [ 2080, 740 ], "parameters": { "options": { "responseCode": 401 }, "respondWith": "noData" }, "typeVersion": 1 }, { "id": "81b08d6b-065c-4e61-87b7-6428963339e2", "name": "Create webhook record", "type": "n8n-nodes-base.filemaker", "position": [ 2320, 540 ], "parameters": { "action": "create", "layout": "Webhooks", "fieldsParametersUi": { "fields": [ { "name": "json", "value": "={{$node[\"Set\"].json[\"source_data\"]}}" } ] } }, "credentials": { "fileMaker": { "id": "T1MTy9Xu5m7Nubie", "name": "Kounio FileMaker" } }, "typeVersion": 1 }, { "id": "48d977ee-64df-4788-8808-70cd6c7bf5f7", "name": "Perform processWebhook script", "type": "n8n-nodes-base.filemaker", "position": [ 2540, 540 ], "parameters": { "action": "performscript", "layout": "Webhooks", "script": "processWebhook", "scriptParam": "={{ $json.response.recordId }}" }, "credentials": { "fileMaker": { "id": "T1MTy9Xu5m7Nubie", "name": "Kounio FileMaker" } }, "typeVersion": 1 }, { "id": "d6f4d1d4-4e69-4279-88e2-ea27036cea20", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ 2600, 420 ], "parameters": { "content": "## Script Parameter\nPasses the record id as script parameter to be used in your processWebhook script" }, "typeVersion": 1 }, { "id": "72b3f208-803b-45c5-b38d-eeef4425a2ba", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ 1620, 540 ], "parameters": { "width": 158.74371859296477, "height": 121.3065326633166, "content": "## Input\nAdd your Xero webhook secret here" }, "typeVersion": 1 }, { "id": "54f36def-0ac9-4769-818f-2e8991f196a5", "name": "Xero Webhook", "type": "n8n-nodes-base.webhook", "position": [ 1040, 660 ], "webhookId": "4cf50a61-b550-4ee6-984d-ad8c94e2b5c2", "parameters": { "path": "4cf50a61-b550-4ee6-984d-ad8c94e2b5c2", "options": { "rawBody": true }, "httpMethod": "POST", "responseMode": "responseNode" }, "typeVersion": 1 } ], "pinData": {}, "connections": { "IF": { "main": [ [ { "node": "Success", "type": "main", "index": 0 } ], [ { "node": "Unauthorised", "type": "main", "index": 0 } ] ] }, "Set": { "main": [ [ { "node": "Crypto", "type": "main", "index": 0 } ] ] }, "Crypto": { "main": [ [ { "node": "IF", "type": "main", "index": 0 } ] ] }, "Success": { "main": [ [ { "node": "Create webhook record", "type": "main", "index": 0 } ] ] }, "Xero Webhook": { "main": [ [ { "node": "Move Binary Data", "type": "main", "index": 0 } ] ] }, "Move Binary Data": { "main": [ [ { "node": "Set", "type": "main", "index": 0 } ] ] }, "Create webhook record": { "main": [ [ { "node": "Perform processWebhook script", "type": "main", "index": 0 } ] ] } } }