Skip to main content
This is the full step-by-step walkthrough for creating a new template. If you’re new to templates, read Templates Overview first.

Before you start

Have these ready:
  • A clear purpose for the message (offer, reminder, confirmation).
  • Your copy in the target language.
  • If you want a media header: an image, video, or PDF sample file (Meta reviews it).
  • A valid template name — lowercase letters, digits, and underscores only.

Open the template builder

1

Go to Templates

In the sidebar, click Templates.
2

Click 'Add Template'

The button sits at the top of the template list.

Step 1 — Name, category, language

1

Enter a template name

Up to 512 characters. Must match the pattern ^[a-z0-9_]+$ — lowercase letters, digits, and underscores only. No spaces, no capital letters, no dashes. Examples: welcome_message, order_confirmation, april_sale_2026.
2

Pick a category

Choose Marketing or Utility. See Templates Overview for what each category means.
3

Pick a language

Xobito supports 80+ IANA language codes — en, en_US, es, pt_BR, hi, fr, de, ar, and many more. Pick the one that matches the language you will actually write the body in.
Template name must follow the strict pattern ^[a-z0-9_]+$. Anything else is rejected by the form before submission.

Step 2 — Header (optional)

The header appears at the top of the message. Choose one type:

None

No header — the body is the first thing the recipient sees.

Text

Plain text header. Supports one variable like {{1}}.

Image

Upload a sample JPG or PNG.

Video

Upload a sample MP4.

Document

Upload a sample PDF.
For IMAGE / VIDEO / DOCUMENT headers, you upload a sample file during creation. Meta uses it for review. When you later send the template (in a campaign or chat), you can attach a different file of the same type.
If you use a text header with a variable, provide an example value for Meta’s sample check.

Step 3 — Body (required)

The body is the main message text.
1

Write your core message

Keep it clear, friendly, and on-brand. WhatsApp users expect direct, conversational text.
2

Add variables where you want personalisation

Insert {{1}}, {{2}}, {{3}}… wherever you want a value swapped in at send time. Numbers must be sequential starting at {{1}}. See Dynamic Templates.
3

Provide example values

For each variable, enter a realistic sample value. Meta’s reviewers use these to see what a real message looks like. Use plausible values like Alex, A1042, Friday — not test or xxx.

Body formatting

WhatsApp supports basic rich formatting inside the body:
  • *bold* renders as bold
  • _italic_ renders as italic
  • ~strike~ renders with a line through
  • Triple backticks for monospace
  • Line breaks — press Enter

Example body

Example values: {{1}}=Alex, {{2}}=A1042, {{3}}=Friday. The footer is a small piece of grey text at the bottom of the message. Footers do not support variables. Typical uses:
  • Legal disclaimers — “Standard rates apply.”
  • Opt-out instructions — “Reply STOP to unsubscribe.”
  • Brand tagline.

Step 5 — Buttons (optional)

Xobito currently supports Quick Reply buttons on templates. Quick Reply buttons are tappable buttons that send a preset reply back to your WhatsApp number.
Meta’s template platform supports other button types (URL, Phone Number) too, but the Xobito template builder is focused on QUICK_REPLY handling today. If you need URL or phone buttons, check the builder for availability in your version — if they are not shown, use plain text with a link inside the body instead.
Typical Quick Reply use cases:
  • Order confirmation: Confirm / Change delivery.
  • Appointment reminder: I'll be there / Reschedule.
  • Quick survey: 👍 Good / 👎 Bad.

Step 6 — Preview and save

1

Check the live preview

The builder renders the template as it will appear on the recipient’s phone.
2

Read it out loud

Catch typos, awkward phrasing, or missing variable labels before Meta sees it.
3

Save

Saving the template submits it to Meta automatically. The status moves to PENDING while Meta reviews.

Template lifecycle

Once submitted, your template is one of four statuses:
Only APPROVED templates can actually be sent. Attempts to send a DRAFT, PENDING, or REJECTED template are blocked.
Meta rejection reasons are logged internally by Xobito but the exact rejection reason is not shown in the Xobito UI today. To understand why a template was rejected:
  • Check Meta Business Manager — rejection reasons appear there.
  • Or contact support to pull the server-side logs.
See Meta Approval for common rejection causes and fixes.

Using an approved template

Once the status turns green (APPROVED), you can use the template in:
  • Live chat — send the template directly inside any conversation.
  • Campaigns — pick it as the message for a broadcast. See Create a Campaign.
  • Template bots — schedule it to send automatically on a trigger or delay.
  • API — send via the /messages/template endpoint.

Tips for first-time template authors

Your first template should be a short plain-text message with no variables and no media. It’s the fastest path to approval and teaches you the flow.
Meta flags aggressive marketing language. 🎉🎉🎉 BIG SALE 50% OFF!!! is a near-guaranteed rejection.
welcome_new_customer_en is clearer than t1 or test_v3 — you’ll thank yourself later.
Approved templates cannot be edited — you create a new template instead. Adopt a naming convention like _v2 from the start.

Next steps

Dynamic templates

Personalise the message per recipient using variables.

Meta approval

Understand how reviews work and why templates get rejected.

Variables & media

Full reference for headers, media, and variable rules.

Run a campaign

Put your approved template to work.