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

# Heatmaps

> Compare divisions, teams, and agents on call tags, QA items, and handle time in one color-coded grid with targets, trends, and drill-down.

Heatmaps turn your call tags into a single grid: one row per division, team, or agent, one column per tag answer, and a color on every cell that shows how far it sits from your target. Click any cell to see its trend, or click a name to drill into the people behind it.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-overview.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=4de9970896780d58ed2b4a36d551e190" alt="A published heatmap grouped by division with Handle Time, Escalated, Hold Count, and Issue Resolved columns, color-coded against targets" width="1440" height="900" data-path="manual/images/heatmaps-overview.png" />
</Frame>

<Note>
  Heatmaps is enabled per company. If you do not see **Heatmaps** in the left navigation, ask your Customer Success Manager to turn it on.
</Note>

## Who can do what

Access has two layers: a company-wide **audience** setting that decides who sees the tab at all, and per-person **heatmap roles** that decide who can build and publish.

| Role                                                | Can do                                                                                                                                              |
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Viewer** (any admin or manager, no role assigned) | Open every published heatmap, drill down, view trends, save personal presets, and export. Managers see only the agents in their reporting line.     |
| **Editor**                                          | Everything a Viewer can, plus create draft heatmaps and propose changes to live ones. Edits go to an Owner for approval.                            |
| **Owner**                                           | Everything an Editor can, plus publish heatmaps, approve or decline change requests, set the company default, widen the audience, and assign roles. |

Agents can only ever see their own row, and only once the audience is widened to **Everyone (including agents)**.

## Reading a heatmap

<Tabs>
  <Tab title="Rows and columns">
    * **Rows** are divisions, reporting-hierarchy levels, or individual agents, depending on how the heatmap was built. The **All** row at the top totals everyone you are allowed to see.
    * **Calls** is the number of calls in scope for that row over the selected window.
    * **Columns** come from your call tags. A tag with several answers (High / Medium / Low, True / False) gets one sub-column per answer showing the percentage of tagged calls with that answer. Numeric tags and **Handle Time** show a single **Avg** column.
    * Hover a column header to read what the tag measures and, if one is set, its target. Hover a cell to see the raw count behind the percentage, the tag's coverage, and the change since the previous period.
  </Tab>

  <Tab title="Colors and arrows">
    | Marker           | Meaning                                                                                                                                                                                                                                           |
    | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Green cell       | On target                                                                                                                                                                                                                                         |
    | Amber cell       | Near target                                                                                                                                                                                                                                       |
    | Red cell         | Off target                                                                                                                                                                                                                                        |
    | No color         | No target set for this column                                                                                                                                                                                                                     |
    | Up or down arrow | Change versus the previous period of the same length. Green means improving, red means declining, so an arrow pointing down can still be green for a "lower is better" metric. No arrow means the previous period has no data to compare against. |
    | Dash (-)         | No calls in scope                                                                                                                                                                                                                                 |
    | Warning triangle | The tag ran on fewer than half of the calls in scope, so the number rests on thin coverage                                                                                                                                                        |

    The legend under every grid repeats these markers.
  </Tab>

  <Tab title="Key stats bar">
    Above the grid, four tiles summarize what you are looking at:

    * **Calls in scope** and **Agents** for the current selection
    * **Window**, the date range being measured
    * **Trend vs**, the equal-length period immediately before the window that every arrow compares against

    The "Data through" stamp on the right tells you the last full business day (Eastern time) included in the numbers. Heatmaps update once a night, so today's calls appear tomorrow.
  </Tab>
</Tabs>

## Changing the time window

Click a range button to move the window. **1d** through **365d** are rolling day counts ending on the last complete business day. **Last month**, **Last quarter**, and **Last half** snap to the most recent completed calendar period. The trend period always matches the window's length.

<Tip>
  Changing the window keeps everything else you have set: sort order, hidden columns, the agent search, and the minimum-calls filter.
</Tip>

## Drilling down

