Skip to documentation
Documentation

Signals and mood

See how contacts feel about your agent, and which replies made it worse.

Keiki reads every user turn shortly after it ends. It gives the contact's message a mood score and checks it against a fixed set of signals. You don't need to set anything up: the results show up on the agent's Quality tab and in Conversations as turns are reviewed.

Mood

Each user turn gets a mood score from 0 to 4:

ScoreMood
0Angry
1Annoyed
2Neutral
3Satisfied
4Delighted

A user's message is read as a reaction to the agent's previous reply. When the mood falls by 1.5 or more since the contact's last turn, or falls to annoyed or lower, the turn is a mood drop. The reply that came before it is then judged, and the reason is shown next to the drop. When the mood climbs back the same way, the turn is a recovery.

If a turn couldn't be read, it shows as not classified. It never counts as neutral. Turns with no message from a person aren't scored: loop turns, staff steers, internal notes, and API turns that only send back client tool results.

Signals

SignalComes from
PraiseThe contact's message
FrustrationThe contact's message
User correctionThe contact's message
Task failureThe contact's message and the agent's reply
Unsupported claimThe agent said it did something it had no tool call for
Scheduled action errorA reminder or scheduled action didn't happen
Positive / negative reactionMessage reactions
Runtime faultsErrors, failed tools, spent budgets, stalls, repeat replies

Where to see it

  • Quality tab → Signals: each signal over the last day, 7, 30 or 90 days. It shows the number of events, the share of users who hit it, and the change against the period before. Select a signal to see the turns it fired on. Biggest mood drops lists the sharpest falls along with the judge's reason.
  • Conversations: the Mood column shows each contact's latest mood, with an arrow when it just dropped or recovered. Filter on Mood dropped (7 days) to find conversations that went wrong this week. Inside a conversation, the mood strip has one point per user turn. Select a point to jump to that message and open the reply behind it.

Retention and billing

Mood and signals are kept for 90 days. That's why the 90-day range has no period-over-period change. Scoring uses the same OpenRouter key as your quality reviews: your organization's own key if one is saved, otherwise Keiki's.