Skip to content
Akedly
Tutorials

Send a utility message

Order confirmations, shipping updates, appointment reminders — messages you send, rather than codes you verify.

Send a utility message

Connecting a WhatsApp Business Account, approving a template, and sending.

Open the video in Google Drive


What you need


Steps

  1. Connect a channel.

    WhatsApp through your own Business Account, SMS through your own provider, or both.

  2. Create a utility pipeline.

    Separate from your OTP pipelines. It holds your channel order, allowed countries, daily spend cap, and send settings.

  3. 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.

  4. Send.

    One signed call to the send endpoint with the template and its variables. The full request shape is on the Send API page.


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 an ALL catch-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_changed webhook 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