WhatsApp Business Platform

Business-named templates

Updated: Jul 31, 2026
Copy for LLM
By default, Direct Send automatically matches each message to a generated template. To make message-to-template attribution predictable — and to integrate more easily with existing systems — you can specify the template name on the send call.
When you provide a name, Direct Send creates (or reuses) a template with that exact name, and all messages using that name are attributed to it.
Note. Business-named templates are supported only for utility messages (category: "utility"). The authentication category isn’t supported at this time.

Using direct_send_config.template_name

Add a direct_send_config object with a template_name field to your Direct Send request.
FieldDescriptionExample value
direct_send_config
object
Optional.
Configuration object for Direct Send features.
direct_send_config.template_name
string
Optional.
A unique name for the template. When provided, Direct Send creates or reuses a template with this exact name instead of auto-matching.
order_shipment_update

Validation rules

  • Format: lowercase alphanumeric characters and underscores only (^[a-z0-9_]+$).
  • Maximum length: 512 characters.
  • Uniqueness: must be unique within your WABA. If a template with the same name already exists but was not created by Direct Send (for example, created manually via the Business Management API), Direct Send returns error code 132021 asynchronously via the error webhook.

Example request

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "<WHATSAPP_USER_PHONE_NUMBER>",
  "type": "text",
  "text": {
    "body": "Hi Jane, your order #12345 has been shipped and is expected to arrive on March 20."
  },
  "category": "utility",
  "direct_send_config": {
    "template_name": "order_shipment_update"
  }
}
This example uses a text message; other message formats can use direct_send_config the same way.

Behavior with and without template_name

direct_send_configBehavior
Present with template_name
Direct Send creates or reuses a template with the specified name. No fallback to placeholder templates.
Not present
Automatic template matching, with fallback to onboarding templates.

No fallback

Unlike the standard Direct Send flow, templates created with template_namedo not fall back to onboarding templates. If template creation fails, the message is retried up to 3 times. If all retries are exhausted, a generic infrastructure-failure webhook is sent (error code 131000 — “Something went wrong”).