> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sentiment

> See how the people using your agents feel, and whether your agents are getting it right, message by message.

Sentiment scores every message a person sends your agents, each from 0 to 100%, for four feelings — **angry**, **frustrated**, **happy** and **confused** — and three signals about how the agent is doing:

* **Correcting**: the person says the agent got something wrong.
* **Resolved**: the person confirms the agent solved their problem.
* **Doubtful**: the person questions whether the agent's answer is true, or whether it really did the work.

Use it to find the conversations where people are losing patience, the agents they keep having to correct, and the replies that land well.

<Note>
  Sentiment is off until an admin turns it on for the organization. Scoring uses your organization's LLM budget — one scoring request per message — and sends each message, with the agent reply before it, to the scoring model.
</Note>

## Turn it on

1. Go to **Administration → Settings**.
2. Under **Human input sentiment**, switch it **on** and save.

Messages from the last day are scored first. After that, new messages are scored within a minute or two of arriving.

## Which messages are scored

Only messages a person wrote:

* Messages your custom agents record as human input with the SDK.
* Prompts typed into Claude Code, Codex, OpenCode, pi, Hermes and OpenClaw, when session transcripts are sent (the default). Scheduled jobs, injected instructions, sub-agent hand-offs and other text the agent's own runtime writes are not scored. Nor are non-interactive runs such as `claude -p`, `codex exec` and `hermes -z`: a script wrote those prompts, not a person.

Scoring judges the person's own words. A short, blunt instruction such as "fix it" is not counted as anger, and asking a question is not counted as confusion. A new request is not a correction, and thanks on their own do not count as resolved.

<Tabs>
  <Tab title="Dashboard">
    1. Go to **Observe → Sentiment**.
    2. Filter by environment, agent, or session ID.
    3. The header counts **flagged** messages — any negative score (angry, frustrated, correcting, confused or doubtful) of 35 or more out of 100 — and names the top signal.
    4. **Score over time** charts the average of each score. Pick which scores to show, and click a point to read the messages behind it.
    5. **By agent** compares agents side by side.
    6. **Messages** lists the flagged messages, strongest first. Switch to all messages, or sort by newest or by any single score, and open a message's session to read the conversation around it.
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    fp events --event-type human_input --since 24h
    fp --json events --full --session-id <session-id> --all
    ```
  </Tab>
</Tabs>
