---
title: "What happens when a client writes instead of rating"
description: "Why the CSAT node has the «Other message» (other_input) outlet, why without it the message becomes a new inquiry from Start instead of going on through the scenario, and what stays in statistics."
---

# What happens when a client writes instead of rating?

The **CSAT** node asks the client one question: «Please rate us». The client may press a button, or may write «I have one more question about my card», send a document, a photo or a voice message. The second happens often: the operator closed the chat, the bot asked for a rating, and the client was not done yet.

A CSAT after the chat is closed is **a question, not a mode**. A message that is not a rating ends the survey without a rating, without «Thank you» and without asking again. From there the bot has three roads, and the scenario author picks one.

## Three roads for a message that is not a rating

| Road | How to enable | What the client sees | Where the message goes |
|---|---|---|---|
| **A new inquiry from Start** | nothing: this is the default | the Start greeting and the Start branch | into a new chat room as the first message; the dialogue state is reset as after `/start` |
| **Your branch** | wire the `other_input` outlet of the CSAT node | your branch right away: no greeting, no «Thank you» | into a new chat room as the first message, already in work at FastLine or an operator |
| **Skip the rating and go on** | wire `other_input` to the next node after the CSAT | «Thank you for your time» and whatever follows | nowhere: no node reads it |

The third road exists for scenarios where nothing closes after the CSAT and the client's message is deliberately not needed. In a typical chat-closing chain it means a lost inquiry.

## Why the default is Start, not «go on through the scenario»

It looks logical: the client wrote something else, the rating is skipped, we go on. But in most scenarios the CSAT is followed by «Thank you for your time» and the end of the dialogue. «Go on» would look like this to the client: they send the document the operator asked for and get «thank you, glad to help again». The document reaches neither the chat room nor the operator. That is the very failure the outlet was built to fix, only with a polite reply instead of silence.

In our observation such messages are mostly not random text but new questions and documents for the dialogue that was just closed. So the default road must not lose them even when the scenario author configured nothing. Start guarantees that: the message becomes a new inquiry. The `other_input` outlet exists to make the path shorter: no greeting, no second «How can we help?».

No existing scenario changes until you wire the outlet. If a particular scenario really needs the third road, wire the outlet to the next node after the CSAT, and everyone will see it on the canvas.

## Start means a clean dialogue

When the message goes to Start, the bot resets the dialogue state the same way as after the `/start` command: variables, saved answers and service data of the closed dialogue do not carry over into the new inquiry. A «Clear data» node after the CSAT is not needed for this case, and the new inquiry does not inherit the context of the previous one. One exception: the mark of the skipped survey stays, so that a late rating button lands in the right dialogue.

In the `other_input` branch the state is not reset: your branch may rely on the dialogue variables (language, client data).

## What a «skipped» survey means

In the bot's data the survey has a state: `completed` when a rating was given, `skipped` when something else came instead. Only you see this state while debugging; neither the client nor the operator does.

In statistics:

- a rating was given → a CSAT record with the rating and the comment, a mark in the chat room;
- something else came instead of a rating → no record, the dialogue is not rated in reports;
- a rating was given and a file came instead of a comment → the rating is saved once, the comment is empty;
- a message that went to the outlet or to Start → a new inquiry with its own chat room.

The outlet adds nothing new to statistics. It only changes where the dialogue goes.

## A late rating

The client may press a rating button after the bot has already left the survey. In Telegram the button arrives as a press, so the rating is saved into that dialogue's room and the current conversation is not interrupted. In the website chat and Viber buttons arrive as text, and the bot treats a late button label as a new message.

## Section timers

The CSAT node is often preceded by an inactivity timer that closes the dialogue after a few minutes of silence. When the message goes to the `other_input` outlet, that timer stays alive and may fire in the new chat room. So start the outlet branch with `action_interval__end_all`. On the Start road the Start branch does this itself.

## What the operator sees

A new chat room whose first message is the client's text or attachment. If the outlet is wired to FastLine or to connecting an operator with the message, the inquiry is in the queue at once, with no extra steps for the client.

Step by step: [How to hand a message written instead of a CSAT rating to an operator](/en/scenariobuilder/how-to/route-message-instead-of-csat-rating.md). Node parameters: [CSAT node parameters](/en/scenariobuilder/reference/csat-parameters.md).
