Working with Templates

A template is a reusable message blueprint: structured content with dynamic variables, links, media, and interactive buttons that adapts automatically to SMS, WhatsApp, and RCS. You build a template once, get it approved, and then send personalized messages at scale by referencing its template ID.

Start sending right away. Sent includes 6 pre-built OTP and verification templates available immediately after email and phone verification, no custom template creation or approval needed. Custom templates require a completed account setup.

Learn how to create, customize, and manage message templates effectively across SMS, WhatsApp, and RCS channels.

Templates

Playlist

Template documentation

How template approval works

Every custom template starts as a draft, and drafts cannot be sent on any channel. Submitting a template for review starts approval:

  • With a connected WhatsApp Business Account, Meta reviews the template. A Meta approval applies to every channel; a Meta rejection blocks only WhatsApp.
  • Without a connected WhatsApp Business Account, Sent's compliance team reviews the template, and each channel is approved or rejected individually.

Approval is tracked per channel: a message sends on a channel only after the template is approved for that channel, and sends against unapproved templates are blocked. The pre-built OTP and verification templates are already approved on all channels. Refer to template statuses for the full status list and review routing details.

Template best practices

Following these guidelines helps you avoid common issues with template creation and approval.

Keep templates concise and transactional. Templates that clearly serve a transactional or utility purpose (order updates, appointment reminders, verification codes) are approved faster and categorized correctly more often than templates with ambiguous intent.

Avoid marketing language in utility templates. Even a single promotional phrase can cause Meta to re-categorize your utility template as marketing. Stick to factual, action-oriented language that directly relates to the triggering event.

Test with a simple text-only template first. Before building a template with media, buttons, and multiple variables, first create and send a basic text-only template. This confirms your WhatsApp Business Account connection, permissions, and API integration are all working correctly. Add complexity from there.

Use meaningful template names. Use descriptive, consistent names like order_confirmation, shipping_update, or otp_verification rather than generic names like template1 or test. Send requests can reference a template by name, and renaming later means updating every place that name appears in your code.

Plan for approval time. Build template review time into your development workflow. Submit templates for approval well before you need them in production. Having a library of pre-approved templates ready to go prevents delays when launching new features.

If a template is failing to save, stuck in review, or miscategorized, see WhatsApp Template Issues for symptom-by-symptom fixes.

Manage templates via the API

ActionEndpoint
Create a templatePOST /v3/templates
List templatesGET /v3/templates
Get a templateGET /v3/templates/{id}
Update a templatePUT /v3/templates/{id}
Delete a templateDELETE /v3/templates/{id}

Template status changes are delivered to your webhook endpoint as templates events; see webhook event types.

On this page