Red dots and badges
In the portal: Nothing. There is no setting for any of this; it follows from what a participant has.
What it is
A badge is the small red count that tells a participant something is waiting for them before they have opened anything.
The app is deliberately quiet. One badge, on one tab, counting one thing: unread chat messages. Nothing else carries a badge, a red dot, or any other "look here" mark. A due check-in, new content on the home screen and everything on Progress all arrive without one.
A participant who is not being pestered is more likely to read the one thing genuinely waiting for them.
So design on that basis. A delivery appearing on the home screen is quiet: it appears, and the participant sees it when they next open the app. Where a due item has to be announced, announce it with a push, authored on a journey node. See Push.
What it looks like
On the Chat tab, a red circle with a number in it, sitting on the tab icon. The number is how many messages the participant has not read yet, added up across all of their conversations at once. Three unread in one conversation and one in another shows as 4.
Inside the chat list, each conversation carries its own count on its own row, so opening Chat tells the participant which conversation to open.
When it matters
A worked example. A coach reads a participant's check-in on Tuesday afternoon and replies. The participant gets a push saying a message is waiting. They do not open it. On Thursday they open the app for their daily check-in, and the 1 on the Chat tab is what stops them leaving without reading the reply.
The badge is the second chance. The push is the first, and pushes get dismissed.
The controls
There are none. The badge is fixed, and this is the whole of it.
| What people ask | How it works |
|---|---|
| Can a tenancy turn the badge off? | It is always on. |
| Can another tab carry it? | It sits on Chat, and on Chat only. |
| Can a due delivery raise one? | Announce a due item with a push. See Push. |
| Can a conversation be muted? | Every message counts. Keep conversations small. |
| Is there a number on the app icon? | The count sits on the Chat tab. |
Every message counts. A message in any conversation a participant belongs to adds to the badge and sends a push. So keep a conversation to the people who need to be in it, because that is what decides how much a participant hears from you.
The one related control you do have sits on the home screen rather than here.
A surface's showCompletionState decides whether items draw their state marks,
the dashed ring on something outstanding and the green tick once it is done.
Those are marks about an item, not a count of what is new. See
Anatomy of a surface.
How it behaves
Zero shows nothing. The badge appears only when the count is above zero. A successful check that finds nothing unread leaves the tab bare rather than drawing a 0.
A failed check leaves the last number alone. If the app cannot reach the platform, the badge keeps whatever it was showing rather than dropping to nothing and then jumping back. A participant never sees the count flicker.
It refreshes when the app is opened, not continuously. The app does not sit and poll. It re-counts when the participant brings it to the front. A message that arrives while they are looking at another app is announced by the push, and the badge catches up when they return.
Reading a conversation clears it. The count is measured against the last message that participant has actually read in each conversation, so the badge falls as they read and not on a timer.
A push and a badge are separate mechanisms and they can disagree. The push goes out the moment a message is posted. The badge is counted the next time the app is opened. A participant who taps a push and reads the message never sees the badge at all, which is correct: read the push as the announcement and the badge as the second chance.
Staff alerts are not participant signals. Some things raise work for a coach in the portal without anything at all appearing on the participant's phone. That is deliberate. Do not read a quiet phone as nothing having happened.
The Chat tab badge
Both phones badge the Chat tab with the participant's total unread count, and both re-count when the app comes back to the front. The per-conversation counts sit inside the chat list as well, on each conversation's own row.
Where a message has to be read, the push is what announces it and the badge is what catches somebody who dismissed the push. Use both.
Next
One badge, counting one thing. It is the second chance a participant gets after a push has been dismissed, and reading the conversation is what clears it.
Because there is only ever one, anything else that has to reach a participant has to reach them another way. Push is how a journey announces something, and it is the only thing that reliably tells somebody a message is waiting.