Skip to main content
The hello_world template is a pre-approved message template Meta provides in every new developer account. It is the standard way to send your first test API call and confirm the integration is working. Unlike free-form text, templates work without any prior conversation — you can send them to any verified recipient at any time.

Sending the hello_world template

POST https://graph.facebook.com/v21.0/{PHONE_NUMBER_ID}/messages
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
Body:
{
  "messaging_product": "whatsapp",
  "to": "919959623255",
  "type": "template",
  "template": {
    "name": "hello_world",
    "language": { "code": "en_US" }
  }
}
The recipient will receive a WhatsApp message that says:
“Hello World! 👋 This is a test message from the WhatsApp Business Platform.”
On success, Meta returns a wamid message ID:
{ "messages": [{ "id": "wamid.HBgM..." }] }
Why a template and not plain text? Plain text messages (type: text) only work inside the 24-hour customer service window — meaning the recipient must have messaged you first. Templates bypass this restriction. See Sending text messages.

Reference image

hello_world sent

Frequently asked

Use the hello_world template. Set type to "template", set template.name to "hello_world" and template.language.code to "en_US". This template is pre-approved and available in every new developer account.
Free-form text only works inside the 24-hour window — the recipient must have messaged you first within the last 24 hours. For a first test there is no prior conversation, so you must use a template.
First confirm the recipient number is added and verified in your Meta dashboard under API Setup → “To” field. Meta sends a WhatsApp verification code to that number and you must enter it. If verified and it still fails, check the error code — 133010 means the number is not on WhatsApp, 131030 means it is not in the test recipients list.
No. It is a test template only. In production you create your own approved templates. See Why templates exist.

Gotchas & common mistakes

  • Recipient not verified — the test number can only send to up to 5 verified recipients. Add your personal number in the Meta dashboard and enter the verification code.
  • Wrong language code — use "en_US" exactly. "en" alone may fail.
  • type: text instead of type: template — you must use "template" for the hello_world message, not "text".
  • Using hello_world in production — this template is for testing only; create and submit your own templates for real users.