Send WhatsApp Messages Without Templates

Send any message with no template approval.

Messaging on the official platform means approved templates and a 24-hour window. A linked number has neither: it sends the message you wrote, when you send it, to anyone it is allowed to write to.

Can the official WhatsApp Cloud API do this?

Only inside a 24-hour window opened by the customer.

Read the full comparison

How it works

Send the text you wrote, attach media by id, ask questions as polls, and treat the status webhook rather than the send response as delivery.

  1. Send the text you actually wrote

    One call, one message, no template id and no approval queue. The body is whatever you want to say, which means the copy can change with the deploy rather than with Meta's review cycle.

    API reference for this step
  2. Attach media in the same flow

    Images, video, documents and voice notes all follow the same recipient-plus-payload shape. Upload once and reuse the media id when the same asset goes to many recipients.

    API reference for this step
  3. Ask a structured question

    A poll turns a question into machine-readable answers, which is far more reliable than asking people to reply with a number and then parsing whatever they type.

    API reference for this step
  4. Follow delivery on the webhook

    A 2xx from the send endpoint means accepted, not delivered. The status event carries the real outcome keyed by message id, and it is what your retry logic should watch.

curl --request POST \
  --url https://api.wapito.com/v1/messages/text \
  --header 'Authorization: Bearer wpt_YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"to":"+15551234567","body":"Your order #4182 has shipped. Track it here: https://acme.example/t/4182","typing_time":3}'

Endpoints

Webhook events

  • messagesMessage sent or receivedonMessages()
  • messages.statusDelivery receipt for a sent messageonMessagesStatus()
  • pollsPoll vote cast or changedonPolls()

What you can build with it

  • Conversational support replies

    A support desk answers customers in their own words instead of through approved templates, including quoting an order line or apologising specifically for what went wrong. Nothing has to be pre-registered, so the agent tooling can say anything a human would.

  • Copy that changes with the deploy

    A product team ships a new onboarding message with the feature it describes, rather than filing a template for approval weeks in advance and hoping the wording still fits by the time it is live.

  • Internal notifications from a system

    An operations platform sends alerts, rota changes and confirmations to staff numbers. These are people who expect the messages, and none of the content would ever fit a marketing template category.

What the official WhatsApp Cloud API does here

Meta's official WhatsApp Cloud API is built for business messaging: templates, customer-service windows and per-conversation pricing. A large part of what WhatsApp itself can do — groups, channels, status, presence, contact lookups — has no endpoint there at all, which is why so many teams end up looking past it. Everything below is checked against Meta's own published reference, with the link and the date we checked it.

Restricted on the Cloud API

Only inside a 24-hour window opened by the customer.

Meta's own guide is explicit: a 24-hour customer service window opens when the user contacts you, and once it closes only pre-approved templates may be sent. Free-form business-initiated messaging is therefore not possible on the official platform - not as a policy preference, but as a documented platform rule, with per-message charges on top.

"When a WhatsApp user messages you or calls you, a 24-hour timer called a customer service window starts." and "When the window closes, you can only send pre-approved template messages." (both verbatim)
Meta's WhatsApp documentation — checked

The official workaround

Create a template, submit it for approval, wait, and send that. It works for predictable transactional copy and is charged per message. It does not work for anything conversational, anything that changes often, or anything you did not anticipate at approval time.

Wapito is an independent product. It is not affiliated with, endorsed by, sponsored by or certified by WhatsApp or Meta Platforms, Inc. WhatsApp is a trademark of Meta Platforms, Inc.

Gotchas

  • A successful send response means accepted for delivery, not delivered. Watch the status webhook and key your retries on the message id rather than on the HTTP status.
  • Without template approval there is nothing between your code and your customers, so a bug in a loop becomes a genuine incident. Test against a Sandbox channel and keep a hard per-run cap in your own sender.

Tutorials by language

Automations and integrations

Frequently asked questions

Is sending without a template against WhatsApp's rules?

It is outside the official platform, which is a different statement. Wapito drives a real linked device, the same way the desktop app does, and WhatsApp can ban a number it judges to be misbehaving. No provider can promise otherwise, which is why every page here carries a ban-risk note rather than a guarantee.

What replaces the 24-hour window?

Nothing technical - and that is precisely why your own discipline has to. The window existed to stop businesses messaging people who had not asked. Keep an opt-in record, honour opt-outs immediately, and pace first contacts, because the abuse systems still exist even when the window does not.

Can I still use templates if I want to?

There is no template system here to use, because there is no approval layer. If your use case genuinely fits templates - predictable transactional notices to customers who expect them - the official Cloud API is the better tool and we will say so on the comparison page.

How fast can I send?

Slower than you would like, deliberately. Sends are serialised per channel with configurable spacing and jitter, a warm-up ladder caps a new number's daily volume, and a separate guard limits first messages to new recipients. Pushing past those returns an explicit error rather than sending faster.

Related

Try it on your own number

Create a channel, link a WhatsApp number by QR or pairing code, and call the API in a couple of minutes. The Sandbox plan is free and needs no card.