Bring your own Meta
Your WhatsApp Business account stays yours — number, display name, Meta billing and all. walpio operates it; you own it. If you leave, your number and templates stay with you, and we export your walpio data on request.
Built on the official WhatsApp Business Platform
Your order updates, booking reminders and invoices go to customers on WhatsApp — from your own business number, with Meta's rules handled for you. For your developers, it's one API call.
For teams in the UAE and across the Gulf · English and Arabic · No markup on Meta's prices · No setup fee
Hi! Has my order shipped yet?
09:12Yes — it's out for delivery and arrives today between 2–4 PM. You'll get live tracking updates. 📦
09:12Your order has been delivered — thanks for shopping with us! Reply here if anything isn't right.
11:48Examples
The updates your systems already produce, in English or Arabic. When a customer hasn't written to you in the last 24 hours, walpio sends them as the approved templates you choose.
Field service
Ahmed is on his way and should reach you by 3:30 pm. Reply here if you need a different time.
Billing
فاتورتك رقم INV-1042 بقيمة 350 درهمًا مستحقة في 30 سبتمبر. للاستفسار، يُرجى الرد على هذه الرسالة.
Retail
Good news, Sara: order #1042 has shipped and should arrive on Thursday.
How it works
No apps to install, no platform to migrate to. walpio operates your WhatsApp Business number — you stay the owner of everything.
Bring your own Meta WhatsApp Business account. Your number, your display name, your billing relationship with Meta — you keep full ownership, always.
We connect your number, submit your message templates for Meta's review and hand you an API key. Onboarding is done with you, not dumped on you.
POST a message. walpio picks the compliant route, sends it and records every status Meta reports — sent, delivered, read, failed — in your message log and, if you want, posts it to your own URL.
The hard part, handled
WhatsApp only allows free-form messages within 24 hours of a customer's last message. Outside that window, only templates Meta has approved can be sent — get it wrong and the message fails, often only after your code thinks it was sent.
walpio checks the window on every single send. Inside it, your text goes out as-is. Outside it, walpio sends an approved template: the one you name, or — with a text rule — the template that matches the wording your systems already send, with the values filled in. If nothing matches, the send is refused with a clear reason instead of disappearing.
How this compares with calling Meta's API yourself, and with Meta's Direct Send: Why walpio.
What you get
What walpio sends today: text messages and your approved templates (a template can carry a media header and buttons). Customers' replies reach you as text; a photo or file they send arrives as its caption or a placeholder, not the file itself.
Your WhatsApp Business account stays yours — number, display name, Meta billing and all. walpio operates it; you own it. If you leave, your number and templates stay with you, and we export your walpio data on request.
Sent, delivered, read, failed — every status Meta reports is recorded per message. See it in your message log, read it with GET /v1/messages/{id}, or have walpio post it to your own URL.
Text and template sends follow the Cloud API's JSON for those two types, so the body will look familiar. It is not a drop-in swap for code that calls Meta directly: the endpoint, the key, the answer and the errors are walpio's own.
Meta credentials encrypted at rest with AES-256-GCM. Meta's webhooks verified by signature on every event, and our callbacks to you are signed too. API keys stored only as hashes — shown once, revocable any time.
Every business gets its own workspace — API keys that belong to it alone, its own send-rate limit, and every request scoped to its own data.
A public health check, a message log, and errors with a machine code and a retryable flag. Send with an Idempotency-Key and a retry never messages a customer twice.
The dashboard your team uses every day, and the board walpio's operators watch. These are screens from a demo workspace: the customers are made up and phone numbers are masked.










