This guide walks you through creating a timer that measures time to first agent reply in Zendesk Messaging using the SweetHawk Timers app. It starts when a customer sends a message in the messaging channel and stops when an agent replies. If the timer breaches, you can optionally use SweetHawk Notify app to alert the assignee.
Why a separate setup for Messaging?
Messaging often needs shorter deadlines than email, and it uses Zendesk Messaging triggers (in addition to classic ticket triggers) to enable the workflow.
Prerequisites
- SweetHawk Timers app installed and enabled.
- Zendesk Messaging enabled.
- (Optional) SweetHawk Notify app if you want a pop-up alert on breach.
Overview
- Create Messaging triggers to tag when a customer or agent sends a message.
- Create a Workflow in the Timers app specifically for Messaging.
- Create a Timer definition and with the new workflow selected.
- Use the built-in Start/Stop trigger editor in the app to control when timers begin and end.
- (Optional) Create a Notify rule to alert the assignee if the timer breaches.
Flow Diagram (overview)
1) Create Zendesk messaging triggers
In the Zendesk Admin Center, navigate to Objects and rules → Business Rules → Messaging Triggers and click Create trigger on the top right. Here, we will create two separate messaging triggers so Zendesk can update the ticket as to who messaged last.
1. Agent messaged trigger
- Run only once per ticket: Unchecked
- Run trigger: When a message is sent
Conditions
- Sender type - is - Agent
Actions
- Add tag - agent_messaged
2. Customer messaged trigger
- Run only once per ticket: Unchecked
- Run trigger: When a message is sent
Conditions
- Sender type - is - Customer
Actions
- Add tag - customer_messaged
Tip: Remember these are Messaging triggers, not classic ticket triggers.
2) Create the Timer workflow
In the Timers app, go to Workflows and create a new workflow and define the following:
- Name: Messaging
- Description: (optional)
-
Ticket updates - Timer ended ticket update
- Add tags: messaging_breach
Click Create.
You’ll assign this workflow to your timer definition next.
3) Create the Timer definition
Now that you have a workflow, let's create your timer definition.
In the Timers app, go to Timer definitions and click Add timer definition on the top right, then complete the following:
- Name: Messaging reply time
- Description: (optional)
- Duration: Time of how long an agent has to reply (e.g. 2–10 mins is common for Messaging)
- Schedule: Select a schedule if you want the timer to only count during your business hours. Please see here on more about timer schedules.
- Workflow: Messaging (the workflow you created above)
Click Create.
4) Create Start/Stop triggers from within the Timers app
Lastly, we will need to create our start and stop triggers for the new timer definition. In the Timers app under Timer definitions, click Create trigger under the start and stop columns for your new timer definition.
Once the triggers are created, click the popup banner or Edit trigger fro the app to update the new triggers, and define:
1. (Re)Start trigger
Conditions
- Channel - is - Messaging
- Tags - contain - customer_messaged
Actions
- Remove tags - customer_messaged
- Keep our start webhook in place
2. Stop trigger
Conditions
- Channel - is - Messaging
- Tags - contain - agent_messaged
Actions
- Remove tags - agent_messaged
- Keep our stop webhook in place
5) (Optional) Notify assignee on breach
Use our SweetHawk Notify app to alert the assignee if the timer breaches, so they can get back to the customer ASAP.
In the Notify app, click Notification templates and then Add template on the top right. In the new notification, define:
- Trigger or automation: (New trigger)
- Message: Messaging timer breach, please get back to the customer ASAP. (or any message of your choice)
- Recipients: Assignee
- Dismiss popup: Toggle if you need the agent to dismiss the sticky popup
- Icon: Speech bubble, for example
Click Save.
Once the notification template has been created, we will now need to update the new trigger it has created to fire when we want a popup for our messaging ticket assignee. Click the trigger link in the popup on the top right.
In the new trigger define:
Conditions:
- Tags - contains - messaging_breach
Actions:
- Remove tags: messaging_breach
- Keep our Notify webhook in place