Skip to content

Commit d1226e1

Browse files
authored
Merge pull request #526 from glific/refactor/quick_reply_doc
Support for More Than 3 Quick Reply Buttons in HSM Templates
2 parents dd87519 + 0e24b00 commit d1226e1

File tree

1 file changed

+66
-61
lines changed

1 file changed

+66
-61
lines changed

docs/4. Product Features/06. HSM Templates.md

Lines changed: 66 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
1+
# HSM Templates
22
<h3>
33
<table>
44
<tr>
55
<td><b>10 minutes read</b></td>
66
<td style={{ paddingLeft: '40px' }}><b>Level: Beginner</b></td>
7-
<td style={{ paddingLeft: '40px' }}><b>Last Updated: October 2025</b></td>
7+
<td style={{ paddingLeft: '40px' }}><b>Last Updated: December 2025</b></td>
88
</tr>
99
</table>
1010
</h3>
1111

12-
13-
**HSM (Highly Structured Message) templates are pre-approved message formats required for sending outbound messages to contacts outside the 24-hour WhatsApp session window.
12+
**HSM (Highly Structured Message) templates are pre-approved message formats required for sending outbound messages to contacts outside the 24-hour WhatsApp session window.
1413
These templates help ensure compliance with WhatsApp’s policies and are commonly used to send notifications, alerts, or support messages.
1514
Templates can include placeholders for personalized content and are essential for initiating conversations once the 24- hour session window has expired.**
1615

@@ -24,7 +23,6 @@ Session Window - A session window refers to the 24-hour period following a user'
2423

2524
- For initiating conversation with the contacts after the 24-hour session window is closed, such as sending reminders or important follow-ups.
2625

27-
2826
- For broadcasting standardized updates, like activity schedules, weather alerts, crop advisories, appointment confirmations, service announcements,programs and events
2927

3028
---
@@ -49,65 +47,69 @@ Session Window - A session window refers to the 24-hour period following a user'
4947
<br />
5048
<br />
5149

52-
4. Fill in the following details in the form.
50+
4. Fill in the following details in the form.
5351

54-
a.`Is Active`- the check box is by default checked. Keep it checked.
55-
56-
b. `Language` - Select the preferred language from the dropdown to ensure the template gets approved in that specific language.
52+
a.`Is Active`- the check box is by default checked. Keep it checked.
5753

58-
<img width="517" height="216" alt="image" src="https://github.com/user-attachments/assets/fc0e56bd-a743-4b04-91e4-378e351fb2b9" />
54+
b. `Language` - Select the preferred language from the dropdown to ensure the template gets approved in that specific language.
5955

60-
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.
61-
62-
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.
63-
64-
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,
65-
Activity Preference).
66-
67-
<img width="410" height="337" alt="image" src="https://github.com/user-attachments/assets/9e45eae4-6a92-4058-8083-9963e380afe9" />
68-
_(Ensure Title and Template Name are not identical to avoid mapping issues.)_
56+
<img width="517" height="216" alt="image" src="https://github.com/user-attachments/assets/fc0e56bd-a743-4b04-91e4-378e351fb2b9" />
6957

58+
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.
7059

71-
f. `Message` - Type the message you want to send to users in this HSM template.
60+
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.
7261

73-
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.
62+
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,
63+
Activity Preference).
7464

75-
<img width="401" height="360" alt="image" src="https://github.com/user-attachments/assets/aa9960c3-1d6c-4e75-9c60-71598eccf293" />
65+
<img width="410" height="337" alt="image" src="https://github.com/user-attachments/assets/9e45eae4-6a92-4058-8083-9963e380afe9" />
66+
67+
_(Ensure Title and Template Name are not identical to avoid mapping issues.)_
7668

77-
78-
h. `Footer` - Add the message which you want to act like a subtext.
69+
f. `Message` - Type the message you want to send to users in this HSM template.
7970

80-
i. `Add Buttons` - You can use `Add Buttons` checkbox to use buttons in HSM templates.
81-
82-
- Quick Replies is selected by default which allows to add 3 buttons to the message
71+
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.
8372

84-
<img width="511" height="375" alt="image" src="https://github.com/user-attachments/assets/37d8050b-2a3d-420c-8c90-f9910eca6994" />
73+
<img width="401" height="360" alt="image" src="https://github.com/user-attachments/assets/aa9960c3-1d6c-4e75-9c60-71598eccf293" />
8574

86-
- 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.
75+
h. `Footer` - Add the message which you want to act like a subtext.
8776