Pricing
Monthly plans in US dollars, agreed with you and invoiced directly — no setup fee, no card on file. Meta's per-message charges are separate and billed by Meta to your own Meta account — we never mark up your traffic.
For a single business getting serious about WhatsApp.
$29 USD / month
≈ AED 107 / month
For teams where WhatsApp drives real revenue.
$79 USD / month
≈ AED 290 / month
For high-volume operations and multi-brand teams.
$199 USD / month
≈ AED 731 / month
See a month's total, Meta's fees included
Need more numbers or more volume? Tell us what you need or write to [email protected].
For developers
One send endpoint whose body follows the Cloud API's text and template shapes, bearer-key auth, and signed callbacks for what happens next. The API reference has the rest.
# Send a WhatsApp message. The Idempotency-Key makes a retry safe.
curl -X POST https://api.walpio.com/v1/messages \
-H "Authorization: Bearer wp_live_····" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-42-out-for-delivery" \
-d '{
"to": "+9715XXXXXXXX",
"type": "text",
"text": { "body": "Your order #42 is out for delivery today." }
}'# 200 — sent to Meta. The customer wrote in the last 24 h, so it went as text.
{
"messaging_product": "whatsapp",
"messages": [{ "id": "wamid.HBgM…" }],
"walpio": { "id": "7b1c…", "via": "text", "status": "accepted" }
}# Teach walpio your wording once — a text rule points it at an approved template…
curl -X POST https://api.walpio.com/v1/text-rules \
-H "Authorization: Bearer wp_live_····" \
-H "Content-Type: application/json" \
-d '{
"name": "Order out for delivery",
"pattern": "Your order {{order}} is out for delivery today.",
"templateName": "order_out_for_delivery",
"templateLanguage": "en",
"params": ["order"]
}'
# …and the same send, outside the window, goes out as that template:
{
"messages": [{ "id": "wamid.HBgM…" }],
"walpio": { "via": "template", "status": "accepted",
"template": { "name": "order_out_for_delivery", "language": "en" },
"transformations": ["matched_text_rule"] }
}
# No rule matches? 422 no_matching_template — nothing is sent.# walpio POSTs statuses, inbound messages and template changes to your URL.
POST https://your-app.example/walpio
walpio-event: message.status
walpio-delivery: 5f0e…
walpio-signature: t=1790330400,v1=<hex HMAC-SHA256(secret, "<t>.<raw body>")>
{ "id": "…", "event": "message.status", "created_at": "2026-09-25T10:00:00Z",
"data": { "message_id": "7b1c…", "wa_message_id": "wamid…",
"status": "delivered", "client_reference": "order-42",
"pricing": { "category": "utility", "billable": true } } }
# Verify the signature, reject a t older than 5 minutes, de-duplicate by id.Idempotency-Key and a retry replays the first answer — the customer gets one message, not two.retryable flag; a rate-limit 429 comes with Retry-After.walpio-signature and retried if you're down.Read the API referenceService health: api.walpio.com/health
Yes. walpio is built on Meta's official WhatsApp Business Cloud API. No unofficial clients or gray-market tricks — your number stays on Meta's official platform, under Meta's policies.
Yes — and that's a feature. You bring your own Meta WhatsApp Business account: your number, your display name, your direct billing with Meta. walpio operates it for you, but ownership never leaves your hands.
Outside the window WhatsApp only delivers templates Meta has approved. walpio checks the window on every send: you can send a template by name, or set up text rules so the wording you already send is recognised and sent as the matching approved template, values filled in. If nothing matches, the send is refused with a clear reason rather than dropped — and every answer says which route was used.
Direct Send lets a business send plain text marked as utility, and Meta picks a matching approved template or creates one for it. As of September 2026 Meta offers it only to businesses that meet its prerequisites (it calls it a premium solution), and it does not cover marketing messages. walpio's text rules work on every account: you choose the approved template each wording goes out as, you can test the match before anything is sent, and every answer says which route and template were used. walpio does not send through Direct Send today.
We do it with you: connect your Meta account, submit your templates for Meta's review, hand you your API key, and send the first live message together. How long it takes depends mostly on Meta's business verification and template reviews.
Monthly plans from 29 US dollars, agreed with you and invoiced directly — no setup fee and no card on file. Meta's per-message charges are separate: Meta bills them to your own Meta account, and walpio never marks them up. Refunds are handled case by case under your plan agreement.
Yes. Your Meta account, number and templates are yours and keep working without walpio, and we export your walpio data on request. Our send body follows the Cloud API's text and template shapes, so the messages your code builds carry over; the endpoint, the errors and the status callbacks are walpio's own and would change.
Tell us about your business and what you want WhatsApp to do for it — we'll set up your number and templates with you and get you sending.
Get startedor write to [email protected]