Put your review generation on auto pilot with Zendesk CSAT & Automations
It’s the oldest play in the review generation book: follow-up to a positive CSAT score with a review request.
Each time you close a ticket, your customers will be asked whether they were satisfied with their support interaction. And each time they say they were, they’ll be asked to make their opinion public on platforms like Capterra, G2, etc.
To prep this post, I worked with Edouard Gonet, an absolute beast when it comes to Zendesk, to make sure I’d include best practices, and set this up in the simplest possible way. It takes roughly 1h to set up, and it should transform a solid 20 – 25% of your positive CSAT ratings into public reviews.
#1 Start by setting up CSAT
If you already have CSAT enabled, you can skip directly to step 2 👇
CSAT is only available starting on the Support Pro or Suite Growth plans, so if you’re on the Team plan, you’ll need to upgrade or set up your own CSAT engine.
You can refer to Zendesk’s help center article for more details
When you enable CSAT (customer satisfaction ratings), end users are prompted to rate the support they received by answering a brief survey indicating whether they were or were not satisfied.
CSAT surveys for Zendesk Support are sent via email one day after the ticket is set to solved. For Zendesk web, mobile, and social messaging, they are presented in the messaging interface immediately after the ticket is set to solved.
Let’s set it up:
First, head over to the admin section of your Zendesk account and go to the People section.
Next, in the left sidebar, select “End Users” under “Configuration”. Switch to the Satisfaction tab, and tick the box that says Allow customers to rate tickets.
You’ll also be able to ask a follow-up question after bad-ratings to group answers and automate actions based on that. But let’s stick to getting more reviews for now. Then, don’t forget to save tab.
Ticking this checkbox has created an automation workflow on Zendesk, which you can access and customize by going to the automations: Objects & rules > Business rules > Automations.
If you click on the automation here, you can customize the conditions, and the email template that will be sent out.
By default, Zendesk sends an email exactly 24h after a ticket is closed. This means when you activate it, it won’t send an email to all your customers who had closed tickets more than 24h ago.
If you’d like to change that, you can change the line Ticket: Hours since solved Is 24 to Ticket: Hours since solved Greater than 24.
Of course, you can also decide to send the email a little faster after the ticket is solved, for example 4h.
This is also where you can customize the email template you’ll be sending out.
Keep it simple and authentic, and you’ll be good. Here are a few survey email examples we gathered for inspiration.
If you’re using messaging (web and mobile) Zendesk will also have created a trigger (Business rules > Triggers) to immediately request satisfaction ratings when the ticket status is changed to Solved over the messaging interface.
And if you’re using social messaging, another trigger specifically for social messaging was also created.
Don’t forget to test everything to make sure it works like you expected, and then move on to step 2
#2 Set up an automated follow-up to ask for reviews
The next step is to follow-up with customers who declared they were satisfied to ask them to review your service on a public review platform.
Choosing the right platform, and getting the right link
First, you’ll need to decide on what review website you’d like to send your customers. If you’re in the B2B business, forget immediately about Google and Facebook, and consider Capterra or G2 instead.
As much as they’d like you to forget this, GetApp, SoftwareAdvice, and Capterra are one and only platform, with the exact same reviews, just displayed differently. So an extra review on any of those 3 platforms is an extra review on all 3 platform.
You can also look at more specific platforms like the WordPress plugins marketplace, Shopify Apps, Hubspot ecosystem, Salesforce AppExchange, …
If you’re unsure where a review has the most value, pick whatever platform ranks highest on your main keyword, and focus on sending reviews to that platform at first.
You can find a lot more considerations around extra reviews’ value in our review management guide.
Once you have a clear picture of where you think marginal reviews will have the most value, you’ll need to find the most direct link you can find. It’s really fairly obvious but if there’s one thing you don’t want to do at this point is have your customers go through countless clicks just to get to the form. Show some respect…
This is exactly what you shouldn’t do 👇
Take a minute to go through the flow you expect your users to go through, and look for the quickest way to get them to the form.
Also, note that sometimes review platforms will give you tracked links that make reviewers eligible to a $10 or $20 amazon coupon. In that case, make sure you use those links, and communicate the offer clearly to your users.
If you want to have control over reporting and performance, it might be a good idea to use a link shortner or a link tracker here, so you can get a count of the clicks on your email. It shouldn’t affect deliverability since you’re only send this email to people who have interacted with you over email a few times already.
Setting up the automation
The good thing is our automation will be very close to the CSAT automation workflow that Zendesk has set up, with only a few key differences in the trigger.
Instead of sending an email X hours after a ticket is solved, we’ll send an email X hours after a positive CSAT answer is captured. Fairly straightforward right?
To set this up, we’ll use a trigger this time, to follow up immediately after a rating is captured.
So go to Triggers (Business Rules > Triggers) and click Add Trigger
A trigger works kind of like automations. You set conditions, and you define actions when these conditions are met.
What we need to keep in mind here, is we want to send the follow-up email only once, we wouldn’t want to spam our users with review requests, that would actually be counterproductive.
Let’s start with the conditions, scroll down to Conditions, Meet ALL of the following (AND logic). We’ll add two simple conditions here:
- Satisfaction – Changed to – Good
- Tags – Contains none of the following – review-follow-up
And in the actions, we’ll add a tag which we’ll name review-follow-up to ensure we don’t send the same email more than once.
So two actions:
- Add tags – review-follow-up
- Email user – (requester)
You can customize your email now. Don’t forget to check out our review email templates and best practices to maximize your performance.
To insert links in the email body, you’ll need to use HTML formatting (source) so it’ll look something like
<a href="link URL">text</a>
That’s it!
Name your trigger nicely, give it a clear description, and hit save.
#3 Going further
You’ve now set up basic CSAT capture and enabled review request follow-ups. Congratulations, you’ve successfully captured most of the easy value.
But this can go a lot further if you’ll let it, by getting the information out of Zendesk so that you can use it with any tool you’d like.
That way, you can send those review request emails with your marketing automation tool instead of Zendesk for example, to access click tracking, to better manage your marketing pressure, to have access to the “happy customers” segment – which in and of itself is a pretty fundamental thing to have – etc. Etc.
It also happens that people who want reviews are usually on the marketing team, and they tend to know marketing automation or email marketing tools better than Zendesk.
So whether you’re just helping out your buddy from marketing, or knee-deep into Zendesk but hoping to get the data out of it as soon as possible, this part is for you.
The main bottleneck is going to be getting the information out of Zendesk, but luckily there’s a neat little feature built just for that. It’s called webhooks.
Webhooks rely on pre-defined endpoints that are meant to receive data. Listeners. Their job is to be open and available at all times, and to process data whenever they receive a payload. You can build webhooks fairly easily with spreadsheets, with tools like Zapier or Integomat (Make.com), with google cloud functions or Amazon Lambdas, or pretty much anything that runs on the internet. The concept is really basic.
Zendesk allows you to create webhooks, which will send POST requests to the URL you give it, with a payload which you can define.
We’ll use a trigger, same as for the emails to trigger the POST requests, except the action will be notify webhook instead of send email.
Let’s dig in
Creating a webhook on Zendesk
Webhooks have their very own category on Zendesk Admin Center, under Apps & Integrations.
Create a new webhook, and we’ll configure it now.
First, we need to select what will trigger the webhook. We can subscribe to Zendesk native events like user or organization updates, or use our own triggers.
That’s what we’ll do for this one.
Next, we need to name the webhook. For now, we’re on Zendesk’s side, and we’re merely sending POST requests to another service whenever a positive CSAT rating is recorded. So the webhook’s name should be about the trigger, and not whatever consequences it has down the line.
For the URL, you’ll need to have it set up at this point. If you’re not sure where to start, you can use make.com to build webhooks and send the data received to a bunch of other services. It’s free under 1000 requests / month, and really cheap above.
Here’s what that would look like. Make.com will take care of setting up the URL and listening for data. Whenever it receives a request, it’ll go through a series of steps you can later define.
We won’t go into authentication here as we don’t really need it, so you can just send a test to make sure everything is working properly, and then hit Create Webhook
Finally, we’ll connect the webhook to our trigger from step 2.
Go back to the triggers section (Objects & rules > Business rules > Triggers), and under actions, add a “Notify Active Webhook” action. Select the webhook you just created.
We now need to define the information we want to send in our requests. We’ll include:
- The requester’s email: this is the email of the user who left a positive rating
- The requester’s first name: if available, helps to give a personal touch in the email
- The requester’s preferred language: if you’re working in a multilingual environment, you’ll need to know what language to use to communicate with that user
- The ticket tags: this is generally a good idea to customize your email or tag your users. For example, if you wanted to get reviews on the WordPress plugins marketplace, you could have agents tag tickets related to WordPress (when the user is an active plugin user) and then tag that contact as a WordPress plugin user in your other customer data tools. Although ideally, you’d want to have that information already.
- The assignee’s first and last names: you can use this as a sender in your follow up emails, in the signature, or just to give kuddos on Slack for example
- The ticket id: just for reference
That’s it!
Save and test thoroughly.
Zendesk will now notify your webhook URL every time a customer gives a positive CSAT rating. You can then propagate that information to Slack, Email marketing tools, CRMs, Data tools, etc. etc.
And if you’d like to keep an eye on what happens after you sent those emails, and get accurate reporting on your actual review generation efforts, check out reviewflowz.com 😇