88-
<img width="506" height="387" alt="image" src="https://github.com/user-attachments/assets/460cf615-e772-41ce-a837-babddce2e5e7" />
77+
i. `Add Buttons` - You can use `Add Buttons` checkbox to use buttons in HSM templates.
78+
79+
- Call to Action is selected by default. Click the dropdown and select the Quick Replies option.
80+
81+
<img width="389" height="212" alt="Screenshot 2025-12-09 at 1 40 59 PM" src="https://github.com/user-attachments/assets/ba9a52ae-b85a-4aa9-bbf5-de326270766d" />
82+
83+
- You can add up to 10 buttons in the Quick Reply option.
84+
<img width="398" height="746" alt="Screenshot 2025-12-09 at 1 43 19 PM" src="https://github.com/user-attachments/assets/8a60319d-1d42-46df-94e0-46b13c3773e4" />
8985

90-
- There are two main options:
9186

92-
- **Phone number** and **URL**.
93-
94-
- **Note:-** Phone numbers without country code (for example Exotel numbers) will be added in HSM as an `Call to actions` option. As a workaround, you can add these numbers in the body of the message.
9587

96-
- If selected **URL**, must choose between **Static** and **Dynamic** links.
88+
- 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.
89+
90+
<img width="366" height="326" alt="Screenshot 2025-12-09 at 1 52 47 PM" src="https://github.com/user-attachments/assets/bdc55bb6-64f6-4d04-9430-3d19ee4acce5" />
9791

98-
Here's a simple explanation with examples:
92+
93+
- There are two main options:
94+
95+
- **Phone number** and **URL**.
96+
97+
- **Note:-** Phone numbers without country code (for example Exotel numbers) will be added in HSM as an `Call to actions` option. As a workaround, you can add these numbers in the body of the message.
98+
99+
- If selected **URL**, must choose between **Static** and **Dynamic** links.
100+
101+
Here's a simple explanation with examples:
99102

100103
**Static URL**
101104

102105
- A Static URL is a fixed link. It will be the same for everyone who receives the message.
103106

104107
- Use it when the link doesn't change.
105108

106-
107109
**Example:**
108110

109111
- Sending a message about online training. The requirement is that all users visit the same registration page.
110-
Button Title: Register Now
112+
Button Title: Register Now
111113

112114
- Button Value: `https://xyz.org/register`
113115

@@ -119,7 +121,6 @@ Button Title: Register Now
119121

120122
- Use it when the link includes unique details per user.
121123

122-
123124
**Example:**
124125

125126
- Send a personalized health report to each user.
@@ -130,35 +131,33 @@ Button Title: Register Now
130131

131132
- When sent, `{{1}}` will be replaced by the user's specific ID, like 12345 or abc678.
132133

133-
134134
<img width="503" alt="Screenshot 2024-07-01 at 5 13 14 PM" src="https://github.com/glific/docs/assets/141305477/09ec727f-46bf-4242-a95a-caebb6763491"/>
135135

136-
137-
j. `Category` - Select the most relevant category from the dropdown. Ex. Utility or Marketing.
136+
j. `Category` - Select the most relevant category from the dropdown. Ex. Utility or Marketing.
138137

139-
- 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.
140-
141-
- 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
138+
- 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.
142139

