Setting up a workflow that sends notifications in Slack when a ticket is rated negatively allows proactive handling of concerns and improves customer satisfaction. Achieve this goal through a combination of a custom Slack app with an incoming webhook, Zendesk webhook, and trigger.
The workflow includes the following step:;
- Step 1: Create an app in Slack and an incoming webhook
- Step 2: Create a webhook in Zendesk to send CSAT tickets to your new Slack webhook
- Step 3: Create a trigger to send negative CSAT tickets to your Slack channel
Step 1: Create an app in Slack and an incoming webhook
- Create a custom Slack app following the Slack API document: Your Apps
In this example, the Slack app is named CSAT Notifier. - In Slack, the settings enable Incoming Webhooks using the toggle under Features > Incoming Webhooks.
- At the bottom of the Incoming Webhooks page, select Add a New Webhook to Workspace. As you configure the webhook, choose what channel should receive the notifications from the drop-down option. In this example, a unique Slack channel #zendesk-bad-csat was created to receive the notifications.
- After creating the URL, the system brings you back to a list of URLs for your app. Copy the one you just created using the Copy button.
For more information on creating Slack webhooks, see the Slack documentation: Sending messages using Incoming Webhooks.
Step 2: Create a webhook in Zendesk to send CSAT tickets to your new Slack webhook
- In Zendesk, create a new webhook.
-
Use the following configuration
- Name | Send negative CSATs to Slack
- Endpoint URL | [Paste the Slack incoming webhook URL copied from step 1.4]
- Request method | POST
- Request format | JSON
- Authentication | None
Note: No credentials are required. The URL itself includes the secret required to POST messages.
The webhook should appear similar to the below image.
Step 3: Create a trigger to send negative CSAT tickets to your Slack channel
Lastly, create a trigger to specify what tickets should be sent to your channel. For this example, notify any tickets that receive a Bad or Bad with Comment CSAT. Follow the steps below to create this workflow.
To create the trigger
- Create a new trigger
- Under Meet ALL of the following conditions, add:
- Object > Ticket > Ticket | Is | Updated
- Under Meets ANY of the following conditions, add:
- Object > Ticket > Satisfaction | Changed to | Bad
- Object > Ticket > Satisfaction | Changed to | Bad with comment
- Under Actions, add:
- Other > Notify by > Active webhook | Select the webhook you created
- In the Body, enter the Slack notification formatted in JSON. For example:
{"text":"You've received a negative CSAT. See information below \n ticket ID:{{ticket.id}} \n ticket link: {{ticket.link}} \n csat rating: {{satisfaction.current_rating}} \n csat comment: {{satisfaction.current_comment}}"}
- Click Create trigger
In the example above, the JSON body is configured to send the ticket ID, a link to the ticket, the CSAT rating, and the CSAT comment to the Slack channel.
JSON is highly customizable. Configure formatting options for Slack webhooks and include ticket-specific information with Zendesk placeholders. To customize the Slack message, you must startthe JSON body with {"text":}
for the call to be received in proper formatting.
After the webhook and trigger are created, you receive the formatted Slack notification when your account receives a bad CSAT rating.
3 comments
Jean
Thank you so much this is great! However, do the push notifications work even if the Slack channel is set to private?
0
Leanne Britton
Hi Jean, glad to hear you found the above steps helpful! The push notifications still work even if the channel is set to private. As long as the private channel is specified in your Slack app (Step 1.3) and you copy the webhook URL (Step 1.4) and paste it into your Zendesk webhook endpoint (Step 2.2), you'll still be able to receive the notification in the private channel.
1
Stacy Kim
Hi there. Do you know if this still works with the recent Zendesk changes to CSAT? We used to use a legacy version of CSAT rating where a ticket is either rated good or bad. But Zendesk just released their scale version of CSAT
0