<Steps>
  <Step title="Click a row name">
    In a division or hierarchy heatmap, row names with a small arrow are clickable. Click one to see the agents (or the next level of teams) inside it.

    <Frame>
      <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-drilldown.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=7b91006261d8d97003ca8f3f80aeeab4" alt="Drilled into the West division, showing five agents with a breadcrumb of All and West above the grid" width="1440" height="900" data-path="manual/images/heatmaps-drilldown.png" />
    </Frame>
  </Step>

  <Step title="Use the breadcrumb to come back">
    The **All > West** trail above the grid takes you back up one level or all the way to the top.
  </Step>

  <Step title="Search when the list is long">
    Agent-level views include a **Find an agent** search box and paging controls when there are many rows.
  </Step>
</Steps>

### Full roll-up view

A reporting-hierarchy heatmap can be built as a **full roll-up** instead. Every level appears on one page, indented and collapsible, so you can compare a team lead in one region with a team lead in another without navigating back and forth. Use **Expand all** and **Collapse all** above the grid, or the caret next to any team.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-tree.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=f71a27aca01b941be1ecdb450615d3af" alt="A full roll-up heatmap showing a regional manager, two team leads, and their agents indented under each other" width="1440" height="900" data-path="manual/images/heatmaps-tree.png" />
</Frame>

## Trends and call lists

Click any cell to open its trend drawer.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-trend.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=878a8867b1cbeda629571c2bec3dc61e" alt="Trend drawer for one agent's handle time showing this period versus previous period, a daily chart with the previous period shaded, and a ranking card" width="1440" height="900" data-path="manual/images/heatmaps-trend.png" />
</Frame>

The drawer shows:

* **This period** and **Previous period** values with the change between them, plus the target and tag coverage where available
* A chart of the metric over both periods, with a dotted line marking where the current window begins
* **View this period** and **View this + previous period**, which open the calls dashboard filtered to exactly the calls behind this cell
* **Where this person ranks** within their team and within everyone in the heatmap
* A collapsible **Data table** with the value and call count per day, week, or month

Click a **column header** (for example the **True** under Escalated) instead of a cell to see that metric for everyone in view, with **Leading** and **Needs attention** lists you can click through to individual trends.

## Shaping what you see

<AccordionGroup>
  <Accordion title="Hide agents with few calls">
    Type a number in **Hide agents with fewer than ... calls** to drop low-volume rows. A chip shows how many agents are hidden, with a **show all** link to bring them back.
  </Accordion>

  <Accordion title="Hide or collapse columns">
    Every answer column has an eye icon in its header to hide it. A chip tells you how many columns are hidden. When a tag has a target on one of its answers, use the collapse icon on the tag header to show only the targeted answers, and the **+N** link to bring the rest back.

    Answers named "Not Applicable" are hidden by default. Use **Show Not Applicable (N)** above the grid when you need them.
  </Accordion>

  <Accordion title="Sort">
    Click the sort arrows in any column header, including **Calls**. Click again to flip the direction.
  </Accordion>

  <Accordion title="Save a preset">
    Once the grid looks the way you want, open **Presets** and click **Save current view\...**. A preset remembers the window, drill position, sort, hidden columns, minimum-calls filter, and tree expansion.

    <Frame>
      <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-presets.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=be4741437aa6ed762e583e2e10175710" alt="The Presets menu open with a Save current view option" width="1440" height="900" data-path="manual/images/heatmaps-presets.png" />
    </Frame>

    Owners and Editors can also **Share with team** so everyone sees the preset, and **Make the default** so it applies automatically when the heatmap opens. Changing anything after applying a preset clears the "Preset:" chip; the display choices stay.
  </Accordion>
</AccordionGroup>

## Exporting

Open **Export** in the top right and choose one of two CSV files.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-export.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=b3edbc46f8aba6528dbbb8f94972f3b8" alt="The Export menu showing Grid (as displayed) and Data (analyst flat file) options" width="1440" height="900" data-path="manual/images/heatmaps-export.png" />
</Frame>

| Export                       | What you get                                                                                                                                             |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Grid (as displayed)**      | The table exactly as you see it: same window, drill level, sort, hidden columns, and minimum-calls filter.                                               |
| **Data (analyst flat file)** | One line per row and column with the count, tagged calls, coverage, band, trend, and target values. Display filters are ignored so the file is complete. |

Exports are not available on draft previews, because the numbers there are samples.

## Building a heatmap