143-
144-
k. `Attachment type` - Select the attachment type to send an attachment in your HSM template message Ex. Image, Audio, Video, etc.
145-
146-
l. `Attachment URL` - Paste the attachment URL ( public URL) from the GCS bucket. Refer [Upload files on GCS](https://glific.github.io/docs/docs/Pre%20Onboarding/GCS%20Setup/Upload%20files%20on%20GCS/#upload-media-files-in-the-gcs-bucket)
147-
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]( https://developers.facebook.com/docs/whatsapp/updates-to-pricing/new-template-guidelines)
140+
- 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
148141

149-
Notice a simulator available in the form, as you will fill in the details of the HSM template, it will start previewing the message.
142+
k. `Attachment type` - Select the attachment type to send an attachment in your HSM template message Ex. Image, Audio, Video, etc.
143+
144+
l. `Attachment URL` - Paste the attachment URL ( public URL) from the GCS bucket. Refer [Upload files on GCS](https://glific.github.io/docs/docs/Pre%20Onboarding/GCS%20Setup/Upload%20files%20on%20GCS/#upload-media-files-in-the-gcs-bucket)
145+
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](https://developers.facebook.com/docs/whatsapp/updates-to-pricing/new-template-guidelines)
146+
147+
Notice a simulator available in the form, as you will fill in the details of the HSM template, it will start previewing the message.
150148
Simulator helps you to get an idea about how the message will look like when the contact receives it.
151149

152150
<img width="365" alt="image" src="https://github.com/glific/docs/assets/122982753/b9aee8df-29bd-41cf-bdcb-1742ffabd6c7"/>
153151
<br />
154152

155-
m. `Tag`s - Add tags if required, not a mandatory step.
153+
m. `Tag`s - Add tags if required, not a mandatory step.
154+
155+
n. Click on `Submit for Approval`,
156+
157+
- 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 `Approved` or `Rejected`
156158

157-
n. Click on `Submit for Approval`,
158-
- 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 `Approved` or `Rejected`
159-
160159
<img width="507" height="121" alt="image" src="https://github.com/user-attachments/assets/3430e9d6-b348-49be-abdf-816997754279" />
161-
160+
162161
Generally it takes a maximum of `2 mins to 48 hours` to get approval from WhatsApp.
163162
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
164163

@@ -171,7 +170,6 @@ Once you get your message approved, you can start sending it to your contacts. V
171170

172171
- A new template must be created to replace the rejected one.
173172

174-
175173
## Can I Edit a Template After Approval?
176174

177175
- No, WhatsApp approval is immutable.
@@ -196,15 +194,16 @@ You can use approved HSM templates in your flow, to send to multiple users autom
196194

197195
2 . Click on `HSM Template` tab
198196

199-
![image](https://user-images.githubusercontent.com/32592458/218255870-dea659b0-421f-4383-a65f-9dbdd500eb00.png)
197+
<img width="613" height="463" alt="Screenshot 2025-12-10 at 7 07 20 PM" src="https://github.com/user-attachments/assets/252d355c-a3b4-4b54-bf23-c7b60fd63eb6" />
200198

201199
3 . Select the HSM template you want to send from the dropdown list. Refer [HSM Templates](https://glific.github.io/docs/docs/Product%20Features/HSM%20Templates/) to know more about how to create HSM templates.
202200

203-
![image](https://user-images.githubusercontent.com/32592458/218255877-26f48828-88d1-497c-96c3-f4f339d5a529.png)
201+
<img width="620" height="400" alt="Screenshot 2025-12-10 at 7 07 55 PM" src="https://github.com/user-attachments/assets/d67baf37-fe70-4a7b-9d8e-880a17a00d7d" />
202+
204203

205204
4 . Select the `variable` names to replace in the HSM template.
206205

207-
![image](https://user-images.githubusercontent.com/32592458/218255890-c2071b37-0312-457c-ae32-297d88a2a18e.png)
206+
<img width="604" height="465" alt="Screenshot 2025-12-10 at 7 08 27 PM" src="https://github.com/user-attachments/assets/2c611989-9d82-4c7f-af8d-f7420468a2f5" />
208207

209208
5 . Click on `Ok` button.
210209

@@ -315,6 +314,13 @@ Multiple templates can also be applied by using Bulk Apply HSM templates using G
315314
1. `Quick Reply 1 Title:` Add Text that would appear on first button when button type is `QUICK_REPLY`
316315
1. `Quick Reply 2 Title:` Add Text that would appear on second button when button type is `QUICK_REPLY`
317316
1. `Quick Reply 3 Title:` Add Text that would appear on third button when button type is `QUICK_REPLY`
317+
1. `Quick Reply 4 Title:` Add Text that would appear on fourth button when button type is `QUICK_REPLY`
318+
1. `Quick Reply 5 Title:` Add Text that would appear on fifth button when button type is `QUICK_REPLY`
319+
1. `Quick Reply 6 Title:` Add Text that would appear on sixth button when button type is `QUICK_REPLY`
320+
1. `Quick Reply 7 Title:` Add Text that would appear on seventh button when button type is `QUICK_REPLY`
321+
1. `Quick Reply 8 Title:` Add Text that would appear on eight button when button type is `QUICK_REPLY`
322+
1. `Quick Reply 9 Title:` Add Text that would appear on ninth button when button type is `QUICK_REPLY`
323+
1. `Quick Reply 10 Title:` Add Text that would appear on tenth button when button type is `QUICK_REPLY`
318324

319325
4. Click on `File` -> `Download` -> `Comma Separated Values(.csv)` to download sheet in csv format
320326

@@ -353,4 +359,3 @@ By default, there is a **limit of 250 HSM templates per phone number**. If incas
353359
**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).
354360

355361
---
356-

0 commit comments

Comments
 (0)