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

# Issues

> What an issue is, which issues reach the Fix and Improve sections, what each issue contains, and how Signal tells you whether your fix worked.

An issue is one problem you can fix. It names where the problem happens, what causes it, and what to change, and it carries the calls that show it.

Signal groups problems across calls by the change that would fix them, so one issue is one repair. A slow tool is one issue wherever its silence shows up, and questions the agent cannot answer at one step are one gap, even when callers word them differently.

## Fix and Improve

Signal lists **confirmed patterns only**: problems it has seen across several different calls and callers. Where a pattern is listed depends on whether Signal established its cause.

| Section | What it holds | Where you see it |
| - | - | - |
| **Fix** | A confirmed defect with an established cause, in your agent or outside it | Top 3 on **Overview**, with a line such as "2 more to fix on Issues". All of them under **To fix** on **Issues**, which you can narrow to **Technical**, **Flow** or **Content** |
| **Improve** | A change you control that moves one of your numbers but is not one malfunction | Up to 8 on **Overview**, all of them under **Improve** on **Issues** |
| **Cause not established** | A confirmed pattern whose cause Signal could not establish | At the bottom of **Issues**: the 5 highest-priority ones, then a line such as "3 more counted, not listed". Never on **Overview** and never counted as something to fix |

**Outside your agent.** When the cause sits outside your agent, the Fix row says so first, for example "Outside your agent: the service behind lookup\_vehicle is slow to answer." Whoever runs that service has the fix; a change in your agent can only soften it.

**Improve.** An Improve item names a change that is yours to make, such as how a question is asked or when the agent hands a call to a person, and the number it moves: "Yours to change: how this question is asked. Moves Got it done."

**Not on the board.** Some patterns are kept but not listed in the app, the API, the MCP server or the copilot: ones not yet confirmed, ones that are a consequence of a larger issue, and what callers did that no change to your agent would prevent (never spoke, stopped answering, hung up on the greeting). Signal keeps reading them as new calls arrive. Opened by its link, such an issue is tagged **Not on the board** with one sentence saying why.

## What an issue contains

