Pre-launch: WaBulkSend is not open to users yet. The features described on this page are what we are building, not software you can log in and use today. Join the waitlist and we will email you when access opens.

⚡ Updated August 2026

WhatsApp Direct Send API: Send Utility Messages Without Template Approval

Meta's Direct Send API drops the template authoring step for utility and authentication traffic. You post the message text to the endpoint you already use, add a category field, and Meta generates and matches the template behind the scenes. Marketing is still outside it, and two of the most useful pieces are still access restricted.

Endpoints, limits, error codes and enforcement stages quoted from Meta's Direct Send documentation and the WhatsApp Business Platform changelog.

Can Direct Send carry this message?

No sign in

The category field accepts utility, authentication and service only. A marketing value comes back as a synchronous error 100. Promotions still need a marketing template that you write and submit for approval, and in the United States marketing template delivery to US phone numbers remains paused.

Omitting the category field is equivalent to sending category service, which follows the existing Cloud API behavior. The message is dropped if the service window is not open. From October 1 2026 these replies become chargeable.

Access is granted case by case. Authentication category, media headers and business-named templates each need a request to your Meta representative or partner before the call will work. Post the message to the messages endpoint with the category field attached. Meta matches it to a generated template, or sends on a fallback template and creates the matching one asynchronously.

Address, audio, contacts, location, sticker and reaction messages sit outside Direct Send. Meta states the supported format list is exhaustive for the beta, so anything absent from it is not merely undocumented.

Send with
Template you must pre-approve
Billed at

Body text is capped at 1024 characters, headers and footers at 60, and button labels at 20. You get up to 10 buttons in total with a maximum of 2 call-to-action buttons.

Join the waitlist

Jul 31

The date in 2026 Meta's changelog marked Direct Send utility messaging generally available.

1 field

The whole integration is a category field added to the messages endpoint you already call.

2 of 4

Categories Direct Send actually creates templates for: utility and authentication. Marketing is refused.

4 stages

The enforcement ladder if Meta keeps finding marketing content in your utility sends.

What is the WhatsApp Direct Send API?

Direct Send is a Meta API that removes the template creation step for WhatsApp utility and authentication messages. Meta's own description is blunt: instead of pre-creating and managing message templates, you send business-initiated messages directly and Meta auto-generates the matching templates behind the scenes. You keep calling the same messages endpoint. The only change to your request is one extra field.

For anyone who has shipped on the WhatsApp Business Platform, that sentence is the whole story. Until now, every business-initiated message had to correspond to a template you wrote, submitted, and waited on. A shipping notification with a slightly different wording meant a new template and another review. Teams ended up either maintaining dozens of near-identical templates or squeezing every use case into a handful of generic ones with a lot of variables.

Direct Send inverts that. You send the real message. Meta looks for a generated template that matches it. If one exists, that template carries the message. If none does, Meta sends the message anyway on a fallback template that was added to your account at onboarding, then asynchronously creates a new template from what you sent, with personal data redacted and the language detected automatically. The next matching message uses the new template.

Templates do not disappear, and that is deliberate. Meta's stated reason for generating them is that a generated template is what preserves insights and granular troubleshooting, and what Meta inspects to confirm your content belongs in the utility category. The template is still the unit of measurement and enforcement. You just stop being the one who writes it.

The request, in full

Direct Send uses the existing POST endpoint for a phone number ID. Adding the category field is what invokes it.

POST /PHONE_NUMBER_ID/messages with messaging_product whatsapp, recipient_type individual, to the customer number, type text, the text body, and category set to utility.

Call the same endpoint without the category field and nothing changes: the request follows normal Cloud API behavior for free-form messages. The full request shape for both paths is covered on the WhatsApp API send message guide.

What message formats does Direct Send support?

Utility gets text, buttons and media headers. Authentication gets text only. Marketing gets nothing. Meta adds a line that is worth reading twice: the supported list is exhaustive for the beta, so any format that is absent is not simply undocumented, it is unavailable.

Category Direct Send Formats you can use
Utility Supported Text, call-to-action URL buttons, reply buttons, mixed buttons up to 10 with max 2 CTA, custom time to live, and image, video or document headers where access is granted
Authentication Supported, restricted Text messages only. Access is granted by a partner or client manager rather than self serve
Marketing Not supported Nothing. Marketing keeps the ordinary template workflow, and in the US delivery of marketing templates to US numbers is still paused
Everything else Not supported Address, audio, contacts, location, sticker and reaction messages, other media formats, and all other button formats

