
How to send WhatsApp messages from SQL Account (the no-wait way)
The Meta Embedded Signup process takes 2–4 weeks. There is a faster path — and it is the one that reads your SQL Account sales ledger while it is at it.
minidesk · Editorial team, minidesk
The Meta Embedded Signup process takes 2 to 4 weeks. The forms are long, the verification can be opaque, and every BSP (Business Solution Provider) you call quotes a different setup fee. There is a faster path, and it is the path where the WhatsApp you send already knows what your SQL Account sales ledger says about the customer on the other end.
Why the BSP route is slow
The standard advice for a Malaysian SME that wants to send WhatsApp from its accounting software is: sign up with a Business Solution Provider, get a WhatsApp Business API number, and let the BSP handle the Meta verification. The advice is not wrong. It is just slow. A typical flow is: choose a BSP, sign a 12-month contract, get a number ported or a new number assigned, submit the Meta Business verification, wait for the Meta review team, fix whatever the review team flags, get the API credentials, build the integration to your SQL Account. Six to eight weeks, conservatively, before the first message goes out.
The reason it is slow is not the BSP's fault. The reason is that the verification, the number, the API credentials, and the integration are four separate things, and most BSPs do not own all four. The verification is Meta's. The number is Meta's. The API is Meta's. The BSP owns the markup, the contract, and the support queue. The integration to your SQL Account is yours.
What Embedded Signup actually is
Meta's Embedded Signup is the official flow for letting a software platform — like minidesk — connect a business's WhatsApp number to the Meta Business API without the business leaving the platform. The flow is: the platform opens a Meta-hosted signup window, the business picks the WhatsApp number they want to use, Meta verifies the number belongs to the business, the platform gets the API credentials, the conversation window opens. The whole thing, when the platform holds a Meta Business verification, takes about ten minutes.
The slow part is the verification. Meta wants to know 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 number is theirs.
The plug-in path: SQL Account + minidesk + WhatsApp, in 20 minutes
minidesk holds the Meta Business verification. When you sign up and pick SQL Account as your connector, three things happen in parallel: you install the SQL Account translator on the PC that already runs the ledger, you connect your business WhatsApp number through Meta Embedded Signup, and you authorise the AI to read the SQL Account sales ledger. The first message you send can be a template ("your invoice INV-XXXX is now due"), or it can be a free-form message the AI writes based on what it read in the ledger ("Hi Encik Lim, your July order is ready for collection. Outstanding balance: RM0. New order welcome."). The choice is yours; the connector does not care.
The install is signed, the firewall prompt is one click, and the data never leaves your machine. The translator reads the SQL Account database directly — the same connection the desktop software uses — and only the answer leaves the machine, not the row, not the table, not the credentials. Meta sees the message you sent. minidesk sees the conversation. Your SQL Account data stays on the PC in your shop.
What the conversation looks like in practice
A customer in Johor Bahru orders RM2,400 of plumbing fittings. You raise the invoice in SQL Account as INV-2025-05128. The AI sees the invoice is now 14 days old, reads the customer's WhatsApp number from the debtor master, and sends: "Hi Encik Goh, friendly reminder that INV-2025-05128 for RM2,400 is due this Friday. Reply here if you need a copy of the invoice or want to arrange payment. Thank you." The customer replies: "Bayar esok." The AI marks the invoice as "customer confirmed payment tomorrow" in your SQL Account follow-up notes. The next day, the payment lands. The bookkeeper marks the invoice as paid. The AI does not need to be told — it reads the SQL Account change the moment your bookkeeper saves it.
“We used to pay RM1,200 a month to a BSP and wait a week for the first message. Now we send the first message the same afternoon, and the message already knows what the customer owes.”
— Siti, who runs a building-materials supplier in Klang
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 ledger, install the translator or click the OAuth, and let the AI read your data. 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 — 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) 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 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 chart of accounts is clean — the AI reads what is in the ledger, 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 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 translator, 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.
If your business already runs on SQL Account, 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.
→ See the SQL Account integration: /integrations/sql-account