This heatmap shows when conversations change state. Every status change on every conversation adds one count to the hour it happened, so it is a picture of how busy your whole operation is, not only the arrivals or the claims.
Where to find it
In Reports, open Heatmaps in the left menu and click All Activity. The page title reads All Hourly Conversation Activity.
Running it
- Click Reports in the main menu.
- In the left menu, open Heatmaps and click All Activity.

- Pick a date range at the top of the page. Seven days gives a clear weekly pattern; a few weeks gives a steadier one.
- Click Sources and tick the conversation sources you want included. A source here is a channel your ministry has connected, such as a website chat, a text number or a social page. Choose a source group to select several at once.
- Click Run Report.

What each cell counts
Echo writes an event each time a conversation's status changes to something different from its last one. This heatmap adds up all of those events, for these statuses, in the hour each was recorded:
| Status | What it means |
|---|---|
| Initializing | The conversation has been opened and is still being set up. |
| Bot | An automated reply is handling the conversation. |
| Pending | Waiting in the inbox for a responder. |
| Selected | A responder has chosen the conversation and is about to claim it. |
| Active | Claimed and being worked. |
| Closed | Finished by a responder. |
| Timeout | Ended while waiting, with nobody having claimed it, after the wait ran out. |
| Abandoned | Ended while waiting because the seeker left. |
| Hidden | Taken out of the active view by a responder. |
| Blocked | Blocked by a responder or admin. |
The page's own note lists these same ten. Changes that are not status changes, such as a tag being added, are not counted.
A conversation's starting status is not logged as an event; only later changes are. A new conversation that arrives and is never touched adds nothing to this heatmap. Use the Inbound Conversations Heatmap to see arrivals.
This report is built for conversations. Phone calls keep their own set of statuses, which it mostly does not include. The Created At / Closed At switch in the header does not change it.
Reading the grid
The report is one table. Each row is one day in your date range, labeled with the first two letters of the weekday and the day of the month, such as Mo-05. Each column is one hour of the day, from 12a to 11p. Hours are counted in the time zone chosen next to the date range, which starts as your ministry's time zone.
Each cell is a count. Cells are shaded from pale to deep blue-green in steps, and the shading is relative: the busiest cell on the screen gets the deepest color, and an hour with a count of zero is left unshaded. Two reports side by side will not use the same scale, so read the numbers, not just the color.
| Control | What it does |
|---|---|
| Run Report | Builds the grid for the date range, time zone and sources currently selected. After you run it the button stays grayed out until you change one of them. |
| Average (the small network icon, with the tooltip Average) | Collapses the grid to one row per weekday. Each cell becomes the average for that weekday and hour across the days in your range, rounded down to a whole number. Click it, then run the report again. |
| Download (the arrow icon) | Downloads the same data as a file, in your account's download format. |
| Star | Pins this report as a card you can come back to quickly. |

What the measurements mean
| Term | What it means |
|---|---|
| Activity | A status change on a conversation. One conversation that is claimed, closed and then reopened produces several. |
| Event | The log entry Echo writes for a status change. This report counts those entries. |
| Source | A channel your ministry connected. Only conversations on the sources you select are counted. |
What to do with it
Use it to find the busiest working hours overall. If you then want to know whether that busyness is seekers arriving, responders claiming or conversations being lost, open the Inbound, Claimed and Missed heatmaps for the same range.