HSM Templates
| 10 minutes read | Level: Beginner | Last Updated: January 2026 |
HSM (Highly Structured Message) templates are pre-approved message formats required for sending outbound messages to contacts outside the 24-hour WhatsApp session window. These templates help ensure compliance with WhatsApp’s policies and are commonly used to send notifications, alerts, or support messages. Templates can include placeholders for personalized content and are essential for initiating conversations once the 24- hour session window has expired.
Session Window - A session window refers to the 24-hour period following a user's initial interaction with your business on WhatsApp. During this time, you can send unlimited messages to the user without additional costs. If the user doesn't respond within that window, you must wait for them to initiate contact again or use a pre-approved message template to reach out.This mechanism ensures that businesses can engage with users promptly while maintaining compliance with Meta's messaging policies.
When to Use HSM Templates:
Use them for:
-
For initiating conversation with the contacts after the 24-hour session window is closed, such as sending reminders or important follow-ups.
-
For broadcasting standardized updates, like activity schedules, weather alerts, crop advisories, appointment confirmations, service announcements,programs and events
-
Please Note: The next node after an HSM must always be Wait for Response.This ensures the system waits for user interaction before continuing the flow.
HSM Template Creation & Approval Submission
- Login to Glific and click on the
Quick tools-->Templatesoption from left panel
- Click on
+ CREATEbutton from the top right corner of Templates page.
-
Add A New HSM Templatepage opens up.
- Fill in the following details in the form.
a.Is Active- the check box is by default checked. Keep it checked.
b.Language - Select the preferred language from the dropdown to ensure the template gets approved in that specific language.
c.Translate existing HSM - Select this if the HSM template you are trying to apply has a language variant of an existing HSM template in a different language. If not then no need to enable it.
d.Element Name - Provide a title for WABA namespace for the HSM template. Incase the translate existing HSM is selected, this field becomes a drop down. From the list select the element name of the HSM template for which the language variant is being applied.
e. Title - Enter the name you want for your HSM Template as it would appear in Glific (It should be what use case does this template serves eg. OTP, Optin,
Activity Preference).
(Ensure Title and Template Name are not identical to avoid mapping issues.)
f.Message - Type the message you want to send to users in this HSM template.
g. Add Variable - Click on add variable if you'd like to insert a variable values (ex- preferred names, locations, any other value being captured in flow or contact variables). This provides further fields below to enter a sample value for the variables.
h. Footer - Add the message which you want to act like a subtext.
i. Add Buttons - You can use Add Buttons checkbox to use buttons in HSM templates.
-
Call to Action is selected by default. Click the dropdown and select the Quick Replies option.
-
You can add up to 10 buttons in the Quick Reply option.
-
Call to action buttons: Add a Call to Action (CTA) button in an HSM (template) message when the recipient is expected to take a specific action directly from the message.
-
There are two main options:
-
Phone number and URL.
-
Note:- Phone numbers without country code (for example Exotel numbers) will be added in HSM as an
Call to actionsoption. As a workaround, you can add these numbers in the body of the message. -
If selected URL, must choose between Static and Dynamic links.
-
Please Note : HSM templates support upto 2 URL buttons 1 Phone number button
-
Here's a simple explanation with examples:
Static URL
-
A Static URL is a fixed link. It will be the same for everyone who receives the message.
-
Use it when the link doesn't change.
Example:
-
Sending a message about online training. The requirement is that all users visit the same registration page. Button Title: Register Now
-
Button Value:
https://xyz.org/register -
All users will see the button “Register Now” and clicking it will take them to
https://xyz.org/register
Dynamic URL
-
A Dynamic URL changes for each user. Personalize the link by adding contact-specific data (like name, ID, or custom fields).
-
Use it when the link includes unique details per user.
Example:
-
Send a personalized health report to each user.
-
Button Title: View Report.
-
Button Value:
https://xyz.org/report/{{1}} -
Sample Suffi- x: 12345 (so the full link becomes
https://xyz.org/report/12345) -
When sent,
{{1}}will be replaced by the user's specific ID, like 12345 or abc678.
j. Category - Select the most relevant category from the dropdown. Ex. Utility or Marketing.
-
Utility: Used for transactional messages to keep your customers in the loop with essential order updates, shipping status, about their accounts, orders, appointment reminders, and important alerts.
-
Marketing: Elevate your brand by sending promotional content, announcing new products, and offering special deals to captivate your audience. For instance, promotional messages, including special offers, product launches, and loyalty programs
k. Attachment type - Select the attachment type to send an attachment in your HSM template message Ex. Image, Audio, Video, etc.
l. Attachment URL - Paste the attachment URL ( public URL) from the GCS bucket. Refer Upload files on GCS
Note - Attachment Type & URL are optional. It needs to be filled only if an attachment is required to be sent in the HSM template to the beneficiary.For more info please check this
Notice a simulator available in the form, as you will fill in the details of the HSM template, it will start previewing the message. Simulator helps you to get an idea about how the message will look like when the contact receives it.
m. Tags - Add tags if required, not a mandatory step.
n. Click on Submit for Approval,
-
Click on the Sync button on the HSM list page, after a couple of minutes to see the change in status of HSM from Pending to either
ApprovedorRejected
Generally it takes a maximum of 2 mins to 48 hours to get approval from WhatsApp.
Once you get your message approved, you can start sending it to your contacts. Verify that the Status of your message has turned Approved from the Templates page
What if My Template Is Rejected?
-
Rejected templates cannot be edited and re‑submitted.
-
A new template must be created to replace the rejected one.
Can I Edit a Template After Approval?
-
No, WhatsApp approval is immutable.
-
To make changes, create and submit a new template.
How to use HSM Templates in your flows
Common messages used in flow are session messages, which are open to send only within the 24 hours of users sending a message. If beneficiary responds within 24 hours, the session remains active. After 24 hours NGO users cannot send messages on chat bot to the beneficiary, until they send some message from their WhatsApp.
Remaining hours of session messages expiry can be checked from contact list under search section in left pane.
WhatsApp provides HSM templates which can be sent after the 24 hours. These templates needs to be approved from WhatsApp before they can be used in the conversation. Please refer HSM Templates to know more how to create HSM templates in Glific.
You can use approved HSM templates in your flow, to send to multiple users automatically.
1 . Select Send Message action type in the node.
2 . Click on HSM Template tab
3 . Select the HSM template you want to send from the dropdown list. Refer HSM Templates to know more about how to create HSM templates.
4 . Select the variable names to replace in the HSM template.
5 . Click on Ok button.
6 . Now when the flow will be executed this HSM template message will be send to the contact and will not expire in 24 hours.

Sending HSM Template to Contacts
Go to Chat window and to the particular contact to whom you want to send message. Click on upward arrow in the message box and click on the Templates tab there. You will see the message in the list of approved template messages. Select the message and send it to your contact.
Sending video content and follow-up messages via HSM
Goal: Send activity videos to users one by one and follow up after a few hours.
How to Set Up the Flow:
-
Start with an approved HSM message. Example: Watch Video 1
-
Add a button with the video link, but note that clicks on this button won’t be recorded, as the link opens outside and does not send a response back to the flow.
-
Add a Wait Time, Use Wait for Time (e.g., 3 hours) instead of Wait for Response.
-
Send an approved HSM message with button : Did you complete the activity?
Note: Once the first few videos and follow-ups are working, you can copy the same flow for the remaining media content.
Approve Multi-lingual HSM templates
Glific has added a support to apply HSM messages for multiple templates by obtaining approval under the same element name. When the templates are already approved, simply add it in the default language, and other languages will be automatically tagged since the element name remains consistent.
Steps 1: Create and Approve English Template
- Click
Create Template. - Fill in the template in English, with a unique element name.
- Choose category (e.g., Utility, Marketing).
- Submit the template for approval.
- Wait until it is approved by WhatsApp.
English
Step 2: Create the Template in Another Language (e.g., Hindi)
-
Click
Create Template. -
Select
Language Variantfrom the drop-down. -
Choose the target language (e.g., Hindi).
-
Important: Check the
Translate existing HSMbox.This reveals a dropdown of element names from already approved HSM templates.
-
Select the same element name as the English template (e.g., multi_lingual_hsm_test).
-
Alternatively, Enter the same Element Name as the approved English version. (This links both templates under the same template family)
-
Input the translated version of the HSM message in Hindi
-
Submit for approval.
Hindi
Step 3: Repeat for Other Languages (Optional)
-
Follow Step 2 for additional languages (e.g., Marathi, Kannada, Tamil).
-
Always ensure: Same element name Accurate translation Matched placeholders
Note: Now when adding the template in flow, you can add English template in default language flow. If contact selects a different language (Hindi), then the Hindi version of HSM will be send to the contact. It chooses the language specific HSM automatically based on the selection of language by the end-user.
Bulk Apply HSM Templates
Multiple templates can also be applied by using Bulk Apply HSM templates using Google Sheet
-
Open this sample Google Sheet
-
Click on
Fileand thenMake a copyto create a copy of the sheet
-
Fill in details for templates in rows. Here's what each column represent in the sheet.
-
Language:Select the language from the dropdown you want in your HSM template message. -
Title:Enter the name you want for your HSM Template as it would appear in Glific (It should be what use case does this template serve eg. OTP, Optin, Activity Preference). -
Message:Type the message you want to send to users in this HSM template. You can use Variables and interactive actions in your message. Follow the syntax below in your message.- Variable format - {{1}}
- Button format - [Button text, Value] (where value can be URL or phone number)
-
Sample Message:Replace the variables in the message content with actual values to show a complete message. -
Element Name:The name of a template that is unique for a WABAs namespace. -
Category:The category of HSM template. Values can be either UTILITY, MARKETING or AUTHENTICATION. -
Attachment Type:The Attachment type of template can be either image, video or document -
Attachment URL:The Attachment URL should be public URL of a file that follows these facebook guidelines -
Has Buttons:If the template has buttons, change the value from dropdown toTRUEelseFALSE -
Button Type:Button Type can be eitherCALL_TO_ACTIONorQUICK_REPLY -
CTA Button 1 Type:When button type isCALL_TO_ACTIONthis can be eitherPhone NumberorURL -
CTA Button 1 Title:Text that would appear in button e.g.Call us here -
CTA Button 1 Value:Value of button e.g. Phone number -
CTA Button 2 Type:When button type isCALL_TO_ACTIONthis can be eitherPhone NumberorURL -
CTA Button 2 Title:Text that would appear in button e.g.Visit us here -
CTA Button 2 Value:Value of button e.g.https://glific.org/ -
Quick Reply 1 Title:Add Text that would appear on first button when button type isQUICK_REPLY -
Quick Reply 2 Title:Add Text that would appear on second button when button type isQUICK_REPLY -
Quick Reply 3 Title:Add Text that would appear on third button when button type isQUICK_REPLY -
Quick Reply 4 Title:Add Text that would appear on fourth button when button type isQUICK_REPLY -
Quick Reply 5 Title:Add Text that would appear on fifth button when button type isQUICK_REPLY -
Quick Reply 6 Title:Add Text that would appear on sixth button when button type isQUICK_REPLY -
Quick Reply 7 Title:Add Text that would appear on seventh button when button type isQUICK_REPLY -
Quick Reply 8 Title:Add Text that would appear on eight button when button type isQUICK_REPLY -
Quick Reply 9 Title:Add Text that would appear on ninth button when button type isQUICK_REPLY -
Quick Reply 10 Title:Add Text that would appear on tenth button when button type isQUICK_REPLY
-
-
Click on
File->Download->Comma Separated Values(.csv)to download sheet in csv format

- Go to
Templatesscreen, click onBULK APPLYand choose the downloaded csv file.
- Templates will be applied and will create a new CSV file with the status of each template.

HSM templates limit
By default, there is a limit of 250 HSM templates per phone number. If incase more HSM templates are required, then you need to submit a request to WhatsApp to increase the limit.
Suggestions to get the HSM template approved
- Avoid doing - Hi, here are the activities for today. We hope you complete them by the end of the day and submit them.
- Instead do - Hi @nameofperson, following are the activities we have assigned for you and we hope you can complete them and submit them by the end of the day. Thank you.
- Keeping the messages personal and interactive with an old beneficiary helps in the approval of the HSM template.
- GCS attachments link should be public and working for the beneficiary to access it.
- Use absolute URL in HSM text. Short URLs don't work and the template got rejected with an error message "Invalid format"
- Emojis are not allowed in HSM buttons. If you add emojis the template will be rejected.
- GIFs are not allowed in HSM attachments. If you add Gifs as an attachment, it will be rejected.
Note - The HSM templates need to be in one language. Do not mix the languages in one template (Ex. words of both English and Hindi language should not be in one HSM template).