Sentiment scores what the customer writes or says during a conversation. It gives you two separate scores:
- The running score is the system variable
SentimentScore. Your flows read it during the conversation to react to how the conversation is going. - The conversation score is calculated once, when the conversation ends. The dashboards, the Conversations list and the exports report this score.
The two scores are calculated differently, and they do not always agree.
📝 Note: Sentiment must be enabled for your tenant. If Sentiment is not offered as a Type when you create a service integration, it is not enabled. Contact SESTEK.
Setting up Sentiment
- Go to Integrations > Services and click New Integration.
- Enter a Name, then choose Sentiment as the Type and Sestek as the Provider. Sestek is the only provider, and the form has no other fields.
- Save the integration.
- Open the project, go to Project Settings > General and add the integration in Select Services.
From then on, the project's conversations are scored. A tenant can have only one Sentiment integration.
Using the running score in a flow
SentimentScore is a number between -1 and 1 with three decimals, such as -0.250. It works like this:
- It starts at 0 at the beginning of every conversation.
- Each customer message is scored, and its score is added to the total. The total always stays between -1 and 1.
- Only customer messages count, whether typed or recognised from speech. This includes what the customer writes during a live chat. Bot and live agent messages are never scored.
- If scoring fails for one message, the total keeps its previous value.
- When Real-Time Translation is on, the translated text is scored, not the text the customer originally wrote.
Example: hand an unhappy customer to a live agent
Suppose a support flow asks "Did that solve your problem?" and should pass a clearly unhappy customer to a live agent. Place a Condition node right after the customer's reply:
- In the Condition node, choose the
SentimentScorevariable. - Add a condition with the operator
<and the value-0.3. - Connect that condition's output to your live agent handover, for example a Live Chat Transfer node.
- Connect else to the rest of the flow.
💡 Tip: The score is a running total. It reflects the whole conversation so far, not only the last message. After several positive messages, one negative message may not bring the total below your threshold. Pick the threshold with this in mind, and test it in a conversation of realistic length.
📝 Note: If the project has no Sentiment service,
SentimentScoreis empty. A condition such as< -0.3then never matches, so the conversation always takes else.
The conversation score
When the conversation ends, SESTEK's sentiment service scores the whole conversation once. This is the score used in reporting. It is not the final value of SentimentScore, and the two can differ.
| Level | Score |
|---|---|
| Negative | Below 0 |
| Neutral | 0 |
| Positive | Above 0 |
Where the conversation score appears
| Place | What you see |
|---|---|
| Dashboard > Business Metrics | Sentiment Trends and Average Sentiment. See Business Metrics. |
| Conversations list | A Customer Sentiment column, hidden by default. Add it from Column options (the wrench to the left of Export). There is also a Customer Sentiment filter with Negative, Neutral and Positive. |
| Conversation details | The customer sentiment, on a scale from -1 to 1. |
| Exports | A Customer Sentiment column. |
| Custom Dashboards | The measures Average sentiment score and Closing sentiment score. See Custom Dashboards. |