Owners and Editors create heatmaps. Click **New heatmap** in the top right.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-builder.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=c5cf5a4cc2453b61baef8b68c02dfd7d" alt="The New heatmap form with Name, Data, Rows, Include agents who, filters, Divisions, and Columns sections" width="1440" height="1545" data-path="manual/images/heatmaps-builder.png" />
</Frame>

<Steps>
  <Step title="Name and shape">
    Give the heatmap a name your team will recognize, then choose:

    * **Data**: Live calls, Training simulations, or both.
    * **Rows**: Divisions (drill into agents), Reporting hierarchy (drill level by level), or Agents. For the hierarchy, pick **One level at a time** or **Full roll-up** as the layout.
    * **Include agents who**: everyone with any data, agents active in the last 31 days, or agents with 50 or more records in the last 31 days (useful for excluding test accounts).
  </Step>

  <Step title="Narrow the calls (optional)">
    **Only include calls where...** accepts the same filters as the calls dashboard, such as product, duration, or another tag's answer. Leave it empty to include every call.

    Under **Divisions**, tick specific divisions to compare just those, for example North versus South.

    <Note>
      A heatmap with call filters needs its own history built after publishing. See the Publish step below.
    </Note>
  </Step>

  <Step title="Pick columns">
    Tick the tags to measure. Use **Find a tag...** if the list is long. The picker also offers **Handle Time**, your QA items, and any combined metrics your company has defined.
  </Step>

  <Step title="Preview">
    Click **Create draft preview**. The heatmap opens immediately with clearly marked **sample** numbers so you can check the layout before any data is processed.

    <Frame>
      <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-draft-preview.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=c4199a2aac88873e215caa6dfdd5ff79" alt="A draft heatmap with a Draft badge, a Sample preview banner, and Edit and Publish buttons" width="1440" height="900" data-path="manual/images/heatmaps-draft-preview.png" />
    </Frame>

    Use **Edit** to keep adjusting. Only you and other Owners and Editors can see a draft.
  </Step>

  <Step title="Publish">
    Owners click **Publish**. Editors click **Submit for approval**, and Owners are notified.

    What you see next depends on the heatmap:

    * **No call filters, columns already used elsewhere**: real numbers appear immediately.
    * **A tag no other heatmap uses yet**: a banner names the tags still loading. Recent days fill in first and the full history arrives after the overnight update.
    * **Call filters set**: the heatmap publishes right away and shows what is ready so far, with a banner until the overnight update completes (up to 24 hours).
  </Step>
</Steps>

### Changing a live heatmap

Edits to a published heatmap never touch the live version directly. Choose **Edit heatmap** (Owners) or **Propose changes** (Editors) from the **...** menu, make your changes, and save. Reddy creates a **change request** with its own sample preview.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-pending-request.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=60e17ab35450699f8471bb2b8237fc44" alt="A live heatmap with a yellow banner reading 1 pending change request and a button to open it" width="1440" height="900" data-path="manual/images/heatmaps-pending-request.png" />
</Frame>

Owners see a **pending change request** banner on the live heatmap. Opening the request shows the proposed layout with **Approve & publish** and **Decline** buttons. The person who proposed it can **Withdraw** it instead.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-review-request.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=34e60bc2010cdfc6fdaf0844dd76c474" alt="A change request preview with View live version, Edit, Decline, and Approve and publish buttons" width="1440" height="900" data-path="manual/images/heatmaps-review-request.png" />
</Frame>

<Note>
  If several change requests are open for the same heatmap, approving one supersedes the others.
</Note>

### The ... menu

| Action                                 | Who                                       | What it does                               |
| -------------------------------------- | ----------------------------------------- | ------------------------------------------ |
| **Edit heatmap** / **Propose changes** | Owners / Editors                          | Opens the builder for this heatmap         |
| **Manage combined metrics**            | Owners, Editors                           | Jumps to Calibration > Metrics (see below) |
| **Make company default**               | Owners                                    | This heatmap opens first for everyone      |
| **Manage roles**                       | Owners                                    | Opens the roles and audience page          |
| **Delete heatmap**                     | Owners, or the Editor who created a draft | Removes the heatmap                        |