| On the issue | What it tells you |
| - | - |
| Title, place and tags | The problem, the step, tool or transition, its **Kind** (see [Lanes](/concepts/lanes#where-you-see-lanes)), and **Improve**, **Cause not established** or **Not on the board** when they apply |
| A line under the title | Where the [grace period](#the-grace-period) stands |
| **Calls** | Calls affected, callers, and share of all calls |
| **Ended badly** | Share of those calls that ended badly for the caller |
| **Confidence** | How sure Signal is that the issue is real and its cause is right |
| **Seen on** | The agent versions its calls ran on |
| A note | Who has the fix for an outside cause, the change and number for an Improve item, or why an issue is not listed |
| **Cause** | What the calls point to. A hypothesis until a change proves it. Headed **What was seen** when the cause is not established |
| **Suggested fix** | One change to make. Headed **What to check**, with no change, when the cause is not established |
| **Evidence** | Distinct quotes, each opening that moment in its call |
| **Recent calls** | The latest calls behind it. **View calls** lists them all |
| **By version** | Each version's share of calls with the issue, and whether the live version fixed it. See [Did my fix work](#did-my-fix-work) |
| **In the configuration** | What the configuration says at this step or tool. Never offered as the cause |

Some issues also show their [lane](/concepts/lanes), **Where** under the cause, **Lasting harm** in place of **Ended badly**, **Checked** (the calls on which the cause was confirmed) in place of **Confidence**, and **Outcomes it produced**. A cause headed **Model's reading** has not been confirmed on the calls: treat it as a lead, like **What was seen**.

## Cause not established

When the calls do not show why something happened, Signal does not guess:

* **On Issues**, the pattern is listed under **Cause not established** with what was seen and what to check. It can move to **Fix** once Signal establishes a cause.
* **On the issue page**, a **Cause not established** tag, **What was seen** in place of **Cause**, and **What to check** in place of **Suggested fix**. Treat it as a pointer to the calls, not an explanation.
* **On the overview board**, when a number changes, a tile names an issue as the reason only when Signal can tie the change to that issue. Otherwise it says **Cause not established.** This is a common answer.

A plausible reason that turns out wrong sends someone to fix the wrong thing and teaches everyone to stop trusting the board.

## How the board is ordered

Issues are ordered by impact, so the top of each list is where a fix helps the most callers. Two things you control change the order:

* **Your brief.** Issues at a part your [brief](/concepts/the-brief) marks **High** under **Matters** move up, and issues at a part marked **Low** move down.
* **Your fixes.** An issue the live version fixed is listed after every issue still happening.

Use the order as a starting point and read the calls.

## Status

| Status | What it means | Set by |
| - | - | - |
| **Discovered** | New, or back after being withdrawn | Signal |
| **Investigating** | Someone is looking into it | You |
| **Fix deployed** | A fix is live | You |
| **Measuring** | Waiting for enough calls on the new version | You |
| **Resolved** | No call has shown it for the grace period, or you marked it. Hidden until **Show resolved** | Signal, or you |
| **Regressed** | A call that started after it was resolved shows it again | Signal |
| **Withdrawn** | Signal no longer finds it, for example after an improvement to its analysis | Signal |

## The grace period

The grace period is how long your agent has to take calls without an issue before Signal counts it as resolved: **7 days** unless you change it.

* **Set it** on **Issues**, next to **Show resolved**: **Resolved after 7 days without a sighting**, with 1, 3, 7, 14 or 30 days. It belongs to the agent and applies at once.
* **Resolving.** An open issue becomes **Resolved** when the agent's newest call is at least the grace period past the last call that showed it. The clock is your agent's calls, not the calendar, so an agent that stopped receiving calls keeps its issues open. The line under the title reads "Resolved by Signal", with **Confirm resolved** to make the resolution yours, so a later change to the grace period does not reopen it.
* **Marking it yourself** starts the same watch: "Resolved Oct 3. Signal watches the next 7 days of calls; one that shows it again sends it back as regressed."
* **Coming back.** Only a call that started after the resolution reopens it. Calls from before your fix do not, and an issue you answered **No** on stays resolved.

A weekly pattern, such as a failure only on Mondays, can look gone after a quiet week, so give those a longer period.

## Did my fix work

One sentence above the bars in **By version** answers this for the live version. It compares the share of calls with the issue on the live version against earlier versions, counting calls where the caller spoke, and waits for the grace period so a quiet morning on a new version cannot settle it.

| The sentence starts | What it means |
| - | - |
| "Too early to say" | The live version has run for less than the grace period. It shows the days so far and the counts |
| "v12 fixed it" | The grace period has passed, no call on v12 shows the issue, and the drop is real |
| "Fell on v12 but not gone" | The share fell by a real amount, but some calls still show it |
| "Rose on v12" | The share went up by a real amount |
| "No change on v12" | Nothing moved beyond normal variation |
| "Too few calls" | There are not enough calls yet to say. The sentence gives the counts on each side |

On **Issues**, a fixed issue is tagged **Fixed on v12** and moves below every issue still happening; one that rose is tagged **Rose on v12**. This is a before and after reading, not a controlled experiment: Retell ships a version to all traffic at once, and something else may have changed at the same time. See [Fix an issue](/guides/fix-an-issue#6-confirm-it-worked) and [Versions](/concepts/versions).

## Is this real?

**Yes** confirms an issue. **No** asks what was wrong:

| Reason | Means |
| - | - |
| **It did not happen** | The calls were read wrong |
| **Nothing we could change** | Real, but outside your hands |
| **Already open elsewhere** | Same fix as another issue, whose key you give |
| **Happening somewhere else** | Real, at a different step |
| **Not for that reason** | Right place, wrong explanation |
| **Meant to work that way** | Designed behaviour. Your brief should say so |

A rejected issue leaves the board and stays off.

## Next steps

<CardGroup cols={2}>
  <Card title="Fix an issue" icon="wrench" href="/guides/fix-an-issue">
    From an issue to a change, step by step.
  </Card>

  <Card title="Versions" icon="code-compare" href="/concepts/versions">
    How Signal tells whether the change worked.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.