One quiet omission worth planning around: the preview_url field is not supported, so a link inside a Direct Send message does not render a URL preview. If the preview is doing conversion work for you, a call-to-action button is the replacement.

The three values the category field accepts

Value What happens Billed at
utility Business-initiated message in the utility category, sent through a generated template Utility rate
authentication Business-initiated message in the authentication category. Access restricted, so you contact a partner or client manager first Authentication rate
service, or omitted Ordinary service message. It follows the existing send behavior and is dropped if the service window is not open Free until Oct 1 2026

Send anything else and the API refuses it synchronously. Passing marketing produces error 100 with a message stating that the parameter must be one of AUTHENTICATION, SERVICE or UTILITY. That is a useful guard rail: a mislabeled campaign fails at the API boundary rather than going out and being reclassified later.

Hard limits to design around

  • Body text 1024 characters, header 60, footer 60, button label 20.
  • Up to 10 quick reply buttons, and a maximum of 2 call-to-action buttons.
  • Call-to-action buttons are always listed before reply buttons, whatever order you send them in.
  • Standard Cloud API throughput applies, so Direct Send does not raise or lower your send rate.

Three things that need a permission request

  • The authentication category, which a partner or client manager has to enable.
  • Image, video and document headers, which are access restricted during the beta.
  • Business-named templates, the feature that lets you fix template attribution yourself.

Plan the rollout assuming plain utility text works first and the rest arrives on Meta's timetable, not yours.

Do I still need WhatsApp message templates?

Templates still exist, but you no longer author and submit them for utility and authentication content. Here is the exact sequence Meta runs on every Direct Send message, which is worth understanding because it explains both why nothing blocks and why your template list grows on its own.

1

Onboarding

When your WhatsApp Business Account is onboarded, Meta adds a small set of fallback templates so a send never has nothing to fall back on.

2

Matching

Each message is checked against templates already generated for you. A match means that template carries the send.

3

Fallback

No match still means delivery. The message goes out on an onboarding template rather than waiting for anything to be created.

4

Generation

Afterwards, Meta creates a template from the message with personal data redacted and the language detected, ready for the next one like it.

What happens to all those generated templates

They get cleaned up in two phases, which stops the account filling with clutter. A template that gets created but never used to send a message is deleted after 24 hours. A template that was used and then sat inactive for a while is archived periodically against a configurable threshold. You can list what has been generated with a source filter of AUTO_GENERATED on the message templates endpoint.

There is one failure mode worth knowing before you go live. Send in a language Direct Send does not support and the API still works, but it defaults to the onboarding templates rather than creating proper ones. Those messages then have no classification, no integrity checks and no metrics. Delivery looks fine while your reporting quietly goes blank, so check the supported language list against every locale you actually send to.

Pinning attribution with a template name

Automatic matching is convenient until you need to answer which template a specific message used. For that, Direct Send accepts a direct_send_config object with a template_name field, and every message sent under that name is attributed to one template. Meta restricts access to this feature, and it works for the utility category only.

The naming rules are strict and worth encoding in your own validation: lowercase alphanumeric characters and underscores only, a maximum of 512 characters, and unique within the business account. Reusing a name across different accounts is fine, because the uniqueness constraint is per account. Collide with a template that already exists and was not created by Direct Send and you get error 132021 back asynchronously on the error webhook.

Named templates also change the failure behavior, which is the part most integrations get wrong. They do not fall back to onboarding templates. If template creation fails, Meta retries three times, and if all three are exhausted you receive error 131000. So the named path trades guaranteed delivery for guaranteed attribution. Pick it for the flows where you need per-template reporting, and leave your high-volume transactional sends on automatic matching where the fallback protects you. Codes like 132021 and 131000 sit alongside the rest of the platform's failures in the WhatsApp error codes reference.

One more field appears once you are live. The message status webhook gains template_id, naming the template that actually carried the send, sitting next to the usual pricing and conversation objects. That is how you reconcile a Direct Send message to a template after the fact, and it is the field your reporting should key on. The wider webhook payload structure is covered in the WhatsApp webhook setup guide.