Use **Switch heatmap** to move between all published heatmaps and your drafts.

## Roles and audience

Owners open **... > Manage roles** to control who sees heatmaps and who can build them.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-roles.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=12d611b95c5c7819a587ff4e2fcaa2d0" alt="The Heatmap roles page with a Who can see heatmaps selector and a table assigning Viewer, Editor, or Owner to each person" width="1440" height="900" data-path="manual/images/heatmaps-roles.png" />
</Frame>

**Who can see heatmaps** widens the audience one step at a time. Each step includes everyone from the steps before it:

1. Owner
2. Owner + editors
3. All admins
4. Admins + managers
5. Everyone (including agents)

Below it, set each admin or manager to **Viewer**, **Editor**, or **Owner**. Roles apply to this company only.

## Targets

Targets decide the cell colors. They are set where the metric is defined, under **Calibration**, so a single target applies to every heatmap, every coaching goal, and every column at once.

* For a **call tag** or **QA item**, open **Calibration**, find the item, and use the **Target** section on its page.
* For **Handle Time** and **combined metrics**, open **Calibration > Metrics**.
* From a heatmap, the small target icon next to a column header opens **Calibration > Metrics**. Handle Time and combined metrics are listed there. For a call tag or QA item, switch to the **Calibration** tab, open the item, and click the **Edit** link under its **Target** heading. The **Edit item** button at the top of that page changes what the tag measures, not its target.

<Note>
  Only tags that appear as items in Calibration can be given a target. If a tag you use as a heatmap column is missing from Calibration, ask your Customer Success Manager to add it.
</Note>

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-target-dialog.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=cc543521842e175ef69946beee4d135f" alt="The Set a target dialog with Applies to, Direction, Minimum, and Maximum fields" width="1440" height="900" data-path="manual/images/heatmaps-target-dialog.png" />
</Frame>

| Field                 | Notes                                                                                                                                                                                                 |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Applies to**        | Company-wide, or a single product. A product target is only used where the numbers are about that one product, such as a heatmap filtered to it. Anything spanning products reads the company target. |
| **Direction**         | Higher is better or lower is better. Drives which arrows are green and which are red.                                                                                                                 |
| **Minimum / Maximum** | Set one for a threshold or both for a band. Tag answers and combined metrics are percentages; handle time is in seconds. Leave both empty and save to clear the target.                               |

Managers who are not on the Calibration edit list can still propose a target. Their change appears under **Target changes awaiting approval** on the Metrics tab until an approver accepts it.

<Tip>
  Coaching goals start at the metric's target, so setting a target here also gives coaches a sensible default.
</Tip>

## Combined metrics

A combined metric merges several tags into one named true/false measure, for example "Successful Outcome" = outcome is sale AND objection handled is not false. Once defined it appears in the heatmap builder's column picker and in the coaching goal picker.

Open **Calibration > Metrics**. The tab lists your combined metrics, the built-in call metrics such as Average Handle Time, and any target changes awaiting approval.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-metrics-tab.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=00a1886a7adc12a2c0d4cfc153db8bba" alt="The Calibration Metrics tab with a target change awaiting approval, an empty combined metrics table, and the built-in Average Handle Time metric" width="1440" height="980" data-path="manual/images/heatmaps-metrics-tab.png" />
</Frame>

Click **New combined metric**.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-combined-metric.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=b9c10d0e35abb651abdc0eb4ef247695" alt="The New combined metric dialog with Name, Match ALL or ANY, and a condition row for Tag, is, value" width="1440" height="900" data-path="manual/images/heatmaps-combined-metric.png" />
</Frame>

<Steps>
  <Step title="Name it">
    Use the name you want to see as a column header.
  </Step>

  <Step title="Choose how conditions combine">
    **ALL conditions (AND)** or **ANY condition (OR)**.
  </Step>

  <Step title="Add conditions">
    Each condition tests one thing: a tag's answer, a QA score, call duration (in minutes), product, or call type (live versus training). Click **Add condition** for more.
  </Step>

  <Step title="Create">
    Click **Create combined metric**. History is computed overnight; the metric shows as loading on any heatmap that uses it until then.
  </Step>
</Steps>

