If you want to bypass the 24-hour rule by WhatsApp, you can send WhatsApp template messages to your end users, as long as they have already reached out to your business by opening a ticket via WhatsApp.
Before you can set this up, you must have at least one phone number connected to the WhatsApp Business API. If you haven't already done so, complete the process to add WhatsApp channels to the Zendesk Agent workspace.
This article covers the following topics:
About the 24-hour rule
The starting point for the 24-hour window is when the end user sent the message from WhatsApp. It’s not when the message was received by Support and the ticket was created, for example. If you fail to reply within the 24-hour window, you can’t reply to the end user until the end user sends another message, reopening the 24-hour window. The 24-hour period restarts every time the end user sends a message.
If you reply after 24 hours, the reply is still added to the ticket and appears in the ticket interface, but the end user doesn’t actually receive the reply (meaning a reply in WhatsApp or an email ticket notification). Error messages about the failure appear in the upper-right portion of the agent interface and in the Events log.
Messages sent automatically through the auto-responder meet the criteria for WhatsApp's 24-hour response times.
Creating and submitting WhatsApp template messages via the WhatsApp business account UI
After you've connected your phone number to the WhatsApp Business API, you can create and submit WhatsApp template messages within the WhatsApp Business account UI. For more information about the process, see Create message templates for your WhatsApp Business account in the Meta documentation.
If you submit a WhatsApp template message with a variable, parameter, and/or media, you must submit the actual content as a sample, otherwise WhatsApp will reject it.
“Hi {{1}},
Welcome to the {{2}}, we wish you a great stay. If you need anything, feel free to reach out to {{3}} and they’ll be happy to assist you.
Have a great day,”
In this example, the variables are:
{{1}}
The end user name
{{2}}
The hotel name
{{3}}
The team name
Using shorthand syntax to send WhatsApp template messages
Bypassing the WhatsApp 24 hour rule
If you can't reply to a message sent via WhatsApp within 24 hours, consider bypassing the WhatsApp 24 hour rule so you can still reply later.
To bypass the WhatsApp 24 hour rule
- An end user has messaged your business and opened a ticket.
- Use Sunshine Conversations shorthand syntax (see Sunshine conversations WhatsApp).
- After the WhatsApp template message is approved, create a macro to send the
WhatsApp template message to end users who have already opened a
ticket.Here are two examples of how to create the content of the macro:
&((namespace=[[namespace]] template=[[template]] fallback=[[text_fallback]] language=[[language]] body_text=[[param_1]]))&
or
&(( namespace=[[namespace]] template=[[template]] fallback=[[fallback]] language=[[language]] body_text=[[param_1]] ))&
-
namespace
- the unique ID for your WhatsApp Business account. You can find your namespace on the toolbar of your WhatsApp Business account by clicking Namespace. -
template
- enter a name for your template. -
language
- for the language code, see Supported languages in the Meta for developers documentation.
-
- Thoroughly test the functionality of each WhatsApp template message
macro, before deploying to production.Note: WhatsApp template message content is not reconstructed within the ticket after you have sent it (it appears only as shorthand syntax to the agent). However, your end users will see the content of the WhatsApp template message.
Testing your macro functionality
To test text without variables
- Create a macro.
- Under Actions, paste the following example in the Rich content
field and insert the relevant information for your namespace,
template, fallback text, and
language.
&((namespace=[[namespace]] template=[[template]] fallback=[[text_fallback]] language=[[language]]))&
To test text with variables
- Create a macro.
- Under Actions, paste the following example in the Rich content
field and insert the relevant information for your namespace,
template, fallback text, language, and for example the ticket requester’s
first
name.
&((namespace=[[namespace]] template=[[template]] fallback=[[text_fallback]] language=[[language]] body_text=[[ticket.requester.first_name]]))&
To test text with variables and a media image
- Create a macro.
- Under Actions, paste the following example in the Rich content
field and insert the relevant information for your namespace,
template, fallback text, language, and for example the URL location of the
header
image.
&((namespace=[[namespace]] template=[[template]] fallback=[[text_fallback]] language=[[language]] header_image=[[image_location]] body_text=[[param_1]] body_text=[[param_2]]))&
To test text with variables, media, and buttons
- Create a macro.
- Under Actions, paste the following example in the Rich content
field and insert the relevant information for your namespace,
template, fallback text, language, and for example the URL location of the
header image, two different types of body text, the button index, and the
URL location of the
button.
&((namespace=[[namespace]] template=[[two_variable_media_buttons]] fallback=[[text_fallback]] language=[[language]] header_document=[[document_location]] body_text=[[param_1]] body_text=[[param_2]] button_index=[[1]] button_url=[[url]]))&
Using Sunshine conversations API to send WhatsApp template messages
If the end user has not yet messaged your business, you can still send an outbound message to them by using the Notifications API feature, see the How to start conversations section of Sunshine Conversations: WhatsApp. You or your Engineering team can do this by using the Sunshine Conversations API.
Troubleshooting WhatsApp templates
WhatsApp rejected my WhatsApp template
To find out why your template was rejected, click the template. Depending on the reason for rejection, you can either edit the body, the variable, and the media of your WhatsApp template message, or appeal the decision. However, if your template keeps being rejected, you must create a new one with a new name and content. For more information, see Message template guidelines in the Meta for developers documentation.