How much does a WhatsApp utility message cost with Direct Send?

The same as a utility template message. Direct Send does not have its own price list and Meta charges no separate fee for generating the templates. What you pay is the utility rate for the recipient's country, and the session logic is identical to sending a template you wrote yourself.

Meta spells the session behavior out. When you send a Direct Send utility message the system checks whether an open utility conversation already exists with that person. If one does, no new conversation starts and the message is delivered inside the existing session. If none does, a new utility conversation opens and lasts 24 hours from the first message. Utility conversations are separate from service conversations and are billed independently, so a customer you are both notifying and supporting can carry two open windows at once.

Two dates change the arithmetic and both land soon. On October 1 2026 service messages become chargeable, meaning any non-template reply inside an open 24 hour window, whether a human or your own bot writes it, bills at the utility and authentication rate with no volume tier. On the same date, utility templates delivered inside an open customer service window lose the free status they have had since July 2025. Meta committed to publishing the final per-country service message rates by September 1 2026 and, as of this update, has not done so.

Meta may only change pricing on the first day of a quarter with one month of advance notice, which is why these changes cluster on January 1, April 1, July 1 and October 1. If you are modeling the cost of moving transactional traffic onto WhatsApp, the WhatsApp pricing calculator works through the per-message math, and WhatsApp pricing changes tracks what shifts on each of those dates.

No new line item

Template generation is not billed. You pay the utility or authentication rate you would have paid anyway, in the recipient's country.

Windows still matter

Batching notifications so they land inside one open utility conversation is still the lever that lowers a bill, exactly as with hand-written templates.

October 1 2026

In-window utility templates lose free status and service replies become chargeable. Budget for both before the quarter turns.

What happens if Meta decides my utility message is really marketing?

Meta emails you first, and no immediate disruption is expected while a review is open. After that it escalates in defined stages. This is the part of Direct Send that deserves the most attention, because removing your own approval step also removes the moment where you would have caught the problem yourself.

Stage What Meta does Can you still send?
Misuse detected You are notified by email and can request a review before anything is restricted Yes, no restriction
Rate limiting A temporary volume cap on the business account. Sends past the cap are rejected with error 131064 until the window ends Up to the cap only
7-day restriction The account cannot use Direct Send for utility or authentication messaging for seven days Not via Direct Send
30-day restriction A thirty day restriction, described by Meta as the final warning before permanent removal Not via Direct Send
Permanent revocation Access is removed. The ordinary template workflow remains, so this ends Direct Send rather than your WhatsApp account No

Meta notes that these restrictions roll out incrementally: warning notifications and rate limiting apply first, and the seven day, thirty day and permanent stages are being enabled gradually and may not yet be active on every account.

How to see it coming

Subscribe to the template_correct_category_detection webhook field. It fires when a message is identified as category misuse and hands you the template id, name and language along with the category you claimed and the correct_category Meta assigned, which will be either MARKETING or AUTHENTICATION. Ingest those template ids rather than reading the emails, because the webhook is the machine-readable version of the same warning.

You can also poll for the damage directly. A GET on the message templates endpoint with a source of AUTO_GENERATED and a correct_category of MARKETING returns exactly the auto-created templates that have been flagged. That is the query to run before a big campaign, not after it.

The other failure to instrument is template pausing. If a message matches a template that was paused for low quality, the send fails with error 132015. The pause webhook carries the template name and language, so you can pull the paused content and work out which of your messages will be blocked. Meta's advice for avoiding restrictions is unglamorous and correct: send only to people expecting the message, and design the content so it is obviously expected.

If a template was flagged in error, Meta accepts review requests by email at the Direct Send support address, and asks for the names or ids of the flagged auto-created templates. The rules on who you may message at all have not moved, and are worth re-reading before you scale utility volume: see WhatsApp opt-in requirements and the WhatsApp bulk messaging rules.

Who Direct Send is actually for

The value is proportional to how many distinct transactional messages you send. A business with four templates gains very little. A business whose messages vary by product, branch, carrier or policy gains a great deal, because the template count was the constraint.

Ecommerce and logistics

Order confirmations, dispatch notices and delivery windows that differ per carrier and per warehouse stop needing a template each. The order notification flow is the clearest fit.

Appointment-heavy services

