Skip to main content
All CollectionsAI & AutomationAutomationTriggers
Teammate changes conversation state
Teammate changes conversation state

Learn how to measure CSAT and configure conversation ratings in your Workflows.

Brian Byrne avatar
Written by Brian Byrne
Updated this week

Knowing how to effectively measure and analyze customer satisfaction, then act upon it, is a valuable asset. Workflows can help you achieve this, via Customer Satisfaction (CSAT) survey ratings.

Set up, configure and start measuring CSAT in Workflows (in addition to Automation Basics), and unlock major flexibility in presentation and orchestration.

Note: If you have "Ask for conversation rating" turned on in Automation Basics - these will still trigger in addition to any workflow actions you create as part of this workflow.

CSAT in Workflows can be configured to display at various touch-points throughout the customer’s experience, allowing you to gather responses and analyze the data, adjust customer services where needed, and continually improve the overall customer experience.


Get started

The following example uses the "Teammate changes conversation state" trigger, but this CSAT action can be added to Workflows using any trigger.

Go to AI & Automation > Workflows and click New workflow.

Choose Create from scratch and use the trigger "Teammate changes conversation state".

Select Closed and configure the trigger rules.

Use Audience to set rules and conditions that determine when the CSAT action should be sent.

Once you've finished setting up the trigger rules, you can click Save and close and start building your Workflow.

Adding the CSAT action to a Workflow

You can either:

  • Select Ask for conversation rating straight after the "Teammate changes conversation state" trigger.

  • Or add the Ask for conversation rating action to any workflow path.

Choose a predicate for CSAT ratings

You can use multiple predicates in audience rules or branches to target customers who have received a CSAT request for specific agent type: Teammate, Fin, or Chatbot.

When multiple agents are involved, who gets the CSAT rating?

When a Workflow sends a CSAT rating survey in a conversation with multiple agents, the rating attribution follows this order:

1. Teammate (Support agent)

2. Fin AI Agent

3. Chatbot (Customer Facing Workflow)

Only the most recent visible agent in the conversation will be rated. If no teammate is visible, we check for a Fin AI Agent, and then Chatbot (Customer Facing Workflow).

The Workflow will only send one CSAT survey per Support Agent in a conversation.

Reopened conversations

When a customer asks a new question in a closed conversation, it can be reopened.

In the example Workflow above, using the "Teammate changes conversation state" trigger, if the teammate changes the conversation state to closed, the CSAT survey will be sent again. This gives the customer an opportunity to update their rating.

If you don't want the CSAT survey to be sent again, you can branch on a condition before the "Ask for conversation rating" action. This condition should check whether the Conversation data "Conversation rating requested" is false.

You can also have a more granular control over when a CSAT request is shown in a conversation

by using the “Conversation Rating Requested for Agent” predicate.

You can use it in audience rules or branches to target customers who’ve received a CSAT request for specific agent type: Teammate, Fin, or Chatbot:

Prevent customers from rating after a given period of time

Click on the CSAT widget if you want to "Prevent customers from rating after a given period of time" and then specify the days/hours/minutes.

Note:

  • Customers will still be able to see and interact with the CSAT survey in the Messenger, but their response won't be recorded after this period of time.

  • This setting can also be configured in Basics which will be used as a fallback if there is no value set in the CSAT widget.

Prevent customers from changing their rating after a given period of time

Click on the CSAT widget if you want to "Prevent customers from changing their rating after a given period of time" and then specify the hours.

Note:

  • This setting will not prevent customers from submitting an initial rating, it will only prevent them from changing their rating. Use the "Prevent customers from rating after a given period of time" toggle instead if you don't want customers to leave any rating after the specified time.

  • This setting can also be configured in Basics which will be used as a fallback if there is no value set in the CSAT widget.

Wait for customers to give a rating before continuing the Workflow

Click on the CSAT widget and toggle on “Wait for customer to give a rating before continuing the Workflow”.

This is helpful if you'd like to take specific actions in the Workflow based on what the rating was, using conditional branches (see example below).

Learn how to measure CSAT in conversations where Fin AI Agent and chatbots are involved.


Want even more flexibility?

If you're looking to get even more flexibility on CSAT, such as changing the rating presentation, you can build your own CSAT Workflow using the same trigger ("Teammate changes conversation state") and clicking the Closed state.

But instead of applying the CSAT action, you can build your own flow using quick-replies to create your own rating scale (e.g. a 1-10 NPS scale, or your own preferred emojis or text).

Then configure what should happen when customers click the buttons, such as routing a low-scoring conversation to a team.

This will also trigger if closing a Customer ticket that was converted from a conversation.

How does reporting work for custom CSAT workflows?

To report on your own configured CSAT Workflow, make sure to apply a custom data attribute to your quick-reply buttons.

This can be done by first creating a conversation data attribute in the settings here using the text format. This will then appear as an option under the reply value button.

This will allow you to use Custom reports to report on your own configured CSAT, segmenting conversations by ratings and exporting the raw data to calculate your CSAT scores.

The built-in Customer satisfaction report will not apply to your own configured CSAT ratings, as this report depends on the pre-configured CSAT action.


FAQs

How do I opt a customer out of receiving future rating requests?


There may be times where you want to opt a specific customer out of receiving any future CSAT ratings. The simplest way to achieve this is to create a Tag which you can use to Tag user profiles that you wish to opt out of receiving rating requests.

When you create your Workflow, you can use a branch to create two pathways. The first will send the rating if the user does not have the tag. The second will just keep the conversation closed if the user has the tag.

How do I opt a specific conversation out of receiving a rating request?


There currently isn't a way to opt a conversation out of receiving a rating and this is not a feature that we are planning on building in the near future however you can upvote it in the Product Wishlist here. Note that you must be logged into the Intercom Community to view the Wishlist.

As a workaround, you can create a conversation data attribute that allows teammates to choose if a rating should be sent or not.

First, create a conversation data attribute visible to your team under Settings > Data > Conversations:

Next, use this attribute in your CSAT Workflow. For example, here we have created an attribute called "opt out of csat rating?" with the options of Yes or No which will be visible to teammates on the right hand side of the Help Desk.

You can use a branch to create two pathways. The first pathway will send the rating if the attribute is NOT yes. This means that it will send the rating if the attribute is blank or has been set to no.

The else path will close the conversation if the attribute has been set to Yes:



💡Tip

Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


Did this answer your question?