# Post approved Trello bookkeeping drafts to Xero: n8n workflow

> Started by an event in a connected app. It calls services over plain HTTP rather than through connectors.

Source: https://millionrounds.com/workflow/post-approved-trello-bookkeeping-drafts-to-xero (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Money admin](https://millionrounds.com/workflows?category=Money+admin#library)

# Post approved Trello bookkeeping drafts to Xero

Started by an event in a connected app. It calls services over plain HTTP rather than through connectors. 49 steps, 10 branches: large, and worth reading before you trust it with anything live.

Large

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fpost-approved-trello-bookkeeping-drafts-to-xero)

**49 steps** Large: read it before trusting it with anything live

**10** Branches: places the flow splits

**0** Loops or waits

**0** Services by connector: it calls them over plain HTTP

## The flow

Starts it 1 Logic 27 Service 21

The steps in the order they run, from what starts it.

- 1 **When Trello Card Updated** Trello trigger *Starts it*
- 2 **Human Initiated Approval** Code *Logic*
- 3 **Fetch Trello Card Comments** Http Request *Service*
- 4 **Parse Draft and Verify Uniqueness** Code *Logic*
- 5 **Check Posting Status to Xero** If *Logic*
- 6 **Create Error Comment** Code *Logic*
- 7 **Check If Bank Account Needed** If *Logic*
- 8 **Send Already Posted Comment** Http Request *Service*
- 9 **Send Merge Failure Comment** Http Request *Service*
- 10 **Retrieve Xero Accounts** Http Request *Service*
- 11 **Configure Xero Posting Setup** Code *Logic*
- 12 **Label Card as Xero Failure** Http Request *Service*
- 13 **Check Reference Confirmation** If *Logic*
- 14 **Delete Approved Label from Card** Http Request *Service*
- 15 **Verify Bank Account Prepared** If *Logic*
- 16 **Draft Reference Confirmation Msg** Code *Logic*
- 17 **Route by Entry Type** Switch *Logic*
- 18 **Prepare Bank Confirmation Message** Code *Logic*
- 19 **Determine Reference Comment Post** If *Logic*
- 20 **Create Spend Money Payload** Code *Logic*
- 21 **Create Bill Payload** Code *Logic*
- 22 **Retrieve Open Bills** Http Request *Service*
- 23 **Create Manual Journal Payload** Code *Logic*
- 24 **Decide Bank Comment Posting** If *Logic*
- 25 **Send Reference Required Alert** Http Request *Service*
- 26 **Delete Approved Label (Ref. Pending)** Http Request *Service*
- 27 **Transmit To Xero API** Http Request *Service*
- 28 **Associate Bill with Payment** Code *Logic*
- 29 **Send Bank Account Required Msg** Http Request *Service*
- 30 **Delete Approved Label (Bank Pending)** Http Request *Service*
- 31 **Generate Xero Deep Link** Code *Logic*
- 32 **Validate Bill Readiness** If *Logic*
- 33 **Send Xero URL Comment** Http Request *Service*
- 34 **Construct PAY_BILL Payload** Code *Logic*
- 35 **Compose Bill Confirmation Message** Code *Logic*
- 36 **Refresh Card Attachments** Http Request *Service*
- 37 **Choose Bill Comment Posting** If *Logic*
- 38 **Setup Attachments for Xero** Code *Logic*
- 39 **Send Posted Confirmation Comment** Http Request *Service*
- 40 **Send Bill Required Notification** Http Request *Service*
- 41 **Delete Approved Label (Bill Pending)** Http Request *Service*
- 42 **Check for Trello Images** If *Logic*
- 43 **Delete Review Label from Card** Http Request *Service*
- 44 **Unpack Trello Images for Xero** Code *Logic*
- 45 **Shift Card to Done List** Http Request *Service*
- 46 **Retrieve Trello Image** Http Request *Service*
- 47 **Check Trello Download Validity** Code *Logic*
- 48 **Compile Attachment Results** Code *Logic*
- 49 **Add Xero Attachment** Http Request *Service*

## How it's built

- **Starts on:** An event in a connected app
- **Steps:** 49, with 10 branches
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** Nothing by connector; it calls services over plain HTTP
- **Model:** None. This is plumbing, not judgement

## Questions

What does it need to run?

An n8n account. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an event in a connected app.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Take your time. At 49 steps it is large: read it before trusting it with anything live.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 49 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fpost-approved-trello-bookkeeping-drafts-to-xero)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Workflows like it

Also money admin, with the same services where possible, closest in size first.

- [**Handle Telegram support, payments, and logo orders** 51 steps · calls a model · Google Sheets, Telegram](https://millionrounds.com/workflow/handle-telegram-support-payments-and-logo-orders)
- [**WhatsApp productivity assistant with OpenAI and Gmail** 47 steps · calls a model · Gmail, Google Calendar](https://millionrounds.com/workflow/whatsapp-productivity-assistant-with-openai-and-gmail)
- [**WhatsApp expense tracker with OpenAI and Postgres** 52 steps · calls a model · Postgres, WhatsApp](https://millionrounds.com/workflow/whatsapp-expense-tracker-with-openai-and-postgres)
- [**AI-powered receipt and expense tracker with Telegram** 45 steps · calls a model · Google Sheets, Redis](https://millionrounds.com/workflow/ai-powered-receipt-and-expense-tracker-with-telegram)
- [**WhatsApp expense tracker with OpenRouter and Postgres** 45 steps · calls a model · Postgres, WhatsApp](https://millionrounds.com/workflow/whatsapp-expense-tracker-with-openrouter-and-postgres)
- [**AI-powered invoice processing automation with Google Sheets** 44 steps · calls a model · Google Drive, Google Sheets](https://millionrounds.com/workflow/ai-powered-invoice-processing-automation-with-google-sheets)