Clinics, salons and field services whose reminders carry location, practitioner and preparation detail that never fit a generic variable slot.

Platforms and marketplaces

Anyone sending on behalf of many end businesses, where each new client used to mean a new template review before their first message could go out.

Good reasons to adopt it

  • Template review moves off the critical path, so a new notification type ships the day it is written.
  • The integration is one field on a request you already send, not a new endpoint or SDK.
  • You keep template-level insights and troubleshooting, because Meta still creates the templates.
  • Messages can carry their real wording instead of being bent to fit a generic approved shell.

Reasons to wait

  • Your traffic is mostly marketing, which Direct Send refuses outright.
  • You need media headers or the authentication category and have not been granted access.
  • Your content sits near the line between utility and marketing, where automatic categorization now decides without you.
  • You send in languages outside the supported list, where messages deliver but lose classification and metrics.

WhatsApp Direct Send questions

Is the WhatsApp Direct Send API generally available?

Partly, and the distinction matters. Meta's changelog entry dated July 31 2026 states that Direct Send utility messaging is now generally available. Every Direct Send documentation page still carries a beta note, and the authentication category, business-named templates and media message headers each remain access restricted, meaning you have to ask a Meta representative or your partner for them. Treat utility text as production-ready and everything else as gated.

How long does WhatsApp template approval take with Direct Send?

There is no approval wait for the send itself. The message goes out immediately on a matching template or on a fallback onboarding template, and template creation happens asynchronously afterwards. That is the practical reason to adopt it: review moves off the critical path for utility and authentication traffic. Ordinary marketing templates still go through the normal review, and how long WhatsApp template approval takes covers what to expect there.

Can Direct Send send WhatsApp marketing messages?

No. The category field accepts utility, authentication and service only, and passing marketing returns a synchronous error 100 stating the parameter must be one of AUTHENTICATION, SERVICE or UTILITY. Meta also monitors auto-generated templates for marketing content and restricts accounts that keep sending it, so routing promotions through the utility category is a way to lose access rather than a loophole.

What is the difference between utility and marketing messages on WhatsApp?

Utility messages follow up on something the customer already did, such as an order, a booking, an account change or a payment. Marketing messages try to start something, including offers, promotions, product news and re-engagement. Meta's category guidelines decide which is which, and with Direct Send that judgment is applied to your live message content rather than to a template you submitted, which is why the wording of a single notification now carries more weight.

Does Direct Send work with WhatsApp usernames and business-scoped user IDs?

Utility messages can be addressed either way, because Direct Send uses the standard Cloud API recipient model: a phone number in the to field, or a business-scoped user ID in the recipient field. Authentication-category messages are the exception. Meta documents that they cannot be sent to a business-scoped user ID and need a real phone number. The identifier rollout is covered in full on the WhatsApp username and BSUID page.

What happens if I send a message in an unsupported language?

The API still works and the message is delivered, but Direct Send defaults to the onboarding templates instead of creating proper ones. Those messages then carry no classification, no integrity checks and no metrics. It is a silent degradation rather than an error, so audit your locales against the supported language list before assuming your reporting is complete.

Can I reuse the same template name across different WhatsApp Business Accounts?

Yes. The uniqueness constraint on template_name is per business account, so the same name can exist in several accounts without conflict. That matters for platforms running one naming scheme across many client accounts. Within a single account the name must be unique, and colliding with a template that Direct Send did not create returns error 132021 asynchronously.

Does Direct Send change WhatsApp messaging limits or throughput?

No. Direct Send uses standard Cloud API throughput and leaves the daily messaging limit tiers untouched. A new business portfolio still starts at 250 messages per rolling 24 hours and scales from there on quality and usage. Removing template friction lets you build more message types, not send more messages, and the messaging limits calculator shows where your account sits.

Do WhatsApp opt-in rules still apply to Direct Send messages?

Yes, in full. Direct Send changes how a template comes into existence, not who you are allowed to message. You still need the customer to have given you their number and to have opted in to messages from your named business, purchased lists are still prohibited, and quality rating still governs how much you can send. None of the consent machinery is relaxed by the template step disappearing.

Transactional WhatsApp without the template queue

WaBulkSend is building campaign tooling on the WhatsApp Business Platform, with utility and authentication sending designed around Meta's category model rather than bolted onto it. Join the waitlist for early access.

Join the waitlist