
How to send WhatsApp messages from Xero (the global, no-wait way)
Xero serves 4+ million businesses across 180+ countries. The Meta Embedded Signup wait is the same in every country — unless the platform you use already holds the Meta verification. Here is the no-wait path, in any currency Xero supports.
minidesk · Editorial team, minidesk
Xero serves more than 4 million businesses across 180+ countries. The Meta Embedded Signup wait is the same in every country — two to four weeks, sometimes longer, depending on the review queue. The difference is whether you spend the wait filling in Meta's verification forms yourself, or whether the platform you are using already holds the Meta Business verification, in which case the queue is skipped and the business just has to prove the WhatsApp number is theirs. Here is the no-wait path, in any country Xero serves.
Why the global Xero user has more BSP options, and why that does not help
The Xero ecosystem is global, so there are more BSPs to choose from: Twilio in the US, MessageBird in Europe, SleekFlow in APAC, WATI in Hong Kong, Gupshup in India. The competition is real. The setup fees are real. The monthly platform fees are real. The per-message markup on top of Meta's conversation fees is real. The 6- to 8-week timeline before the first message lands is also real, and it is the same in every country.
The reason the timeline is the same is that the wait is not the BSP's. The wait is Meta's. Meta wants to verify that the business requesting the API access is a real business, with a real website, and a real reason to send WhatsApp messages. The verification is what stops a spam operation from buying a thousand numbers. The verification is also what most platforms do not hold, and what every BSP waits on. When a platform holds the verification already, the business does not have to apply for it. The platform already proved to Meta that the use case is legitimate. The business just has to prove the WhatsApp number is theirs.
What the no-wait path looks like for a global Xero user
minidesk holds the Meta Business verification. When you sign up and pick Xero as your connector, three things happen in parallel: you connect your Xero org with one OAuth click, you connect your business WhatsApp number through Meta Embedded Signup, and you authorise the AI to read the Xero invoices, contacts, reports, and bank transactions. The whole flow is twenty minutes, end to end, in any country Xero serves. The Meta review queue is skipped because the queue is for businesses that have not been verified yet — your verification rides on minidesk's.
The second part of the no-wait path is that the WhatsApp message already knows what the Xero database says, in the right currency, the right tax label, the right contact name for the region the invoice was raised in. When the AI sends a message to a customer in Singapore, the message reads in SGD, with the GST label, in English (or Bahasa, or Mandarin, depending on the customer's language). When the AI sends a message to a customer in London, the message reads in GBP, with the VAT label, in English. When the AI sends a message to a customer in Auckland, the message reads in NZD, with the GST label, in English. The AI is reading the same Xero your bookkeeper reads, in the same currency, the same tax label, the same language the Xero invoice was raised in.
What the conversation looks like in practice
It is 3:14pm on a Tuesday in Singapore. A customer in Toa Payoh sends a WhatsApp: "Can I get an update on INV-2025-SG-0218?" The AI reads the phone number, identifies the customer from the Xero contact, finds the invoice, sees the payment landed this morning, and replies: "Hi Mr Lim, yes — INV-2025-SG-0218 for SGD 2,400 was paid this morning via your DBS account. The receipt has been emailed. Let me know if you need anything else." The reply lands at 3:14:08pm, Singapore time. Mr Lim reads it on the MRT. The bookkeeper in Melbourne is asleep. The conversation is handled.
It is 9:42am on a Wednesday in London. A customer in Manchester sends a WhatsApp: "Just checking on invoice INV-2025-UK-1142." The AI reads the Xero org, finds the invoice, sees it is now 5 days past due, and replies: "Hi Sarah, INV-2025-UK-1142 for GBP 1,240 is due tomorrow. You can pay by bank transfer to the account on the invoice, or by card via the link I just sent. Let me know if you need a copy of the invoice." The reply lands at 9:42:04am, UK time. Sarah pays by card before her 10am meeting. The AI marks the invoice as paid in Xero when the bank feed updates 90 seconds later.
“We operate in three currencies, four countries, and five languages. The AI is the first tool that handles all three without us having to teach it the difference.”
— James, who runs a 4-person consulting firm in London
What to do if you are already on a BSP
If you are already on a Business Solution Provider — WATI, SleekFlow, AiSensy, Twilio, MessageBird, or any of the long tail — the good news is the WhatsApp number and the API credentials are already in your business name, and Meta has already verified you. The migration is the part you are weighing, not the setup.
The practical path is: keep the BSP contract running for one billing cycle while you set up minidesk in parallel. Connect your Xero org with one OAuth click, let the AI read your data, and authorise the Meta Embedded Signup for your existing WhatsApp number through the minidesk console — the number is yours, the verification is yours, the migration is a settings change at Meta, not a new application. Test the AI on a small set of conversations — say, the top 10 overdue customers across both Xero orgs — and compare the messages the AI drafts to the messages your BSP has been sending. When you are comfortable, switch the routing over and cancel the BSP at the next billing date.
The two parts that take the longest are the parallel-run (1–2 weeks of comparing the AI's messages to the BSP's, in multiple currencies) and the BSP cancellation (some BSPs require 30 days' notice, read the contract before you sign anything with us). The Meta-side change is a settings switch, not a re-verification. The number stays the same. The conversations stay the same. The customer does not notice the migration — and the AI is reading the same Xero data your BSP never had access to.
Common mistakes when you set this up yourself
Three mistakes we see most often, all worth naming. (1) Connecting a personal WhatsApp number instead of a business number — Meta does not allow a personal number on the Business API, and the porting process is a separate project. (2) Trying to set this up before the Xero org is clean — the AI reads what is in Xero, and a chart of accounts full of one-off accounts makes every answer longer than it needs to be. (3) Skipping the test phase — the first WhatsApp the AI sends should go to your own number, so you can see the layout, the language, the currency, the speed, before it goes to a customer. We have made all three of these mistakes ourselves; that is why the install wizard walks you through each one.
What it costs (and what it does not)
The Meta conversation fees are the same fees every platform pays. minidesk does not add a per-message markup on top of Meta's. The plan is a flat monthly fee that includes the AI, the channels, the connector, and the WhatsApp API. No per-conversation surcharge. No 12-month contract. No setup fee. The pricing is on the website; the quote is the quote. The plan works the same in AUD, SGD, GBP, NZD, USD, EUR, ZAR, and the rest of the 160+ currencies Xero supports.
If your business is already on Xero, the WhatsApp path is the part of the AI you will use the most, and it is the part that takes the least time to set up. Twenty minutes from signup to the first message. The bookkeeper does not have to do anything different. The customer does not have to download an app. The message lands in the WhatsApp they already have open, in the language they already speak, in the currency the invoice was raised in.
→ See the Xero integration: /integrations/xero