<Note>
  Combined metrics are columns only. They cannot be used as an "Only include calls where..." filter in the builder, and they never appear on the calls dashboard. A company can have up to 10 active combined metrics. Editing one rebuilds its history overnight.
</Note>

## Renaming a metric and its answers

Long tag names and raw answers like "true" can make a grid hard to read. Open the item in **Calibration** and scroll to **How this reads**.

<Frame>
  <img src="https://mintcdn.com/reddy-376a6c19/xH5S9YYK4GNKSXqt/manual/images/heatmaps-entry-page.png?fit=max&auto=format&n=xH5S9YYK4GNKSXqt&q=85&s=729696330c534e29c60d784d65eba8a9" alt="A Calibration item page showing its Options, a Target section, and a How this reads section with Name and What this measures fields" width="1440" height="1228" data-path="manual/images/heatmaps-entry-page.png" />
</Frame>

* **Name** renames the metric everywhere: heatmap column headers, dashboard filters, and coaching goals.
* **What this measures** appears when someone hovers the column header.
* **Answers** lets you relabel each answer (for example "true" reads as "Sought to Understand") and mark it **Good -- want more** or **Bad -- want less**. Good answers get green arrows when they rise; bad answers get green arrows when they fall.

Wording changes are presentation only. Saved filters, click-through call lists, and every number stay exactly the same.

## FAQ

<AccordionGroup>
  <Accordion title="When does the data update?">
    Once a night. Each heatmap shows "Data through" the last complete business day in Eastern time. Calls from today appear after tonight's processing. When a heatmap or a newly enabled company is still loading history, a banner says so and shows what is ready.
  </Accordion>

  <Accordion title="Why do heatmap numbers differ slightly from Reports or the calls dashboard?">
    Heatmaps count every scored call in the window, while dashboard and report views may apply default filters such as a minimum call duration. Heatmaps also close each day at midnight Eastern. To reconcile, use the **View this period** button in a trend drawer, which opens the dashboard with the heatmap's exact filters.
  </Accordion>

  <Accordion title="Why do I see both True and true as separate columns?">
    Heatmaps show tag answers exactly as they were stored. If a tag's history contains both spellings, each becomes its own column so that click-through counts always match. Ask your Customer Success Manager about a one-off cleanup if the split matters to you.
  </Accordion>

  <Accordion title="Why is a cell blank or showing a dash?">
    A dash means no calls in scope for that row and window. A cell with no color means no target is set for that column. A warning triangle means the tag ran on fewer than half of the calls, so treat the number with care.
  </Accordion>

  <Accordion title="Why did the arrows disappear when I picked a longer window?">
    Arrows compare the window with the equal-length period before it. On a long window the comparison period may reach back before your call history begins, so there is nothing to compare against and the arrows are left off. Hover a cell and the tooltip says "no prior-period data".
  </Accordion>

  <Accordion title="Why can't I see some agents?">
    Managers see only agents in their reporting line. Check the **Hide agents with fewer than ... calls** filter, and remember that a heatmap built with "Have records in the last 31 days" or "Have 50+ records" excludes quieter agents by design.
  </Accordion>

  <Accordion title="Can I compare live calls and training simulations?">
    Yes. Set **Data** to **Both (live + training)** when building the heatmap, or build one heatmap for each and use **Switch heatmap** to flip between them.
  </Accordion>

  <Accordion title="Why does the preview show numbers before I have published?">
    Drafts and change requests show clearly labeled **sample** numbers so you can judge the layout. They are not your data. Real numbers load after publishing.
  </Accordion>

  <Accordion title="Why did my saved preset chip disappear?">
    The chip means "this is exactly the saved preset". As soon as you change the window, sort, or any filter the chip clears, but your current display choices are kept. Save again to capture the new state.
  </Accordion>
</AccordionGroup>

## Additional Resources

<CardGroup cols={2}>
  <Card title="Manager Dashboard" icon="gauge" href="/manual/reporting-insights/manager-dashboard">
    Review individual agents and open the calls behind any heatmap cell.
  </Card>

  <Card title="Add Call Metadata" icon="code" href="/guides/add-call-metadata">
    Send custom tags via API so they can become heatmap columns.
  </Card>
</CardGroup>
