---
title: Advisor
description: "The workspace-wide list of configuration issues across agents, knowledge bases, campaigns, numbers and contacts, and how to fix or ignore each one."
---

**Advisor**, under **Observability** in the sidebar, checks every object in the
workspace against a set of rules and lists what fails. The app describes it as
configuration issues detected across your agents, knowledge bases, campaigns and
numbers. Each failed check is a **finding**: one rule, on one object.

Use it to catch problems before a caller does: an agent with no voice, a campaign
with nobody to call, a number that can no longer connect.

## How findings are grouped

The page is a board with one lane per severity, each headed by its count:

| Lane | What lands there |
|---|---|
| **Errors** | Something that stops the object from working, for example an outbound campaign with no phone number. |
| **Warnings** | Something that works but will cause trouble, for example two agents sharing a name. |
| **Suggestions** | Advice, for example a knowledge base that no agent uses. |

The severity comes from the rule, not from you: you can't move a card between
lanes. A lane with nothing in it reads **Nothing here**. A long lane shows its
cards a page at a time as you scroll.

## Reading a finding

Each card carries:

- an icon for the kind of object it concerns (agent, knowledge base, campaign,
  phone number, contacts or the workspace itself);
- the action to take as its title, for example **Choose a voice** or **Select
  contacts**;
- the name of the object, when the finding has one;
- one or two lines on why it matters, for example: a campaign with no contacts
  selected has nobody to call.

Below that, up to three actions:

| Action | What it does |
|---|---|
| **Fix** | Opens the page where the fix lives: the relevant section of the agent or knowledge base, or the campaign's or number's own page. Contacts and workspace findings have no page to open, so they show no **Fix**. |
| **Fix it** | Opens [Atlas](/operate/atlas) with a request to fix this finding already written, naming the object. Nothing is sent until you send it. Only rules that ship such a request show **Fix it**. |
| **Ignore** | Moves the finding out of its lane and into **Ignored**. |

## When the checks run

Findings are kept up to date without you asking. The top right of the page says
when: **Next check** followed by a time when a scheduled check is coming, **Checking
now…** while it runs, or **Checked** followed by how long ago when no scheduled
check applies.

Opening an agent's **Recommendations** section checks that agent again, and
**Re-check** there, or in a campaign's **Advisor** section, checks that one object
straight away. A finding whose problem is gone drops off the board after the next
check.

**Refresh**, at the top right of this page, reloads the latest findings. It does
not run the checks again.

## Ignoring a finding

**Ignore** is for a finding you have decided to live with. It stays ignored when
the checks run again, so it does not come back on the next check.

Ignored findings are hidden by default. When there are some, **Show N ignored**
at the top right opens a fourth lane, **Ignored**, with those cards dimmed; **Hide
ignored** closes it. The choice is kept in the page address, so a reload or a
shared link opens the board the same way. Ignored cards have no actions: the
board has no control to bring an ignored finding back.

## When everything passes

With no open findings the board is replaced by **All checks passing** and a line
saying no misconfigurations were detected across the workspace, with the same
check time underneath. Ignored findings don't count as open, so a workspace
whose only findings are ignored also shows this state.

If the findings can't be loaded, the page reads **Could not load checks** with
**Try again**.

## What it checks

The rules are grouped by the kind of object they look at. A selection:

| Object | Examples |
|---|---|
| Agents | **Prompt is configured**, **Voice selected**, **Voice matches the language**, **Flow has nodes**, **Outcomes defined**, **Maximum call duration set**, **Knowledge base is usable**, **At least one test scenario**, **Agent name is unique** |
| Knowledge bases | **Knowledge base has content**, **Sources finished ingesting**, **Last ingestion succeeded**, **Knowledge base is in use**, **Knowledge base name is unique** |
| Campaigns | **Outbound campaign has a number**, **Campaign number is usable**, **Campaign has contacts**, **Schedule is valid**, **Campaign name is unique** |
| Phone numbers | **Phone number is active**, **Phone number has a concurrency limit** |
| Contacts | **No duplicate contact numbers** |
| Workspace | **Workspace has contacts** |

The agent checks are the ones listed on [Recommendations](/test-and-improve/recommendations),
where each is explained.

## Other places the checks appear

Advisor is the workspace-wide view. The same findings also show up next to the
object they concern:

- **[Recommendations](/test-and-improve/recommendations)**, in an agent's
  workspace, lists that agent's open findings ranked by impact instead of by
  severity. It is the same finding underneath: dismissing a recommendation there
  ignores it here too.
- **Advisor** in a [campaign's page](/deploy/campaigns/campaign-details#advisor)
  lists that campaign's findings in the same **Errors**, **Warnings**,
  **Suggestions** and **Ignored** groups, with **Re-check**, **Fix it** and
  **Ignore**.

Fix a problem where you find it; the board catches up on its next check.

## Related

- [Recommendations](/test-and-improve/recommendations)
- [Launch checklist](/test-and-improve/launch-checklist)
- [Campaign details](/deploy/campaigns/campaign-details)
- [Atlas](/operate/atlas)
- [Knowledge bases](/build/knowledge-bases)
