WhatsApp API & Developers

WhatsApp API Without Templates: When You Can Skip Them

Templates are the part of WhatsApp's official API that teams complain about most. Every business-initiated message needs a pre-approved format, Meta decides its category and therefore its price, and a single rejection can hold up a launch. So it's a fair question: can you use the WhatsApp API without templates?

Sometimes. On Meta's Cloud API you can send free-form messages without a template whenever a customer service window is open. Linked-number APIs skip templates entirely, because they send as an ordinary WhatsApp account. Both come with trade-offs, and the official one started costing money on October 1, 2026.

This post covers exactly when templates are required, how to design flows that rarely need one, and when a template is genuinely the better tool.

The Cloud API rule: templates only outside the window

When a customer messages you, a 24-hour customer service window opens, and each new message from them refreshes it. Inside it you can send anything; outside it, only approved templates.

Inside an open window you can send text, images, documents, audio, video, location, reactions and interactive messages such as reply buttons and lists, all without template approval. A plain free-form reply looks like this:

curl -X POST "https://graph.facebook.com/v23.0/PHONE_NUMBER_ID/messages" \
  -H "Authorization: Bearer $WHATSAPP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "messaging_product": "whatsapp",
    "recipient_type": "individual",
    "to": "919811122233",
    "type": "text",
    "text": { "body": "Thanks Priya. Your refund was processed today and should reach your card in 5 to 7 working days." }
  }'

Use the current Graph API version from Meta's changelog in place of v23.0. Send the same payload after the window has closed and the message fails with error 131047, which Meta's error codes page describes as more than 24 hours having passed since the recipient last replied. The fix Meta gives is the obvious one: send a template instead.

Two details catch teams out. The window is measured from the customer's last message, not yours, so a burst of your own follow-ups doesn't extend it. And the clock runs while your message sits in a queue, so a reply that leaves your system at 23 hours 59 minutes may arrive too late. For the full mechanics, see our guide to the WhatsApp 24-hour window.

What free-form replies cost now

Free-form replies are service messages. They were free until September 30, 2026; since October 1, each business number gets 1,000 free service messages a month, then they're charged per message.

As of October 2026, per Meta's pricing page:

  • 1,000 free service messages per business phone number per month, with no rollover. After that, service messages are billed per delivered message at your market's rate.
  • Utility templates sent inside an open window, free since July 2025, are charged from October 1, 2026.
  • No payment method on file means that, since October 1, 2026, service messages stop once the number's 1,000 free ones for the month are used.
  • Eligible governments and non-profits keep free service messages beyond the free tier through December 31, 2027.
  • Free entry point: when someone messages you from a Click-to-WhatsApp ad or a Facebook Page call-to-action, your messages are free for a window that Meta's current page says can last up to 7 days.

So "without templates" no longer means "free" on the official platform. It means cheaper and simpler than a template, and free for the first thousand. Our news explainer on service message pricing has the details and what to do about them.

Designing flows that rarely need a template

The best way to avoid templates is to make the customer write first, then answer while the window is open.

  1. Put a click-to-chat link everywhere the customer already is: order confirmation pages, invoices, receipts, the QR code at the counter. A prefilled "Hi, it's about order 4821" gets you a window and context in one tap.
  2. Use the free entry point deliberately. Click-to-WhatsApp ads open a longer free window. Our guide to the WhatsApp free entry point covers how to measure it.
  3. When you must use a template, ask for a reply. A reminder that says "Reply 1 to confirm or 2 to reschedule" turns a one-way template into a fresh window for everything that follows.
  4. Answer fast. A support reply at hour 3 is free-form; the same reply at hour 26 needs a template.
  5. Track the window per contact and decide in code, with a safety margin for queues and clock drift:
from datetime import datetime, timedelta, timezone

SAFE_WINDOW = timedelta(hours=23, minutes=30)  # margin below Meta's 24 hours

def build_message(contact, text, template_name, lang="en"):
    """contact["last_inbound_at"] is a timezone-aware datetime or None."""
    last_in = contact.get("last_inbound_at")
    base = {"messaging_product": "whatsapp", "to": contact["wa_id"]}
    if last_in and datetime.now(timezone.utc) - last_in < SAFE_WINDOW:
        return {**base, "type": "text", "text": {"body": text}}
    return {**base, "type": "template",
            "template": {"name": template_name, "language": {"code": lang}}}

