---
url: >-
  https://docs.corbitaltech.dev/products/whatsmark-saas/tenant/create-template.md
description: >-
  Create WhatsApp message templates directly in WhatsMarkSaaS using WhatsApp
  Cloud API
---

# Create Template

WhatsMarkSaaS allows you to create WhatsApp message templates directly within the platform using the WhatsApp Cloud API. This feature provides a convenient way to create templates without leaving your WhatsMarkSaaS dashboard.

## Overview

The **Create Template** feature in WhatsMarkSaaS leverages the WhatsApp Cloud API to create message templates. While this provides convenience, it's important to understand that there are some limitations compared to creating templates directly in Meta Business Manager.

::: info Flow Templates Not Supported
Flow template creation is not supported in WhatsMarkSaaS. However, flow templates are supported for sending. You can create flow templates directly from your Meta WhatsApp account and then sync them using the [Load Template](./templates-library.md#load-template-feature) button.
:::

## Accessing Create Template

![Template Library Dashboard](../images/templates/template.png)

Navigate to **Tenant Area → Templates → click on Create Template** to access the template creation interface.

## Template Types

![Template Library Dashboard](../images/templates/template-type.png)

When you click the **Create Template** button, you'll be prompted to choose between two template types:

### 1. Header Template

A single-message template with text, image, or video header. This is the most common template type used for marketing, transactional messages, and customer communication.

**Use Cases:**

* Promotional messages
* Order confirmations
* Appointment reminders
* Customer notifications

### 2. Carousel Template

Show multiple cards with images, text, and button links for richer promotions. Each card can have its own image/video and call-to-action buttons.

**Key Features:**

* 2-10 interactive cards in a single message
* Individual images or videos per card
* Separate body text and buttons for each card
* Perfect for product showcases and catalogs

**Use Cases:**

* Product catalogs with multiple items
* Service package comparisons
* Multiple location showcases
* Feature highlights across products

::: info WhatsMarkSaaS Exclusive
Carousel templates can **only** be created in WhatsMarkSaaS (not available in Meta Business Manager). Introduced in version 1.6.0.
:::

::: tip Recommendation

* Use **Header Template** for single-product promotions or simple messages
* Use **Carousel Template** when showcasing multiple products or options
* Start with header templates if you're new to template creation
  :::

## Creating a Header Template

The header template creation process consists of 5 steps. Each step must be completed before moving to the next.

### Step 1: Basic Information

![Template Information 1](../images/templates/template-info-1.png)

The first step requires you to provide essential template details.

#### Template Name

The template name must follow Meta's naming conventions:

* **Lowercase letters only** (a-z)
* **Numbers allowed** (0-9)
* **Underscores allowed** (\_)
* **No spaces allowed**
* **No capital letters allowed**

::: warning Naming Rules
Template names like `welcome_message_2024` are valid, but `Welcome Message` or `welcome-message` are **not allowed**.
:::

**Examples of Valid Names:**

* `welcome_new_user`
* `order_confirmation_2024`
* `payment_reminder_01`
* `discount_offer_special`

**Examples of Invalid Names:**

* `Welcome Message`  (contains spaces and capitals)
* `order-confirmation`  (contains hyphen)
* `Payment Reminder`  (contains space and capitals)

#### Language

Select the language in which you're creating the template. This determines the language that will be used for template content and variables.

Available languages include:

* English (en_US, en_GB)
* Spanish (es)
* Portuguese (pt_BR)
* Indonesian (id)
* And many more...

#### Category

Choose the appropriate category for your template. WhatsApp offers three categories, each with different pricing and use cases:

| Category           | Purpose                            | Pricing       | Common Use Cases                                                                    |
| ------------------ | ---------------------------------- | ------------- | ----------------------------------------------------------------------------------- |
| **Marketing**      | Promotional content and offers     | Standard rate | Product launches, discounts, newsletters, promotional campaigns                     |
| **Utility**        | Transactional and service messages | Lower rate    | Order updates, account notifications, shipping confirmations, appointment reminders |
| **Authentication** | One-time passwords (OTP) only      | Standard rate | Login verification codes, password resets, 2FA codes                                |

::: tip Category Selection
Most templates are created in the **Marketing** category. Use **Utility** for transactional messages and **Authentication** only for OTP/verification codes. Meta has different pricing for each category.
:::

::: warning Authentication Category
Authentication templates are specifically designed for sending one-time passwords (OTPs) and verification codes only. They should not be used for other purposes. The creation flow for authentication templates is different - see [Creating Authentication Templates](#creating-authentication-templates) below.
:::

Once you've filled in all the basic information, click **Next** to proceed to the next step.

**Note:** If you selected **Authentication** category, the flow will be different. Skip to the [Creating Authentication Templates](#creating-authentication-templates) section.

### Step 2: Header Configuration

![Template Header](../images/templates/template-header.png)

Headers make your messages stand out and provide visual context. Headers are optional but recommended for better engagement.

#### Include Header

Check the **Include Header** checkbox to add a header to your template. If unchecked, your template will only have a message body.

#### Header Types

WhatsMarkSaaS supports 4 types of headers:

##### 1. Text Header

Add a text header to your template. Text headers support dynamic variables.

**Features:**

* Maximum 60 characters
* Supports 1 dynamic variable `{{1}}`
* Ideal for personalized greetings

**Example:**

```
Welcome {{1}}!
```

When sending, you can replace `{{1}}` with the customer's name: `Welcome John!`

##### 2. Image Header

Add an image to make your template visually appealing.

**Requirements:**

* **Sample image required** at creation time
* Supported formats: JPG, PNG.
* Maximum file size: 5MB
* You can send different images when using the template

**Use Cases:**

* Product images
* Promotional banners
* Visual announcements

##### 3. Video Header

Add a video to create engaging multimedia templates.

**Requirements:**

* **Sample video required** at creation time
* Supported formats: MP4, 3GP
* Maximum file size: 16MB
* You can send different videos when using the template

**Use Cases:**

* Product demonstrations
* Tutorial videos
* Promotional videos

##### 4. Document Header

Add a document for sharing files with customers.

**Requirements:**

* **Sample document required** at creation time
* Supported formats: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX
* Maximum file size: 100MB
* You can send different documents when using the template

**Use Cases:**

* Invoices
* Receipts
* Terms and conditions
* Product catalogs

::: info Sample Attachments
For Image, Video, and Document headers, you must upload a sample attachment during template creation. At sending time, you can use different media files of the same type.
:::

You can either:

* **Upload a file** by dragging and dropping or browsing
* **Provide a URL** to the media file hosted online

Click **Next** after configuring your header (or skip if not using a header).

### Step 3: Message Body

![Template Message Body](../images/templates/template-message.png)

This is the main content section where you write your template message.

#### Message Content

Write the primary message text that will be sent to your customers. This is the only **required** section of the template.

**Character Limit:** 1024 characters (including variables and formatting)

#### Dynamic Variables

You can add dynamic variables to personalize your messages. Variables are represented as `{{1}}`, `{{2}}`, `{{3}}`, etc.

**How to Add Variables:**

1. Click the **+ Add Variable** button
2. A new variable placeholder is inserted in your text
3. Variables are automatically numbered sequentially

**Example Message Body:**

```
Hello {{1}},

Your order #{{2}} has been confirmed!

Total Amount: {{3}}
Expected Delivery: {{4}}

Thank you for shopping with us!
```

When sending, you can replace:

* `{{1}}` with customer name
* `{{2}}` with order number
* `{{3}}` with order total
* `{{4}}` with delivery date

#### Text Formatting

You can format your message text using the formatting toolbar:

* **Bold**: Surround text with asterisks `*bold text*`
* **Italic**: Surround text with underscores `_italic text_`
* **Strikethrough**: Surround text with tildes `~strikethrough~`
* **Code**: Surround text with backticks `` `code` ``

**Formatted Example:**

```
*Important Update*

Your subscription expires in _3 days_.

Renew now to avoid ~disruption~ service interruption.
```

::: tip Formatting Tips

* Use **bold** for important information
* Use *italic* for emphasis
* Keep formatting minimal for better readability
* Test how formatting appears on mobile devices
  :::

Click **Next** to proceed to the footer section.

### Step 4: Footer Configuration

![Template Footer](../images/templates/template-footer.png)

Footers are optional text elements that appear at the bottom of your template, typically used for disclaimers or additional information.

#### Footer Text

Add a short text footer to provide extra context or disclaimers.

**Features:**

* Maximum 60 characters
* No variables allowed
* Appears in smaller, gray text
* Optional but recommended for legal disclaimers

**Common Footer Examples:**

* `Reply STOP to unsubscribe`
* `Terms and conditions apply`
* `Powered by Your Company`
* `This is an automated message`

::: info Footer Usage
Footers are useful for adding disclaimers, unsubscribe instructions, or branding without cluttering the main message body.
:::

Click **Next** to proceed to the buttons section.

### Step 5: Interactive Buttons

![Template Information 1](../images/templates/template-button.png)

Buttons enhance interactivity and improve engagement by providing clear call-to-action options. You can add up to 3 buttons per template.

WhatsMarkSaaS supports 3 types of buttons:

#### 1. Quick Reply Buttons

Quick reply buttons allow customers to respond with predefined text options.

**Features:**

* Maximum 3 quick reply buttons
* Each button can have up to 25 characters
* Clicking a button sends the button text as a reply
* Ideal for simple choices

**Use Cases:**

* `Yes` / `No` responses
* `Confirm Order`
* `View Details`
* `Contact Support`

**Example Configuration:**

* Button 1: `Confirm Order`
* Button 2: `Modify Order`
* Button 3: `Cancel Order`

#### 2. Website URL Buttons

Website URL buttons redirect customers to a specific webpage when clicked.

**Features:**

* Button text: Up to 25 characters
* URL: Must be a valid HTTPS URL
* Can use dynamic URLs with variables
* Opens link in the default browser

**Use Cases:**

* `View Product` → Product page
* `Track Order` → Tracking page
* `Shop Now` → Website
* `Download Invoice` → Invoice link

**Example Configuration:**

* Button Text: `Track Order`
* URL: `https://yourwebsite.com/track`

##### Dynamic Button URL Variables&#x20;

You can include `{{1}}` anywhere in the Website URL to make it dynamic. When you send this template (from Campaign, Bot Flow, Initiate Chat, Template Bot, or Ecommerce), WhatsMark shows a **Button URL Variables** input where you fill in what replaces `{{1}}`.

You can enter a **static value** (e.g., an order number) or type `@` to pick a **merge field** (e.g., `{contact_id}`) that auto-fills with each recipient's real data:

```
URL in template:        https://yoursite.com/invoice/{{1}}
You enter:              {contact_id}
Sent to John (ID 42):   https://yoursite.com/invoice/42
Sent to Sarah (ID 91):  https://yoursite.com/invoice/91
```

::: tip
For the full list of available merge fields, where this works, and real-world examples, see the [Dynamic Button URL Variables](./dynamic-button-url.md) guide.
:::

#### 3. Phone Number Buttons

Phone number buttons allow customers to call your business with one tap.

**Features:**

* Button text: Up to 25 characters
* Phone number: Must include country code
* Clicking opens the phone dialer
* Ideal for customer support

**Use Cases:**

* `Call Us`
* `Contact Support`
* `Schedule Appointment`
* `Emergency Contact`

**Example Configuration:**

* Button Text: `Call Support`
* Phone Number: `+1234567890`

::: tip Button Best Practices

* Use clear, action-oriented text
* Limit to 2-3 buttons for better UX
* Quick reply buttons work best for simple choices
* URL buttons are ideal for driving traffic
* Phone buttons improve customer support accessibility
  :::

#### Button Type Selection

Select the appropriate button type from the dropdown:

* **Quick Reply** - For simple text responses
* **Website URL** - For directing to web pages
* **Phone Number** - For initiating phone calls

You can add multiple buttons by clicking the **+ Add** button. To remove a button, click the delete icon next to it.

### Step 6: Submit Template

Once you've completed all the required sections, click the **Create Template** button to submit your template to Meta for review.

## Template Submission & Approval Process

### Submission to Meta

When you click **Create Template**, the template data is sent directly to Meta's WhatsApp Business API for validation.

**What Happens:**

1. Template data is validated against Meta's guidelines
2. If validation passes, template is submitted to Meta
3. Initial status is set to **PENDING**
4. Meta begins the review process

**If Errors Occur:**

* An error message will be displayed
* Review the error details and correct the issues
* Common errors include invalid naming, excessive variables, or policy violations
* Resubmit after making corrections

### Approval Timeline

**Review Duration:** 24-48 hours (typically)

Meta reviews all templates to ensure they comply with WhatsApp Business Policy and Template Guidelines.

**Possible Statuses:**

* **PENDING** - Under review by Meta
* **APPROVED** - Template is ready to use
* **REJECTED** - Template violates guidelines (with rejection reason)

### Tracking Template Status

You can track your template's approval status in two ways:

#### 1. Automatic Webhook Updates

If you have subscribed to the following webhook fields, status updates are automatically reflected:

* `message_template_status_update`
* `template_category_update`

Status changes are immediately synced to your WhatsMarkSaaS dashboard.

#### 2. Manual Load Template Sync

If webhooks are not configured, you can manually sync template status:

1. Go to [Templates](./templates-library.md)
2. Click the **Load Template** button
3. All template statuses will be updated from Meta

::: tip Webhook Configuration
Set up webhooks for automatic status updates. This ensures your template library is always up-to-date without manual intervention. See the [WhatsApp Webhook Configuration](../admin/whatsapp-configuration.md) guide.
:::

## Creating Carousel Templates

Carousel templates allow you to showcase multiple products, services, or offerings in a single message with interactive cards. Each card can have its own image/video, text, and buttons, making them perfect for rich promotional content.

::: info New Feature - v1.6.0
Carousel templates were introduced in WhatsMarkSaaS v1.6.0. This feature allows you to create carousel templates directly within WhatsMarkSaaS - carousel creation is **not available** in Meta Business Manager.
:::

::: warning Marketing Only
Carousel templates are designed exclusively for **Marketing** purposes. Do not select the Authentication category when creating carousel templates. Utility category may work, but Marketing is the recommended and primary use case.
:::

::: tip Official Documentation
For more details on WhatsApp Carousel Templates, refer to:

* [Meta Business Messaging - Media Card Carousel Templates](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/marketing-templates/media-card-carousel-templates)
* [WhatsApp Templates Overview](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/overview)
  :::

### What Makes Carousel Templates Special

**Unique Advantages:**

* **Multiple cards**: Show 2-10 products/services in one message
* **Rich visuals**: Each card can have its own image or video
* **Individual CTAs**: Different buttons for each card
* **Higher engagement**: Interactive format captures attention
* **WhatsMarkSaaS exclusive**: Can only be created in WhatsMarkSaaS (not in Meta Dashboard)

**Perfect For:**

* Product catalogs with multiple items
* Service package comparisons
* Event schedules with different sessions
* Multiple location showcases
* Feature highlights across products
* Special offers with various options

### Step 1: Basic Information

![Template Information](../images/templates/template-info-1.png)

The first step for carousel templates is identical to header templates.

#### Template Name

Follow the same naming conventions:

* **Lowercase letters only** (a-z)
* **Numbers allowed** (0-9)
* **Underscores allowed** (\_)
* **No spaces or hyphens**
* **No capital letters**

**Example carousel names:**

* `product_catalog_2024`
* `summer_collection`
* `service_packages`
* `featured_products`

#### Language

Select the language for your carousel template content.

#### Category

**Important:** Select **Marketing** category for carousel templates.

::: danger Category Restriction
Do not select **Authentication** category for carousel templates. Carousel templates are for promotional and marketing purposes only. Authentication templates follow a completely different structure for OTP delivery.
:::

**Recommended Category:**

* **Marketing** - Best for promotional content, product showcases, offers
* **Utility** - May work but not recommended
* **Authentication** - Not compatible with carousel format

Click **Next** to proceed to the message body section.

### Step 2: Message Body

![Carousal Mesage Body](../images/templates/carousal-message.png)

Just like header templates, carousel templates require a message body that appears before the cards.

#### Message Content

Write your main message text that introduces the carousel cards.

**Character Limit:** 1024 characters

#### Dynamic Variables

Add variables using `{{1}}`, `{{2}}`, `{{3}}`, etc., for personalization.

**Example Message Body:**

```
Hello {{1}}!

Check out our latest collection specially curated for you. Browse through our featured products below and find your perfect match!

Tap on any product to learn more or place an order.
```

#### Text Formatting

Use formatting to enhance your message:

* **Bold**: `*text*`
* **Italic**: `_text_`
* **Strikethrough**: `~text~`
* **Code**: `` `text` ``

::: tip Carousel Intro
Use the message body to provide context for the carousel cards. Keep it concise and include a clear call-to-action encouraging users to explore the cards.
:::

Click **Next** to proceed to the cards section.

### Step 3: Cards Section

![Carousal Cards](../images/templates/carousal-cards-1.png)

![Carousal Cards](../images/templates/carousal-cards-2.png)

This is the core of your carousel template where you define multiple interactive cards.

#### Card Requirements

**Mandatory Elements per Card:**

* **Header** (Image or Video) - Required
* **Body Text** - Required
* **Buttons** (1-2 buttons) - Required

**Card Limits:**

* **Minimum**: 2 cards required
* **Maximum**: 10 cards allowed

::: warning Card Requirements
All cards must have a header (image/video), body text, and at least one button. Incomplete cards cannot be saved.
:::

#### Adding Cards

1. By default, 2 card slots are provided
2. Click **+ Add Card** to add more cards (up to 10)
3. Each card can be expanded/collapsed for easier editing
4. Cards are numbered automatically (Card 1, Card 2, etc.)

#### Card Configuration

For each card in your carousel, configure the following:

##### Header (Required)

Choose the header type for each card:

**Image Header**

Upload an image to represent this card's content.

**Requirements:**

* Supported formats: JPG, PNG
* Maximum file size: 5MB
* Recommended: High-quality product images
* Each card can have a different image

**Upload Options:**

* Drag and drop an image file
* Browse and select from your device
* Provide a direct URL to the image

**Video Header**

Upload a video for more engaging content.

**Requirements:**

* Supported formats: MP4, 3GP
* Maximum file size: 16MB
* Each card can have a different video
* Keep videos short for better engagement

::: tip Header Consistency
While you can mix images and videos across cards, it's recommended to keep header types consistent across all cards for a more cohesive user experience.
:::

##### Body Text (Required)

Write descriptive text for this specific card.

**Features:**

* Separate body text for each card
* Describe the product, service, or offering
* Use dynamic variables if needed
* Keep it concise and compelling

**Example Card Body:**

```
Premium Cotton T-Shirt
Price: $29.99

Available in multiple colors and sizes. Made from 100% organic cotton.
```

##### Buttons (Required)

Each card must have at least one button (maximum 2 buttons per card).

**Supported Button Types:**

###### 1. Quick Reply Button

Users can tap to send a predefined text response.

**Features:**

* Button text: Maximum 25 characters
* Response text sent automatically on tap
* Ideal for simple inquiries or selections

**Example:**

* Button Text: `View Details`
* Button Text: `Buy Now`
* Button Text: `Learn More`

###### 2. Website URL Button

Direct users to a specific webpage for this card.

**Features:**

* Button text: Maximum 25 characters
* URL: Must be a valid HTTPS URL
* Can use dynamic variables in URL
* Each card can have different URLs

**Example:**

* Button Text: `Shop Now`
* URL: `https://yourstore.com/product/{{1}}`

**Use Case:** Perfect for directing to individual product pages, booking pages, or specific landing pages.

###### 3. Phone Number Button

Allow users to call directly from the card.

**Features:**

* Button text: Maximum 25 characters
* Phone number with country code
* Opens phone dialer on tap
* Useful for appointment bookings or sales inquiries

**Example:**

* Button Text: `Call to Order`
* Phone: `+1234567890`

::: info Button Combination
You can have different button combinations on different cards. For example:

* Card 1: Quick Reply + Website URL
* Card 2: Quick Reply + Phone Number
* Card 3: Website URL only
  :::

#### Card Best Practices

**Header Images/Videos:**

* Use high-resolution, professional images
* Maintain consistent aspect ratios across cards
* Show clear product or service visuals
* Optimize file sizes for faster loading

**Body Text:**

* Keep descriptions concise (1-3 lines)
* Highlight key features or benefits
* Include pricing if applicable
* Use consistent formatting across cards

**Buttons:**

* Use action-oriented button text
* Keep button text short and clear
* Ensure URLs are correct and functional
* Test buttons before submitting

**Card Organization:**

* Order cards logically (e.g., by price, popularity, category)
* Put the most important items first
* Group related items together
* Limit to 4-6 cards for optimal user experience

### Step 4: Submit Template

Once you've configured your message body and all cards, review your carousel template in the preview panel.

**Pre-Submission Checklist:**

* Template name follows naming conventions
* Message body is clear and engaging
* Minimum 2 cards created (maximum 10)
* Each card has a header (image/video)
* Each card has body text
* Each card has at least 1 button
* All URLs are valid and functional
* Button text is clear and action-oriented

Click **Create Template** to submit your carousel template to Meta for approval.

## Carousel Template Submission & Approval

The submission and approval process for carousel templates is identical to header templates:

1. Template data is sent to Meta for validation
2. Initial status: **PENDING**
3. Meta review: 24-48 hours (typically)
4. Status updates via webhooks or manual sync using **Load Template**
5. Once **APPROVED**, ready to use in campaigns

::: tip Carousel Approval
Carousel templates may take slightly longer to approve as Meta reviews multiple cards and their content. Ensure all cards comply with WhatsApp Business Policy.
:::

## Using Approved Carousel Templates

::: info Feature Availability - v1.6.0+
Carousel template support is currently available in the following features. More integrations coming in future updates.
:::

### Currently Supported Features (v1.6.0)

Once your carousel template is approved, you can use it in:

#### 1. Template Bot

Configure automated responses using carousel templates based on user keywords or triggers.

**Use Case:** Send product catalogs automatically when customers ask about products or services.

**Learn More:** [Template Bot Documentation](./template-bot.md)

#### 2. Initiate Chat from Contacts

Start conversations with individual contacts using carousel templates.

**Use Case:** Send personalized product recommendations to specific customers.

**How to Access:**

* Go to Contacts
* Select a contact
* Click "Initiate Chat"
* Choose your approved carousel template

#### 3. Initiate Chat from Chat Interface

Send carousel templates directly during active conversations.

**Use Case:** Share product catalogs while chatting with customers in real-time.

**How to Access:**

* Open an active chat conversation
* Click on template icon
* Select your approved carousel template
* Send to the customer

### Coming Soon

Additional carousel template support will be added to:

* Campaign Manager (broadcast campaigns)
* Bulk Campaigns (CSV uploads)
* Ecommerce Webhooks (automated notifications)

::: tip Stay Updated
Check the [Release Notes](../releases.md) for updates on new carousel template integrations in future versions.
:::

## Carousel vs. Header Templates

| Feature              | Carousel Template                 | Header Template                        |
| -------------------- | --------------------------------- | -------------------------------------- |
| Cards                | 2-10 cards                        | Single message                         |
| Header per Card      | Image or Video                    | Text/Image/Video/Document (one header) |
| Body Text            | Per card + intro                  | Single body                            |
| Buttons              | Per card (1-2 buttons)            | Template level (up to 3)               |
| Best For             | Product catalogs, multi-offerings | Single product, simple messages        |
| Category             | Marketing primarily               | Marketing, Utility, Authentication     |
| Creation Location    | WhatsMarkSaaS only                | WhatsMarkSaaS or Meta Dashboard        |
| Introduced           | v1.6.0                            | v1.4.0                                 |
| Current Availability | Template Bot, Initiate Chat       | All features                           |

## Carousel Template Limitations

**API Limitations:**

* Cannot create carousel templates in Meta Business Manager
* Document headers not supported in carousel cards
* Text-only headers not available for cards
* Maximum 2 buttons per card (vs 3 in regular templates)
* Limited feature availability (expanding in future updates)

**Card Limitations:**

* Minimum 2 cards required
* Maximum 10 cards allowed
* Each card must have all three elements (header, body, buttons)
* Cannot mix different header types (all images or all videos recommended)
* Headers must be image or video only (no text headers)

**Usage Limitations:**

* Currently limited to Template Bot and Initiate Chat features
* Not yet available in Campaign Manager, Bulk Campaigns, Bot Flow
* Full feature integration coming in future releases

::: warning Exclusive to WhatsMarkSaaS
Unlike header templates that can be created in both WhatsMarkSaaS and Meta Business Manager, carousel templates can **only** be created in WhatsMarkSaaS. This gives you exclusive control over carousel template creation through the platform.
:::

## Creating Authentication Templates

::: info New Feature - v1.6.0
Authentication templates were introduced in WhatsMarkSaaS v1.6.0. This feature allows you to create Authentication templates directly within WhatsMarkSaaS.
:::

### What are Authentication Templates?

Authentication templates enable businesses to **send OTP or verification codes to authenticate users** without requiring the user to initiate a conversation on WhatsApp. These templates follow a standardized, auto-generated format optimized specifically for one-time password delivery.

### Primary Use Cases

Authentication templates are ideal for:

* **Account Verification** – Verify user identity during signup or login
* **Password Resets** – Securely send password reset codes
* **Two-Factor Authentication (2FA)** – Add an extra layer of security to your apps
* **Transaction Confirmations** – Verify sensitive transactions with OTP codes
* **Delivery Code Transmission** – Send package delivery verification codes

::: warning Authentication Only
Authentication templates can **only** be used for OTP and verification code delivery. They cannot be used for marketing, promotional messages, or general communication purposes.
:::

### Key Differences from Regular Templates

**What Makes Authentication Templates Special:**

* **No user initiation required** – Send codes without users messaging first
* **Auto-generated message format** – Ensures security and consistency
* **Special OTP button types** – Copy Code, One-Tap Autofill, Zero-Tap
* **Shorter Time-To-Live** – 10-minute TTL vs. 30 days for standard templates
* **No customization** – Cannot modify message body, add headers, or custom footers
* **Single variable only** – Only the OTP code placeholder is available

::: tip Official Documentation
For more details on WhatsApp Authentication Templates, refer to:

* [Meta Business Messaging - Authentication Templates](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/authentication-templates/authentication-templates)
* [WhatsApp Templates Overview](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/overview)
  :::

### Step 1: Basic Information

![Authentication Template](../images/templates/auth-template.png)

After selecting **Authentication** as the category in Step 1, you'll proceed to a simplified 2-step flow.

Fill in the required details:

* **Template Name**: Follow the same naming rules (lowercase, underscores, numbers only)
* **Language**: Select the language for your OTP template
* **Category**: Already selected as **Authentication**

Click **Next** to proceed to Authentication Configuration.

### Step 2: Authentication Configuration

![Authentication Template](../images/templates/auth-body-1.png)

![Authentication Template](../images/templates/auth-body-2.png)

![Authentication Template](../images/templates/auth-body-3.png)

This step configures how OTP messages are structured and delivered.

#### Message Body (Auto-generated)

Authentication templates use a **fixed, auto-generated message format** that cannot be customized. The standardized message is:

```
*{{1}}* is your verification code.
```

**Understanding the format:**

* `{{1}}` is a placeholder that gets replaced with your actual OTP code when sending
* Example result: `*123456* is your verification code.`
* The message text is standardized by Meta for security purposes and cannot be modified
* This ensures consistency and trust across all WhatsApp authentication messages globally

::: warning No Customization Allowed
You cannot change the message body text, add your company name, or modify the format. Meta standardizes this to maintain security and user trust across all OTP messages.
:::

#### Security Recommendation (Optional)

Check the **Add Security Recommendation** checkbox to include a warning message about not sharing the code with others.

**Purpose:**

* Adds an extra security notice to protect users from phishing
* Educates users not to share OTP codes
* Recommended for enhanced security compliance

**Example with security recommendation:**

```
*123456* is your verification code.

 For your security, do not share this code with anyone.
```

#### Footer Configuration

**Add Code Expiration** (Optional)

Check this option to display when the verification code will expire.

**Features:**

* Informs users how long the OTP remains valid
* Creates urgency for code usage
* Improves user experience with clear expectations

**Example with expiration:**

```
*123456* is your verification code.

This code expires in 10 minutes.
```

#### Button Configuration

Authentication templates support special OTP button types to enhance the user experience and security.

**OTP Button Types:**

##### 1. Copy Code

The Copy Code button allows users to tap once to copy the OTP code to their clipboard for manual entry into your app or website.

**Features:**

* One-tap copy functionality reduces friction
* Significantly reduces manual typing errors
* Works universally on all devices (Android, iOS, Web)
* Button text: "Copy Code" (default) or custom text up to 25 characters
* Simple and reliable across all platforms

**Best Use Case:** Recommended for general OTP delivery across all platforms, especially web applications

**Limitations:**

* Does not support URLs in the button
* Media attachments not supported
* Emojis not allowed in button text

##### 2. One-Tap Autofill

One-Tap Autofill enables Android users to automatically fill the OTP code directly into your app with a single tap. When users tap the autofill button, WhatsApp triggers your Android app and passes the verification code automatically.

**Features:**

* Seamless, one-tap integration with Android apps
* No manual copying or typing required
* Significantly reduces friction in the authentication process
* Improves user experience and conversion rates
* **Note:** On iOS devices, this automatically falls back to Copy Code behavior

**Best Use Case:** Ideal for native mobile apps with Android integration and users

**Requirements:**

* Your Android app must be properly configured with WhatsApp integration
* Package name must be registered with your WhatsApp Business Account
* Requires Android app development integration (SDK setup)
* Works on Android only (iOS users automatically see Copy Code button instead)

##### 3. Zero-Tap

Zero-Tap provides completely automatic verification without any user interaction. The OTP code is automatically captured and verified by your Android app using a broadcast receiver—users don't need to tap anything.

**Features:**

* Fully automatic OTP verification (no taps required)
* No user action needed—completely seamless experience
* Highest level of convenience and best conversion rates
* Requires advanced Android app integration with broadcast receiver
* Uses Android broadcast receiver to automatically capture the OTP code

**Best Use Case:** Premium user experience for apps with full WhatsApp Business API integration

**Requirements:**

* Advanced Android app integration with broadcast receiver implementation
* Package name must be registered with WhatsApp Business Account
* Proper WhatsApp Business API configuration and setup
* Your app must be designed to handle automatic OTP verification flow
* Android only (not available on iOS devices)

**Button Text** (Optional)

Customize the button text if desired (maximum 25 characters). Default is "Copy Code".

::: tip Button Type Selection

* **Copy Code**: Works for all users, recommended for most use cases
* **One-Tap Autofill**: Use if you have an Android app and want better UX
* **Zero-Tap**: Use only if you have full Android integration and want automatic verification
  :::

#### Advanced Settings

**Message Time-To-Live (TTL)**

Configure how long the OTP message remains valid before expiring. Authentication templates have a special TTL handling different from standard templates.

**Settings:**

* **Range**: 60-600 seconds (1-10 minutes)
* **Recommended**: 600 seconds (10 minutes)
* **Default**: 600 seconds

**Why TTL matters:**

* Authentication templates have a default 10-minute TTL, much shorter than the 30-day TTL for standard messages
* Meta automatically stops delivery attempts after TTL expires without sending you a notification
* The TTL setting balances security requirements with user convenience
* Shorter TTL = Higher security but may frustrate users who need more time
* Longer TTL = Better user experience but slightly reduced security

**Best Practices:**

* Use 600 seconds (10 minutes) for most use cases
* Use 300 seconds (5 minutes) for high-security applications
* Use 120 seconds (2 minutes) for real-time verification only

::: warning TTL Configuration
Once the TTL expires, the OTP code becomes invalid and Meta will stop delivery attempts. Users will need to request a new code. Set an appropriate duration based on your use case - too short may frustrate users, too long may reduce security. Note that authentication templates have a default 10-minute TTL, much shorter than the 30-day TTL for standard messages.
:::

### Authentication Template Best Practices

**Before Sending:**

1. **Verify recipient numbers** – Confirm WhatsApp numbers are valid before sending OTP codes
2. **Communicate delivery method** – Inform users they'll receive codes via WhatsApp
3. **Set appropriate TTL** – Match code expiration time with TTL settings (recommend 600 seconds for balance between security and UX)

**Configuration:**

1. **Enable security recommendation** – Add "do not share this code" warning to protect users from phishing attacks
2. **Add code expiration footer** – Clearly indicate when the code expires to create urgency and improve user experience
3. **Choose the right button type**:
   * **Copy Code**: Best for web apps and general use (works on all platforms)
   * **One-Tap Autofill**: Ideal for Android mobile apps (requires app integration)
   * **Zero-Tap**: Only for apps with advanced Android integration (best UX but complex setup)

**Testing & Deployment:**

1. **Test thoroughly** – Verify OTP delivery, button functionality, and code capture work correctly across devices
2. **Monitor delivery rates** – Track failed deliveries and TTL expiration rates
3. **Optimize TTL based on data** – Adjust TTL if you see high expiration rates or user complaints

### Authentication Template Limitations

**Message Restrictions:**

* Cannot customize message body text (auto-generated only)
* No header support (text, image, video, document)
* No custom footer text (only expiration info allowed)
* Cannot add additional variables beyond OTP code
* Must be used only for authentication purposes

**Button Limitations:**

* Limited to OTP button types only (Copy Code, One-Tap, Zero-Tap)
* No URLs supported in buttons
* No media attachments
* No emojis allowed in button text

**Delivery & Pricing:**

* Higher messaging rates compared to Marketing/Utility templates
* 10-minute TTL (much shorter than 30-day standard TTL)
* Meta stops delivery after TTL without notification
* International rates may vary based on conversation volume

### Authentication vs. Regular Templates

| Feature           | Authentication Template           | Header Template            |
| ----------------- | --------------------------------- | -------------------------- |
| **Message Body**  | Auto-generated only               | Fully customizable         |
| **Headers**       |  Not supported                  |  4 types available       |
| **Footer**        | Expiration info only              | Custom text (60 chars)     |
| **Variables**     | 1 (OTP code only)                 | Unlimited                  |
| **Buttons**       | OTP-specific (Copy/Autofill/Zero) | Quick Reply, URL, Phone    |
| **Button Limits** | No URLs, media, or emojis         | Full customization         |
| **Use Case**      | OTP/2FA/Verification only         | All communication types    |
| **TTL**           | 10 minutes default                | 30 days default            |
| **Pricing**       | Higher rate                       | Standard/Lower rate        |
| **Delivery**      | Stops after TTL expires           | Standard WhatsApp delivery |
| **iOS Support**   | Copy Code only                    | Full feature support       |
| **Android**       | Copy/One-Tap/Zero-Tap             | Full feature support       |

## Using Approved Templates

Once your template is approved, you can use it across multiple features in WhatsMarkSaaS:

::: info Template Type Availability
**Header & Authentication templates** are available across all features below. **Carousel templates** have limited availability - see [Carousel Template Usage](#using-approved-carousel-templates) for details.
:::

### Template Bot

Automate customer conversations by configuring template responses based on keywords or triggers.

**Supports:** Header Templates, Authentication Templates, Carousel Templates

**Learn More:** [Template Bot Documentation](./template-bot.md)

### Initiate Chat

Start conversations with customers by sending approved templates.

**Supports:** Header Templates, Authentication Templates, Carousel Templates

### Campaigns

Create broadcast campaigns using approved templates to reach multiple customers.

**Supports:** Header Templates, Authentication Templates
**Carousel Support:** Coming soon

**Learn More:** [Campaign Manager](./campaign-manager.md)

### Bulk Campaigns

Send bulk messages to large contact lists using CSV files.

**Supports:** Header Templates, Authentication Templates
**Carousel Support:** Coming soon

**Learn More:** [Bulk Campaign](./bulk-campaign.md)

### Ecommerce Addon

Configure templates for automated order notifications, shipping updates, and transactional messages.

**Supports:** Header Templates, Authentication Templates
**Carousel Support:** Coming soon

**Learn More:** [Ecommerce Webhook Notifications](/products/ecommerce-webhook-notifications-for-whatsmarks-saas/)

::: warning API Limitations
For advanced template types not supported via API, create them directly in [Meta Business Manager](https://business.facebook.com/wa/manage/message-templates/) and then sync using the **Load Template** button.
:::

## Best Practices

### Template Design

1. **Keep it concise** - Shorter messages have better engagement
2. **Use clear CTAs** - Make buttons action-oriented
3. **Personalize with variables** - Use variables for names, order IDs, dates
4. **Test before sending** - Preview templates before submitting
5. **Follow Meta's guidelines** - Ensure compliance with WhatsApp policies

### Naming Conventions

* Use descriptive names: `order_confirmation_retail`
* Include version numbers if needed: `welcome_v2`
* Group related templates: `promo_summer_2024`, `promo_winter_2024`
* Avoid generic names: Use `shipping_notification` not `template1`

### Variable Usage

* **Limit variables** - Too many variables can be confusing
* **Name variables clearly** - Document what each variable represents
* **Provide examples** - Show sample values for each variable
* **Test with real data** - Ensure variables work with actual use cases

### Category Selection

* **Marketing** - For promotional content and offers
* **Utility** - For transactional updates (cheaper pricing)
* **Authentication** - Only for OTP and verification codes

### Media Guidelines

* **Optimize images** - Compress images to reduce size
* **Use high quality** - Ensure media is clear and professional

## Alternative Creation Methods

While WhatsMarkSaaS provides a convenient interface for creating templates, you can also create templates through:

1. **Meta Business Manager** - Create templates directly in [WhatsApp Manager Dashboard](https://business.facebook.com/wa/manage/message-templates/)
2. **WhatsApp Cloud API** - Use Meta's API for programmatic template creation
3. **WhatsMarkSaaS Platform** - Current method (documented above)

**Note:** Carousel templates can **only** be created in WhatsMarkSaaS - they are not available in Meta Business Manager.

After creating templates through any method, sync them to WhatsMarkSaaS using the [Load Template](./templates-library.md#load-template-feature) button.

## Additional Resources

**WhatsMarkSaaS Documentation:**

* [Template Library Documentation](./templates-library.md)
* [Template Bot Configuration](./template-bot.md)
* [Campaign Manager](./campaign-manager.md)

**Official WhatsApp Documentation:**

* [WhatsApp Business Policy](https://www.whatsapp.com/legal/business-policy)
* [WhatsApp Templates Overview](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/overview)
* [Authentication Templates Guide](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/authentication-templates/authentication-templates)
* [Carousel Templates Guide](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/marketing-templates/media-card-carousel-templates)
* [WhatsApp Message Template Guidelines](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines)
* [Template Creation Best Practices](https://developers.facebook.com/docs/whatsapp/message-templates/creation)
