Skip to content

Sentiment

The Sentiment page shows the mood of a project’s communications: how positive or negative people sound, who’s driving it, and which way it’s trending. Each message is scored on its own, then the scores are combined into one project mood.

Sentiment is read from four sources: email, Slack, meetings, and ClickUp comments. Every qualifying message is scored separately, so the mood is built from many small signals rather than one judgement. Messages that clearly aren’t mood signal — automated senders, empty bodies, held or quarantined mail — are skipped.

Scores run from −1 (very negative) to +1 (very positive), with around 0 meaning neutral, factual, or administrative. The label scale is Very negative / Negative / Neutral / Positive / Very positive.

The project mood is not a simple average of every score. Each message is weighted before it counts:

  • Trust — the scorer’s own confidence, plus a heavy down-weight for messages whose source looks untrustworthy (an email that fails authentication, or a high spam score). A forged angry email barely moves the mean.
  • Recency — older messages fade with a 30-day half-life, so the current mood reflects what people are saying now, not a year ago.

The overall card shows the weighted score, how many observations it’s built from, and notes that it’s trust-weighted with a 30-day half-life. Breakdowns sit beside it: mood by source and by stakeholder, plus a trend chart over time (weekly or monthly).

Everything on this page is built only from messages you are allowed to open. A message from a private Slack channel, an email restricted to a higher clearance level, or a message shared with a named list you are not on does not count towards your mood, your breakdowns, your counts or your filters, and its rationale, subject and channel name never appear. Two people on the same project can therefore see different figures, and an org admin sees them all.

People are shown the same way. If a message is open to you but the person who sent it has a restricted record, they appear as Unknown, and the message list shows their email or Slack name instead.

See Clearance for how access levels are set.

At the top of the page is a generated Summary: a headline, a few sentences on the overall mood and what’s driving it, and a short Watch list of people or threads worth attention.

This summary is written from the rollup figures and the one-line rationale attached to each scored message — never from the raw message bodies. It names people and channels but doesn’t quote what anyone wrote.

Each summary is written only from messages everyone with your role on the project may open, and you are only ever shown the summary for your own access. Messages shared with you personally on a named list appear in your figures and your message list, but not in the summary, because the summary is shared with others in your role. If every message you can see was shared with you that way, there is nothing to summarise, and the panel says so when you ask for one.

The summary is saved and only refreshed when it’s missing or older than about a month, so opening the page is fast. It is also rewritten automatically if any message or person it was written from has since been restricted or removed, including a message that was edited and brought in again from a channel or space that has since turned private. Use Regenerate to force a fresh one. If the workspace has used its AI budget and no current summary exists for your access, the panel says No summary yet.

Use the filter bar to narrow everything at once — by person, channel/space, source, label, or time window. Clicking a week on the trend chart filters the whole page to that week.

Selecting a person opens their “why” view: their overall mood, a split by source, and every scored message with its rationale — so you can see exactly what’s behind a negative read. Messages not yet tied to a known person sit in an Unattributed bucket until their email is linked.

Sentiment is a module you can disable per project. Turning it off stops new messages being scored, but existing scores stay visible and the page shows a banner. Re-enable it under Operations → Modules, then run Backfill sentiment from the Operations page to catch up.