Update last_inbound_at from your inbound webhook every time the customer sends anything. The function returns a payload; your sender posts it to the messages endpoint.

How linked-number APIs skip templates, and what that costs you

They send as a normal WhatsApp account, so there's no template system to pass. The guardrail moves from Meta's review to your own behaviour.

A linked-number API connects to your existing number as a linked device, the way WhatsApp Web does. There's no customer service window, no categories and no per-message fee: you can message any chat at any time. That sounds like pure upside until you remember what templates are for. They're Meta's spam control for business-initiated messages. Without them, WhatsApp's account-level spam detection is the only check, and its penalty is a restricted or banned number.

SituationCloud APILinked-number API
Reply to a customer who wrote 2 hours agoFree-form service message (free tier, then charged)Free-form, flat fee
Follow up 3 days laterTemplate requiredFree-form, but keep it relevant to what they asked
First message to a brand-new leadTemplate (marketing or utility)Possible but capped; the riskiest message you can send
Post in a groupGroups API, new invite-only groups onlyGroups your number is already in
One-time passcodesAuthentication templateThe wrong tool

Linked-number APIs are also outside what WhatsApp's terms authorize. Our explainer on the unofficial WhatsApp API covers that and how to lower the risk.

When a template is actually the better tool

Templates are friction with a purpose. Use them when that purpose is yours too.

  • Login codes. Authentication templates come with copy-code and one-tap options, and they're built for speed.
  • High-volume transactional alerts. Order, shipping and payment updates at thousands per hour belong on the official platform.
  • First contact at scale. Pre-approval, opt-in and messaging limits protect your number's reputation when you message people who haven't written recently.
  • Regulated messages, where an approved, unchangeable wording is evidence that you said the right thing.
  • Buttons outside the window. Templates can carry quick replies and links when no window is open.

Our guide to WhatsApp message templates covers the components and the approval process.

Where Tenashi fits

Tenashi's API never asks for a template, because it sends from your own WhatsApp number as a linked device. That makes it a good fit for the conversational half of the table: replies, follow-ups with people who asked, and posts in groups you're already in, all flat-priced from $18/mo with no per-message fees. Every message lands in the shared team inbox, so the person who picks up the reply sees what your system sent.

Template review is replaced by limits on behaviour. A batch of 100 API messages takes about 10 minutes to leave a number, first messages to people who never wrote to you are capped at 50 per number per day (replies don't count), and the same text sent to 5 chats within 10 minutes is paused, which personalising avoids. Tenashi isn't endorsed by Meta, offers no buttons or templates, and isn't the tool for OTPs or high-volume alerts.

Read the API docs · Get started

FAQ

Can I send WhatsApp API messages without a template?

Yes, inside the 24-hour customer service window. On the Cloud API, once a customer messages you, you can send free-form text, media and interactive messages until 24 hours after their last message. Outside that window, business-initiated messages must use an approved template. Linked-number APIs don't use templates at all.

What happens if I send a free-form message outside the window?

The message fails with Cloud API error 131047, which Meta describes as more than 24 hours having passed since the recipient last replied. Nothing reaches the customer. Send an approved template instead, ideally one that invites a reply, because their reply opens a new window for free-form messages.

Are free-form WhatsApp API messages free?

Not entirely since October 1, 2026. Free-form replies are service messages: each business number gets 1,000 free per month, then they're charged per delivered message at your market's rate. Messages inside a free entry point window from a Click-to-WhatsApp ad or Page call-to-action remain free, per Meta's pricing page.

Do unofficial WhatsApp APIs need templates?

No. Linked-number APIs send as a regular WhatsApp account, so there's no template approval or customer service window. The trade-off is that nothing stands between your messages and WhatsApp's spam detection, and these tools aren't authorized by WhatsApp's terms. Keep to people who expect to hear from you.

Does the 24-hour window reset when the customer replies?

Yes. Each new message from the customer opens or refreshes a 24-hour window from that moment. Your own messages don't extend it. That's why asking a clear question, such as "Reply 1 to confirm", is the cleanest way to keep a conversation template-free.


You can go a long way on the official API without templates by letting customers write first and answering promptly, and a linked number removes them entirely for the conversations that suit it. For the bigger picture, read our complete guide to the WhatsApp API, and if template-free conversations on your own number fit, read the Tenashi API docs.