
➕ Bypassing the 24-hour rule for WhatsApp in Zendesk
In this article we'll show you how to bypass the 24-hour WhatsApp limit in Zendesk by leveraging the included Sunshine Conversations API.
One of the benefits of Zendesk's Omnichannel approach is that you can connect with customers across a myriad of channels from one centralised tool. Where Zendesk used to be focussed mainly on email, and later Facebook and Twitter, Zendesk Messaging now allows you to interact with customers across web, Facebook, Instagram, Twitter and WhatsApp easily.
Even though Zendesk provides a unified experience for your agents, and a native experience for your end-users on whatever platform they decide to use, some channels have specific limitations defined by their vendor to prevent spam or other bad behaviour on their platform.
WhatsApp for example has a 24-hour rule which prevents business integrations from replying to customers that haven't interacted with your business for over 24 hours. Example: If a customer sends a ticket at 10AM, you need to make sure your agent replies AND you get a reply from the customer before 10AM the next day. If those 24h pass without a customer reply to your agents' remark, you can't send any reminder or more info to that customer anymore.
Bypassing the 24-hour rule
Luckily, there is a way to work around this limitation by leveraging the WhatsApp Business API and Notification feature. If you use the WhatsApp Business API you can send outbound messages to customers regardless of the expired time.
If a customer replies, their messages gets added to your existing conversation, and your agents can reply to them within a new 24h window.
Sending Outbound notifications to WhatsApp users requires you to have a Sunshine Conversations license. This used to be an additional add-on you needed to buy for your Zendesk environment,
Sunshine Conversations in Zendesk Suite
Starting this month every Zendesk Professional or Enterprise Suite user gets access to Sunshine Conversations. You get full Platform and API access with an included limit of 1,000 Monthly Active Users (MAU) and 1,000 outbound notifications.
For larger use cases you can purchase additional users and notifications.
What's nice about this is that, where previously there was no way to work around the 24-hour limit, now every Zendesk customer can solve this limitation for free and native within Zendesk.
How does this work?

The setup is rather easy:
- A customer contacts you over WhatsApp
- Their conversation gets picked up by a Zendesk Conversation Bot to allow for self service and ticket deflection
- If needed, the Bot forwards the message to an Agent
- The Agent replies to the ticket and puts the ticket on Pending once the customer stops interacting
- An automation monitors the WhatsApp conversations and sends out a reminder to customers after 24 hours
- If the customer reacts before the 24-hour limit, or reacts to the outbound message, the conversation re-opens and we have a new 24h window to handle the conversation.
Requirements
In order to enable automatic notifications to your customers there are a few requirements. Most of these are probably already setup when you first enabled WhatsApp for Zendesk Messaging:
- You need a verified Facebook Business Account - link
- It's best to also verify your WhatsApp for Business account - link
- You need to have WhatsApp linked to Zendesk Messaging - link
- Your templates (see later) need to be validated by Meta. This takes ~2-3 days.
A word about cost
Sending out outbound messages over Sunshine Conversations has two costs involved:
- You need to pay for MAU in Sunshine Conversations. You get a certain amount (1,000 Monthly Active Users (MAU) and 1,000 outbound notifications) included for free. If you go over you need to buy a Sunshine Conversations add-on.
- Outbound WhatsApp messages have a cost charged by Meta. You get a 250-1000 depending on your verification status
Setup
To setup this flow we need to do four things:
- Create a Sunshine Conversations API integration
- Create a Template in Facebook Business Manager
- Setup a webhook in Zendesk
- Setup an automation in Zendesk
The next part of this article will show you how.
Create a Sunshine Conversations API integration
The first step in this setup requires the creation of a new Conversation API key.
Go to the Admin Center > Apps and Integrations > APIs > Conversations API and click Create API Key. Give it a name and copy the 3 values Zendesk shows somewhere safe. You'll need this App ID, Key ID and Secret Key in the next steps.




Create a Template in Facebook Business Manager
You need to go to your Facebook Business Manager to create a new Template for your WhatsApp account. Go to WhatsApp Manager >> Account Tools >> Templates.
Since we only need to alert an existing user about an existing interaction, we can use the Utility category.
- Create a new Utility template for your message.
- Give the template a clear name like 24h_reminder
- Leave the language to English for now.
- Add a body text like the one below.
- I added a Quick Reply button with a "Keep ticket open" option, so customers can reply even faster.
- Submit your template
Hey,
Our agent are awaiting your reply. Please respond to keep your ticket open, or ignore to automatically close your ticket within 24 hours
The review process will take 2-3 days and you will get an email once your template is approved. Only when the template is approved will you be able to send out notifications.




Webhook
Create a trigger or automation based Webhook URL.
The Endpoint URL should be to the following URL. Note the app_id
value needs to be replaced with your App ID.
https://api.smooch.io/v1.1/apps/app_id/notifications
Leave the Type to POST
and the Request Type to JSON
.
Choose Basic Authentication with: Username: key_id
and Password: secret_key


Setting up the Automation
Integration ID
You will need an Integration ID to get the automation to work. This will tell Sunshine Conversations via which channel they should send out the notification.
You can find your Integration ID by going to Admin Panel > Messaging > WhatsApp and copying the last part of the URL shown.
https://subdomain.com/admin/channels/messaging_and_social/channels_list/edit/646b411abc0c536ba1a98263
Replace [integration_id]
in the payload below with the ID of your WhatsApp integration.
Conditions
We only want to send out a notification for tickets that match the following conditions:
Channel is WhatsApp
Ticket Status is Pending
Tags does not contain 24h_reminder
This makes sure we only send out the notification once.Ticket hours since update is more than 10
Actions
As a first action choose Add tag: 24h_reminder
to let the automation know it has run.
Now choose Notifications - Webhook: Sunshine Conversations Notifications
as the action, and add the following in the JSON body field. Make sure to replace the [integration_id]
with yours.
"code":"en"
value. If your template has no English translation, make sure to replace en
with your language. Eg. fr
or nl
{
"destination": {
"integrationId": "[integration_id]",
"destinationId": "{{ticket.requester.phone}}"
},
"author": {
"role": "appMaker"
},
"messageSchema": "whatsapp",
"message": {
"type": "template",
"template": {
"namespace": "XXXXXXXX_XXXX_XXXX_XXXX_XXXXXXXXXXXX",
"name": "24h_reminder",
"language": {
"policy": "deterministic",
"code": "en"
}
}
}
}


The Result
As shown in the screenshot at the start of this article, each time a ticket passes the 24h limit while we're waiting for the customer, that customer will get an automated message, and if they reply, we can extend the 24h limit.
This is only one use case where the new Sunshine Conversations API inside of Zendes Suite becomes useful. Following a similar flow like the one above we could easily use this API to send out appointment confirmations, activation messages, shipping updates or any other kind of utility or marketing based notification to customers.
These interactions don't even need to be based on an existing conversation. If you send out a reminder for a reservation, and the customer replies to your message to make a change, this will create a new conversation with your CX team.
You can find a full overview of the API capabilities here:
