Create a Template in the Dashboard

This guide shows you how to build a custom message template in the Sent dashboard and submit it for review. It assumes your account has completed account setup, because template creation requires a fully onboarded account. If you have never created a template, start with the first template quickstart; for background on how templates adapt content per channel, see how templates work.

Open the template builder

In the dashboard, open Templates and create a new template. The builder shows a live per-channel preview as you edit.

Add a header (optional)

Headers appear on WhatsApp and RCS only: WhatsApp renders a native header, RCS prepends the text to the message body. A header holds up to 60 characters and at most 1 dynamic variable. Text headers cannot contain emojis, newlines, or formatting markup (*, _, ~).

Write the body

The body is the only required component and the only one that reaches SMS as well as WhatsApp and RCS. It holds up to 1024 characters. To personalize it, click Insert dynamic variable or Insert dynamic link. Variables render as yellow boxes and links as light-blue boxes.

Dynamic Variable TypeDescription
TextPlain text content that can be personalized
LinkDynamic URLs for tracking or personalization
Image/MediaImages or media files (WhatsApp only)
FileDocument files (WhatsApp only)

Give every variable a descriptive name (customerName, orderNumber) and a realistic sample value: reviewers see the sample when they evaluate the template.

If you want different wording per channel, the definition supports sms, whatsapp, and rcs body overrides alongside the multi-channel body; refer to the template definition reference.

SMS message length depends on encoding. A plain-text (GSM-7) SMS fits 160 characters; a message containing any emoji or non-Latin character encodes as Unicode and fits only 70. Longer bodies are split into billed segments (153 or 67 characters each). Remember that a variable can push a template over a limit at send time. See SMS Encoding & Message Length for the full rules and SMS Length, Segments & Cost for a live calculator.

Add a footer (optional)

Footers appear on WhatsApp and RCS only: WhatsApp renders a native footer, RCS appends the text to the message body. A footer holds up to 60 characters and cannot contain variables, emojis, newlines, or formatting markup.

Add buttons (optional)

Buttons appear on WhatsApp and RCS: WhatsApp renders interactive buttons, RCS shows the first four as suggestion chips. Click Add button and pick a type. A template holds up to 10 buttons, and button labels hold up to 25 characters.

Button TypeQuantity allowedDescription
Custom ButtonsUp to 10Custom quick replies and preconfigured responses
Visit Website ButtonsUp to 2Static URLs, or dynamic URLs with exactly one variable at the end
Phone Number ButtonUp to 1One-tap calling with country code and phone number
Copy Offer ButtonUp to 1One-tap copying for OTP or offer codes

Place the most important action first: on RCS only the first four buttons render, so order decides what users see.

Set the category and language

Both fields are detected automatically from the template content; override them manually if the detection is wrong. Choose the category (MARKETING, UTILITY, or AUTHENTICATION) that matches the message's real intent. Meta re-categorizes mismatched WhatsApp templates during review, so an honest category speeds approval.

Review the JSON

Click View JSON to see the template's definition: the same JSON you send in the definition field when you create a template via the API with POST /v3/templates. Refer to the template definition reference for every field and limit.

Save as draft or submit for review

To keep editing and testing, click Save as Draft. Drafts cannot be sent on any channel. To start approval, click Submit for Review: Meta reviews WhatsApp templates (typically 24–48 hours); when no WhatsApp Business Account is connected, Sent's compliance team reviews the template per channel. See how template approval works.

If you create templates via the API instead, the same choice is the submit_for_review field on POST /v3/templates: it defaults to false (saved as a draft), and true submits the template for review immediately after creation.

Verify and copy the template ID

The new template appears in your templates list with status DRAFT if saved, or PENDING while review is in progress. Copy its template ID; you pass it as the template id when sending messages. Store it in your own database; it is the stable key for this template across all channels.

To track approval automatically, subscribe to templates webhook events; each event carries the template ID, channel, and new status.

Troubleshooting

SymptomLikely causeFix
The builder rejects the bodyA content rule failed: bodies cannot start or end with a newline, place variables back-to-back, or contain more than two consecutive line breaksAdjust the text; the full rules are in the content rules reference
Template stuck in PENDINGMeta review is still in progress (typically 24–48 hours)See template troubleshooting
Template REJECTEDThe reviewer declined the contentRevise the template and resubmit; the templates webhook event carries the rejection reason in its reason field

On this page