Send a utility message
Order confirmations, shipping updates, appointment reminders — messages you send, rather than codes you verify.
Managed Vodafone integrations differ
BYO SMS here describes an integration you build and own. If Akedly operates a managed Vodafone integration for your account, several of the capabilities described below are fixed by Akedly and are not yours to set — see Managed Vodafone.
Send a utility message
Connecting a WhatsApp Business Account, approving a template, and sending.
This runs on your own WhatsApp account
Utilities send over your WhatsApp Business Account, not an Akedly-operated one, and SMS goes through your BYO provider. Connecting at least one of those is the first step, not an optional extra.
What you need
- A WhatsApp Business Account you can connect, or a BYO SMS provider
- Your utility pipeline's
usk_signing secret
Steps
Connect a channel.
WhatsApp through your own Business Account, SMS through your own provider, or both.
View in dashboardChannels → Setup(opens in a new tab)Connect WhatsApp, or add and test a BYO SMS integration. (A managed Vodafone integration is built for you, but three setup steps are still yours — its credentials, its approved sender name, and acknowledging that Vodafone has whitelisted Akedly's outbound IPs — and it must then pass its activation test before it routes.)
Create a utility pipeline.
Separate from your OTP pipelines. It holds your channel order, allowed countries, daily spend cap, and send settings.
Write a template and get it approved.
Templates carry
{{variable}}placeholders. Every one needs Akedly approval. That is the only approval an SMS template needs — once Akedly has approved it and it is marked usable on SMS, it can send. WhatsApp templates need Meta's approval as well, so those wait for both.Send.
One signed call to the send endpoint with the template and its variables. The full request shape is on the Send API page.
Requests to Akedly are signed with your usk_ secret, and webhooks from Akedly are
signed with a different whsec_ one. Two secrets, opposite directions — the most common
mix-up on this product.
When it breaks
UTILITY_SMS_REQUIRES_BYO— SMS is enabled but no usable BYO integration is connected.UTILITY_SMS_COUNTRY_NOT_ROUTED— you have an integration, but nothing routes that destination. On one you built, add a country chain or anALLcatch-all. A managed Vodafone integration is fixed to Egypt and cannot be widened.- Template rejected by Meta: WhatsApp sends stop resolving. If your pipeline has a direct HTTPS callback URL, a
template.status_changedwebhook reports the rejection and Meta's reason when Meta supplies one, with a one-use token to fetch the full template once. HTTP callback URLs receive no template status event. Other account events are dashboard-only, so check the Account events tab for those.
Where to go next
Utility Webhooks
—delivery updates, replies, button taps and template status changes (a failed WhatsApp attempt can emit its own status before a BYO-SMS fallback leg, while direct and fallback BYO-SMS legs emit none)
Request Signing
—signing your calls with
usk_End Users
—associate your internal user IDs with phone numbers
