This workflow corresponds to n8n.io template #16856 — we link there as the canonical source.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "4z3SV6MhDwMSTLjn",
"name": "HITL Bookkeeping - Xero Post",
"tags": [],
"nodes": [
{
"id": "b3e7910c-4b66-4655-a0ff-a2e2429549ad",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "98afd0b2-4bf8-467e-95ca-e0bffe7f78e3",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
272
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c7580196-6749-4a2f-a425-65a8ce06d2b4",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "462611f8-e1e3-4cea-a14c-88e033cfef80",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1680,
240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ae7f8556-fb96-4bf1-922a-72d946985eba",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2240,
240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "84303f3d-9efa-406e-90b5-73ca1713f91f",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2800,
240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "caff4aed-14ef-457a-abc7-3990165dddb4",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2800,
736
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "473de938-7a92-4790-aa03-0f431ce0fe2b",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2800,
1072
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0448da4e-42e5-4211-af6f-209946aba39d",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
3360,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "7e517317-9749-45c6-9ba1-a558b6df3269",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
3856,
400
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b978f99e-5299-4b53-b35e-081f2a84b407",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
4192,
944
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "22a60de7-f1f8-4d63-838a-01235401a813",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
4928,
176
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "76fe0147-9595-449a-812b-02e3c571e02d",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
5200,
240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "8cb91ed7-25ee-49c8-a37f-6151ffbd8643",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
5696,
272
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "42e4a199-aaa1-4759-9ddf-00699a43c434",
"name": "Sticky Note14",
"type": "n8n-nodes-base.stickyNote",
"position": [
6464,
480
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "53f2bdc4-49ce-4d0c-b1ec-b46e72c096cb",
"name": "Sticky Note15",
"type": "n8n-nodes-base.stickyNote",
"position": [
7520,
272
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9feaf59a-7fc7-4493-bf9c-65bef39e9e5e",
"name": "Sticky Note16",
"type": "n8n-nodes-base.stickyNote",
"position": [
5312,
784
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "635f4c00-828b-418b-8f9c-f9cf0f461463",
"name": "Sticky Note17",
"type": "n8n-nodes-base.stickyNote",
"position": [
5872,
784
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "5da9ec18-a774-4868-8ed2-51e42462f7d2",
"name": "When Trello Card Updated",
"type": "n8n-nodes-base.trelloTrigger",
"position": [
608,
400
],
"parameters": {},
"typeVersion": 1
},
{
"id": "44cf084c-7512-4536-b6bb-9eeb2ba38943",
"name": "Fetch Trello Card Comments",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
1168,
400
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"alwaysOutputData": true,
"waitBetweenTries": 3000
},
{
"id": "b15dbff4-ac03-484a-a14b-813ea42da62f",
"name": "Parse Draft and Verify Uniqueness",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
1440,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "62bdb52e-1661-4108-9858-ff2857644242",
"name": "Check Posting Status to Xero",
"type": "n8n-nodes-base.if",
"position": [
1728,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "1457ffbc-12b1-4399-901a-2560a0c4134d",
"name": "Check If Bank Account Needed",
"type": "n8n-nodes-base.if",
"position": [
2000,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "599b586f-3e3d-46b2-8b3a-a049f33f468e",
"name": "Send Already Posted Comment",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
1728,
624
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "6f8c4220-a9ef-4e7f-a917-0cbac5ea2275",
"name": "Route by Entry Type",
"type": "n8n-nodes-base.switch",
"position": [
3408,
400
],
"parameters": {},
"typeVersion": 3
},
{
"id": "e2ca75ed-5019-45c1-95f2-44decd57fa12",
"name": "Create Spend Money Payload",
"type": "n8n-nodes-base.code",
"position": [
3680,
160
],
"parameters": {},
"typeVersion": 2
},
{
"id": "8f7f2d58-2378-4d2e-b566-f34a3dcdad1d",
"name": "Create Bill Payload",
"type": "n8n-nodes-base.code",
"position": [
3680,
320
],
"parameters": {},
"typeVersion": 2
},
{
"id": "8f940f26-9461-49ce-a36f-73b06e281e56",
"name": "Create Manual Journal Payload",
"type": "n8n-nodes-base.code",
"position": [
3680,
480
],
"parameters": {},
"typeVersion": 2
},
{
"id": "bccea91d-4232-471b-9a7e-c7cd05aae024",
"name": "Transmit To Xero API",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
4976,
400
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "a6d6ef2c-8d7e-4b7b-a75f-763e2e08fcf3",
"name": "Generate Xero Deep Link",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
5248,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "12485356-81ab-40d8-9cd5-03d733396fa6",
"name": "Send Xero URL Comment",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
5520,
400
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "80ffaf3a-daa8-483f-8b98-b4460d073593",
"name": "Send Posted Confirmation Comment",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
7568,
400
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "8b50ab93-e63e-42d1-9445-7c5107d16085",
"name": "Delete Review Label from Card",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
7840,
400
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "c22f32bf-903b-4553-a27a-3c664866e74e",
"name": "Shift Card to Done List",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
8112,
400
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "86ad86c3-3b20-4e99-aec7-ea3921abf748",
"name": "Create Error Comment",
"type": "n8n-nodes-base.code",
"position": [
5360,
944
],
"parameters": {},
"typeVersion": 2
},
{
"id": "82ba0e53-5a9a-4ce3-8eef-82d603a57ad8",
"name": "Send Merge Failure Comment",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
5648,
944
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "80f5e1fa-b311-43b2-bb1c-d80fabefe8de",
"name": "Label Card as Xero Failure",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
6208,
944
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "910f14ab-6794-4592-bf2f-f5fd1d44962c",
"name": "Delete Approved Label from Card",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
5920,
944
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "72b25228-70fa-4a40-b65f-907a3a49574d",
"name": "Retrieve Xero Accounts",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"maxTries": 3,
"position": [
2288,
400
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "d5eb9405-16a3-4bbf-b458-55ce95815a69",
"name": "Configure Xero Posting Setup",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
2560,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "af5d7850-fb75-4ff8-a5a8-4ed601ac2f36",
"name": "Verify Bank Account Prepared",
"type": "n8n-nodes-base.if",
"position": [
3120,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "2d28a8b5-0d93-4534-b30d-8b0d84d4d1cc",
"name": "Prepare Bank Confirmation Message",
"type": "n8n-nodes-base.code",
"position": [
2848,
1200
],
"parameters": {},
"typeVersion": 2
},
{
"id": "09b8fab7-3edd-448d-beeb-1341885e0d90",
"name": "Send Bank Account Required Msg",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
3408,
1200
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "584cf07d-0b81-49c8-8548-f40a042ed163",
"name": "Delete Approved Label (Bank Pending)",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
3680,
1200
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "e9438c22-e250-4eba-a78c-e59a7d406c98",
"name": "Retrieve Open Bills",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"maxTries": 3,
"position": [
3904,
528
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "bbaa0cd7-1999-4447-bf88-2c8628392257",
"name": "Associate Bill with Payment",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
4192,
528
],
"parameters": {},
"typeVersion": 2
},
{
"id": "c1893e88-446b-443f-b74f-07e7ffe32864",
"name": "Validate Bill Readiness",
"type": "n8n-nodes-base.if",
"position": [
4464,
528
],
"parameters": {},
"typeVersion": 2
},
{
"id": "afb5929f-94a9-48a3-a399-a701573b94e7",
"name": "Compose Bill Confirmation Message",
"type": "n8n-nodes-base.code",
"position": [
4240,
1072
],
"parameters": {},
"typeVersion": 2
},
{
"id": "9d98cad3-95b3-4b8a-a306-f4e26c8246cf",
"name": "Send Bill Required Notification",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
4800,
1072
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "6b80bd2a-124c-4d4c-b584-7c79c031aa36",
"name": "Delete Approved Label (Bill Pending)",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
5088,
1072
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "de7c94ef-07df-4953-91a2-9184675e7c5d",
"name": "Construct PAY_BILL Payload",
"type": "n8n-nodes-base.code",
"position": [
4752,
528
],
"parameters": {},
"typeVersion": 2
},
{
"id": "4ebbe441-442f-42eb-bc97-b9e499c7cb62",
"name": "Check Reference Confirmation",
"type": "n8n-nodes-base.if",
"position": [
2848,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "19b97bf4-0bf6-4913-89e7-36dc44339c2f",
"name": "Draft Reference Confirmation Msg",
"type": "n8n-nodes-base.code",
"position": [
2848,
864
],
"parameters": {},
"typeVersion": 2
},
{
"id": "8487c723-9e91-4b01-806f-c4276d0f0b3f",
"name": "Send Reference Required Alert",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
3408,
864
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "5e5d5dee-c225-4522-8694-dfc6519643a4",
"name": "Delete Approved Label (Ref. Pending)",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
3680,
864
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "b47f49fd-e2b4-459e-8a93-26c249fc0201",
"name": "Check for Trello Images",
"type": "n8n-nodes-base.if",
"position": [
6288,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "8ab64ee9-f2fa-4af9-b6ff-565ff333929d",
"name": "Unpack Trello Images for Xero",
"type": "n8n-nodes-base.code",
"position": [
6512,
608
],
"parameters": {},
"typeVersion": 2
},
{
"id": "bdbe4279-50f4-4e78-883b-263f083d2ce3",
"name": "Add Xero Attachment",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
7056,
608
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "fc4b99d8-1a93-43a5-9f56-2376b17d539a",
"name": "Compile Attachment Results",
"type": "n8n-nodes-base.code",
"position": [
7328,
608
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "0b0fdc8d-a6c5-46c2-b876-be019c5243ac",
"name": "Refresh Card Attachments",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"maxTries": 3,
"position": [
5744,
400
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "6f0d9bdd-2fe7-4735-8c6a-d422cef8b026",
"name": "Setup Attachments for Xero",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
6016,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "c7508017-ef19-4806-b897-a9e2264c38b7",
"name": "Determine Reference Comment Post",
"type": "n8n-nodes-base.if",
"position": [
3120,
864
],
"parameters": {},
"typeVersion": 2
},
{
"id": "f5ceaf49-4eab-4e65-a4c7-5a7ef6e692d8",
"name": "Decide Bank Comment Posting",
"type": "n8n-nodes-base.if",
"position": [
3120,
1200
],
"parameters": {},
"typeVersion": 2
},
{
"id": "9769b8b3-5c2f-4861-b6e9-872379120928",
"name": "Choose Bill Comment Posting",
"type": "n8n-nodes-base.if",
"position": [
4528,
1072
],
"parameters": {},
"typeVersion": 2
},
{
"id": "49fc359c-6ce7-433b-86a6-8d90d348a8f5",
"name": "Retrieve Trello Image",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"maxTries": 3,
"position": [
6784,
608
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "935b6e90-6b7d-43c3-b410-b46754f047d1",
"name": "Human Initiated Approval",
"type": "n8n-nodes-base.code",
"position": [
864,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "89a21dcd-e47d-4cea-b732-b479a6c03910",
"name": "Check Trello Download Validity",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
6912,
608
],
"parameters": {},
"typeVersion": 2
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "e0a89572-d9c9-4f64-98e0-bdb55627a5dc",
"nodeGroups": [],
"connections": {
"Add Xero Attachment": {
"main": [
[
{
"node": "Compile Attachment Results",
"type": "main",
"index": 0
}
],
[
{
"node": "Compile Attachment Results",
"type": "main",
"index": 0
}
]
]
},
"Create Bill Payload": {
"main": [
[
{
"node": "Transmit To Xero API",
"type": "main",
"index": 0
}
]
]
},
"Retrieve Open Bills": {
"main": [
[
{
"node": "Associate Bill with Payment",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Error Comment",
"type": "main",
"index": 0
}
]
]
},
"Route by Entry Type": {
"main": [
[
{
"node": "Create Spend Money Payload",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Bill Payload",
"type": "main",
"index": 0
}
],
[
{
"node": "Retrieve Open Bills",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Manual Journal Payload",
"type": "main",
"index": 0
}
]
]
},
"Create Error Comment": {
"main": [
[
{
"node": "Send Merge Failure Comment",
"type": "main",
"index": 0
}
]
]
},
"Transmit To Xero API": {
"main": [
[
{
"node": "Generate Xero Deep Link",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Error Comment",
"type": "main",
"index": 0
}
]
]
},
"Retrieve Trello Image": {
"main": [
[
{
"node": "Check Trello Download Validity",
"type": "main",
"index": 0
}
],
[
{
"node": "Compile Attachment Results",
"type": "main",
"index": 0
}
]
]
},
"Send Xero URL Comment": {
"main": [
[
{
"node": "Refresh Card Attachments",
"type": "main",
"index": 0
}
]
]
},
"Retrieve Xero Accounts": {
"main": [
[
{
"node": "Configure Xero Posting Setup",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Error Comment",
"type": "main",
"index": 0
}
]
]
},
"Check for Trello Images": {
"main": [
[
{
"node": "Unpack Trello Images for Xero",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Posted Confirmation Comment",
"type": "main",
"index": 0
}
]
]
},
"Generate Xero Deep Link": {
"main": [
[
{
"node": "Send Xero URL Comment",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Error Comment",
"type": "main",
"index": 0
}
]
]
},
"Validate Bill Readiness": {
"main": [
[
{
"node": "Construct PAY_BILL Payload",
"type": "main",
"index": 0
}
],
[
{
"node": "Compose Bill Confirmation Message",
"type": "main",
"index": 0
}
]
]
},
"Human Initiated Approval": {
"main": [
[
{
"node": "Fetch Trello Card Comments",
"type": "main",
"index": 0
}
]
]
},
"Refresh Card Attachments": {
"main": [
[
{
"node": "Setup Attachments for Xero",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Posted Confirmation Comment",
"type": "main",
"index": 0
}
]
]
},
"When Trello Card Updated": {
"main": [
[
{
"node": "Human Initiated Approval",
"type": "main",
"index": 0
}
]
]
},
"Compile Attachment Results": {
"main": [
[
{
"node": "Send Posted Confirmation Comment",
"type": "main",
"index": 0
}
]
]
},
"Construct PAY_BILL Payload": {
"main": [
[
{
"node": "Transmit To Xero API",
"type": "main",
"index": 0
}
]
]
},
"Create Spend Money Payload": {
"main": [
[
{
"node": "Transmit To Xero API",
"type": "main",
"index": 0
}
]
]
},
"Fetch Trello Card Comments": {
"main": [
[
{
"node": "Parse Draft and Verify Uniqueness",
"type": "main",
"index": 0
}
]
]
},
"Label Card as Xero Failure": {
"main": [
[
{
"node": "Delete Approved Label from Card",
"type": "main",
"index": 0
}
]
]
},
"Send Merge Failure Comment": {
"main": [
[
{
"node": "Label Card as Xero Failure",
"type": "main",
"index": 0
}
]
]
},
"Setup Attachments for Xero": {
"main": [
[
{
"node": "Check for Trello Images",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Posted Confirmation Comment",
"type": "main",
"index": 0
}
]
]
},
"Associate Bill with Payment": {
"main": [
[
{
"node": "Validate Bill Readiness",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Error Comment",
"type": "main",
"index": 0
}
]
]
},
"Choose Bill Comment Posting": {
"main": [
[
{
"node": "Send Bill Required Notification",
"type": "main",
"index": 0
}
],
[
{
"node": "Delete Approved Label (Bill Pending)",
"type": "main",
"index": 0
}
]
]
},
"Decide Bank Comment Posting": {
"main": [
[
{
"node": "Send Bank Account Required Msg",
"type": "main",
"index": 0
}
],
[
{
"node": "Delete Approved Label (Bank Pending)",
"type": "main",
"index": 0
}
]
]
},
"Check If Bank Account Needed": {
"main": [
[
{
"node": "Retrieve Xero Accounts",
"type": "main",
"index": 0
}
],
[
{
"node": "Configure Xero Posting Setup",
"type": "main",
"index": 0
}
]
]
},
"Check Posting Status to Xero": {
"main": [
[
{
"node": "Check If Bank Account Needed",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Already Posted Comment",
"type": "main",
"index": 0
}
]
]
},
"Check Reference Confirmation": {
"main": [
[
{
"node": "Verify Bank Account Prepared",
"type": "main",
"index": 0
}
],
[
{
"node": "Draft Reference Confirmation Msg",
"type": "main",
"index": 0
}
]
]
},
"Configure Xero Posting Setup": {
"main": [
[
{
"node": "Check Reference Confirmation",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Error Comment",
"type": "main",
"index": 0
}
]
]
},
"Verify Bank Account Prepared": {
"main": [
[
{
"node": "Route by Entry Type",
"type": "main",
"index": 0
}
],
[
{
"node": "Prepare Bank Confirmation Message",
"type": "main",
"index": 0
}
]
]
},
"Create Manual Journal Payload": {
"main": [
[
{
"node": "Transmit To Xero API",
"type": "main",
"index": 0
}
]
]
},
"Delete Review Label from Card": {
"main": [
[
{
"node": "Shift Card to Done List",
"type": "main",
"index": 0
}
]
]
},
"Send Reference Required Alert": {
"main": [
[
{
"node": "Delete Approved Label (Ref. Pending)",
"type": "main",
"index": 0
}
]
]
},
"Unpack Trello Images for Xero": {
"main": [
[
{
"node": "Retrieve Trello Image",
"type": "main",
"index": 0
}
]
]
},
"Check Trello Download Validity": {
"main": [
[
{
"node": "Add Xero Attachment",
"type": "main",
"index": 0
}
],
[
{
"node": "Compile Attachment Results",
"type": "main",
"index": 0
}
]
]
},
"Send Bank Account Required Msg": {
"main": [
[
{
"node": "Delete Approved Label (Bank Pending)",
"type": "main",
"index": 0
}
]
]
},
"Send Bill Required Notification": {
"main": [
[
{
"node": "Delete Approved Label (Bill Pending)",
"type": "main",
"index": 0
}
]
]
},
"Determine Reference Comment Post": {
"main": [
[
{
"node": "Send Reference Required Alert",
"type": "main",
"index": 0
}
],
[
{
"node": "Delete Approved Label (Ref. Pending)",
"type": "main",
"index": 0
}
]
]
},
"Draft Reference Confirmation Msg": {
"main": [
[
{
"node": "Determine Reference Comment Post",
"type": "main",
"index": 0
}
]
]
},
"Send Posted Confirmation Comment": {
"main": [
[
{
"node": "Delete Review Label from Card",
"type": "main",
"index": 0
}
]
]
},
"Compose Bill Confirmation Message": {
"main": [
[
{
"node": "Choose Bill Comment Posting",
"type": "main",
"index": 0
}
]
]
},
"Parse Draft and Verify Uniqueness": {
"main": [
[
{
"node": "Check Posting Status to Xero",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Error Comment",
"type": "main",
"index": 0
}
]
]
},
"Prepare Bank Confirmation Message": {
"main": [
[
{
"node": "Decide Bank Comment Posting",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow listens for an “Approved” label on a Trello card, reads the AI draft bookkeeping JSON from card comments, and posts the corresponding transaction to Xero. It then adds a Xero deep link back to Trello, uploads receipt images as Xero attachments, and moves the card…
Source: https://n8n.io/workflows/16856/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
02_LLM_Pipeline v1.0. Uses executeWorkflowTrigger, httpRequest, seaTable. Event-driven trigger; 65 nodes.
This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t
[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.
[](https://youtu.be/c7yCZhmMjtI)
This automation organizes your n8n workflows files into categorizes (Active, Template, Done, Archived) and uploads them directly to a categorized Google Drive folders. It is designed to help users man