Step-by-Step Template Creator Manual

This guide walks business operators through creating, formatting, testing, and submitting a WhatsApp message template using the full-page creation studio at /templates/create.


Screen Navigation

  1. From the left sidebar, click Templates.
  2. On the top right of the Templates list, click the green button labeled Create New Template (Classic).
  3. The browser will navigate to:
    https://smsport.in/templates/create

Screen Layout Overview

The studio is organized into a balanced, high-efficiency two-column operational layout:

smsport.in/templates/create
Console Studio View
1. Authoring Form Plane Left Column (8 cols)
Template Name seasonal_promo
Language English (en)
Header (Optional) IMAGE / VIDEO / PDF / TEXT
Message Body & Toolbar Max 1024 chars
Hello *{{1}}*, your appointment with Dr. {{2}} is confirmed for {{3}}.
B I S + Add Variables
Submit Template Submits directly to Meta Cloud API
2. Live WhatsApp Device
S
SehatMsg
Official Business
🖼️ Header Media

Hello Mithun, your appointment with Dr. Sharma is confirmed for 10:30 AM.

10:45 AM ✓✓
🌐 View Appointment
📞 Call Reception

Field-by-Field Form Breakdown

Every field in the creation console is validated according to Meta's strict Cloud API specifications:

1. Template Name

  • Label on Screen: Template Name
  • Input Box Placeholder: e.g. seasonal_promo
  • Validation Pattern: /^[a-z0-9_]+$/
  • Maximum Length: 512 characters.
  • Allowed Characters: Strictly lowercase letters (a-z), numbers (0-9), and underscores (_).
  • Forbidden: NO capital letters, NO spaces, NO hyphens (-), NO special symbols (!, @, #, $, %).

[!WARNING]
Why strict naming matters: Meta's servers immediately reject any template name that contains uppercase letters or spaces with the error Invalid template name. Always use snake_case like appointment_reminder_v1 or diwali_discount_offer.


2. Template Language Code

  • Label on Screen: Template Language Code
  • UI Component: Searchable ISO-639-1 dropdown with English name and 2-letter language code (e.g. English (en), Hindi (hi), Spanish (es), Arabic (ar)).
  • Meta Link: Includes a direct hyperlink to Meta Template Formatting Help.
  • Data Acceptancy: The language selected here MUST match the actual written language of the message body.

[!IMPORTANT]
If you select English (en) but write your message text in Hindi or Arabic script, Meta's AI reviewer will reject the template within seconds for language mismatch.


3. WhatsApp Business Account (WABA)

  • Label on Screen: WhatsApp Business account
  • UI Component: Dropdown populated automatically with your connected WABA phone numbers.
  • Action: Select the specific business number under which this template will be registered.

4. Category

  • Label on Screen: Category
  • Allowed Options:
    1. MARKETING: Promotional messages, product announcements, discount vouchers, welcome offers, re-engagement campaigns.
    2. UTILITY: Transactional updates directly triggered by user actions—order confirmations, payment receipts, appointment reminders, shipping alerts.
    3. AUTHENTICATION: Time-based one-time passcodes (OTP). When selected, a notice appears directing operators to use Meta Business Manager for complex code expiration policies.

[!CAUTION]
Category Pricing & Rejection Risk: Meta charges different rates for Marketing and Utility conversations. If you submit promotional keywords (e.g. "Discount", "Offer", "50% off", "Buy Now") under UTILITY, Meta will reject it with code CATEGORY_MISMATCH. Refer to the Meta Rejection Prevention Guide.


5. Marketing Template Type (Visible when Category is MARKETING)

  • Label on Screen: Marketing Template Type
  • Options:
    • Standard (Text/Media): General marketing broadcasts with text, images, or buttons.
    • Call Permission Request: Special template asking the recipient for permission to call them.

6. Header (Optional)

  • Fieldset Legend: Header (Optional)
  • Format Dropdown: None, Text, Image, Document, Video.

If `Text` Header is Selected:

  • Input Label: Header Text (Max 60 characters).
  • Variables Allowed: At most one variable ({{1}}).
  • Header Samples: When {{1}} is used, an input box appears below labeled Header Samples where you must enter a sample value (e.g., Welcome {{1}} -> sample value Aarav).

If `Image`, `Document`, or `Video` is Selected:

  • A dashed green drag-and-drop dropzone appears:
☁️

Drag and drop image, video, or PDF here

or click to browse from your computer

Max size: Image 5MB • Video 16MB • PDF 100MB
* Clicking or dropping a file triggers the real-time upload progress spinner (`Uploading media...`). * The system automatically generates a Meta media upload handle and updates the phone mockup preview instantly. * See [Media Headers Specifications](/docs/templates/media-headers) for exact file sizes and aspect ratios.

7. Message Body (Required)

  • Fieldset Legend: Message Body
  • UI Component: Multi-line text area (default 5 rows).
  • Length Limit: Maximum 1,024 characters.
  • Formatting Toolbar (Right-aligned below textarea):
    • [B] Bold: Inserts *text*
    • [I] Italic: Inserts _text_
    • [S] Strikethrough: Inserts ~text~
    • [</>] Monospace: Inserts ```text```
    • [+ Add Variables] (Dark button with plus icon): Inserts the next sequential dynamic variable token ({{1}}, {{2}}, {{3}}) at your current text cursor position.

Critical Variable Placement Rules:

  1. No Variables at the Very Beginning: Do NOT start your message with {{1}}. Always precede it with text: Hello {{1}},.
  2. No Variables at the Very End: Do NOT end your message with a bare variable: ...contact us on {{1}}. Add punctuation or closing words: ...contact us on {{1}} for assistance.
  3. No Consecutive Variables: Writing {{1}}{{2}} or {{1}} {{2}} without fixed words between them will trigger an automatic Meta validation rejection.
  4. Must Be Sequential: Variables must count upwards: {{1}}, {{2}}, {{3}}. You cannot skip numbers or repeat indexes inconsistently.

8. Dynamic Variable Samples Table

Whenever you add variables {{1}}, {{2}} to your Message Body or Header, the Samples Text box automatically renders an input field for each variable index:

Live Samples Values (Required by Meta)
{{1}} Sample Aarav Patel
{{2}} Sample Dr. Mehta
{{3}} Sample Tomorrow at 10:30 AM

[!IMPORTANT]
Mandatory Meta Requirement: Meta human reviewers check these sample values to understand the exact context of your message. Leaving any sample input blank will prevent form submission.


  • Fieldset Legend: Footer (Optional)
  • Input Label: Plain text input (Max 60 characters).
  • Allowed Content: Static disclaimer or opt-out notices (e.g., Reply STOP to unsubscribe, Sent by SehatMsg Care Team).
  • Restrictions: NO formatting (bold, italic), and NO variables are allowed in footers.

10. Buttons (Optional)

  • Fieldset Legend: Buttons (Optional)
  • Allowed Maximum: Up to 10 buttons total combining Quick Replies and Call-to-Action (CTA) buttons.
  • Click the + Add button dropdown to choose between:
    • Visit website (URL button, max 2)
    • Call Phone Number (Voice dialer, max 1)
    • Copy offer code (Discount code copier, max 1)
    • Quick Reply (Fast customer response, up to 10)
    • Multi Product (Catalog commerce, max 1)

For complete rules and setup steps, refer to Interactive Buttons & Actions.


Live Mobile Preview Simulator

On the right side of the screen, the Template Preview card mirrors WhatsApp's native mobile user interface:

  1. Header Rendering: Displays your uploaded image or header headline in bold.
  2. Body Replacement: Shows how your formatted text appears, replacing {{1}} and {{2}} with the live sample text you typed in the Samples form.
  3. Footer & Timestamp: Shows muted small text with the current time (e.g. 11:42 AM).
  4. Button Rows: Renders stacked rounded action buttons so you can verify button text readability before submitting.

Submission & Verification Flow

When your template content is complete:

  1. Click the green Submit Template button at the bottom left of the form.
  2. The animated full-screen Template Submission Overlay appears:
Meta Submission & Approval Lifecycle
1 Validating

Client-side check for regex naming, variables, and length caps.

2 Submitting

Encrypted transmission to Meta Graph API v21.0 endpoint.

3 In Review

Meta automated AI screening and category verification.

4 Approved

Template synced to console; ready for immediate broadcasting.

  1. If Meta returns an error (e.g. duplicate template name or invalid parameter format), the overlay displays an explicit red error message detailing the issue.
  2. If successful, you are returned to /templates where your new template appears in the list with the yellow Pending Review badge.