---
title: Recommendations
description: "The ranked next steps the platform suggests for an agent, what each one tells you, and how the list is kept current after every revision."
---

**Recommendations**, under **Improve** in the workspace sidebar, is a list of next
steps for the agent, ranked by how much each is expected to help. The app describes
it as opinionated: it tells you what to do next rather than listing everything you
could change.

The list is re-evaluated after every <Term>revision</Term>, so it tracks the agent as you save.
Opening the section evaluates it again, and so does **Re-check** at the top right.

## Reading a recommendation

The header counts what is still open, for example **1 open**. Recommendations are
grouped by impact, under **High impact**, **Medium impact** and **Low impact**. Each
one carries:

- a title naming the state the agent should reach, for example **Test scenarios have
  been run**;
- one sentence on why it matters, for example: this agent has test scenarios that
  were never run, so nothing has validated it yet;
- **Fix it**, on some recommendations, which opens [Atlas](/operate/atlas) with a
  request to fix it already written; nothing is sent until you send it;
- a dismiss button, **Dismiss recommendation**, which removes it from the list.

When nothing is open the section reads **Nothing to recommend right now**.

Work from the top. The order is the platform's estimate of which change moves the
agent most, so the first item is the one worth your next few minutes.

## What it checks

Each recommendation is one of these checks failing for the agent. Which ones apply
depends on the agent: a voice check does not appear on a text agent, and **Flow has
nodes** only on a flow agent.

| Check | Why it matters |
|---|---|
| **Prompt is configured** | The system prompt defines how the agent behaves, so it can't be empty. |
| **Flow has nodes** | A flow agent with an empty canvas has nothing to say when a call connects. |
| **Opening line set** | An agent that speaks first needs an opening line to start the call with. |
| **Agent description set** | A short description helps your team recognize this agent at a glance. |
| **Agent name is unique** | Sharing a name with another agent in this workspace makes them easy to confuse. |
| **Voice selected** | Without a voice of its own, the agent answers in the workspace default. |
| **Voice matches the language** | A voice that does not speak the agent's language is heard by callers as an accent. |
| **Maximum call duration set** | A duration cap stops a stuck call from running, and billing, indefinitely. |
| **Outcomes defined** | Outcomes are what a call reports back: without them every call ends unclassified. |
| **Knowledge base is usable** | An empty or unavailable knowledge base returns nothing to lookups during a call. |
| **At least one test scenario** | Test scenarios let you validate the agent before shipping it. |
| **Test scenarios have been run** | Scenarios that were never run have validated nothing yet. |

## How it relates to the other checks

Recommendations and the [Launch checklist](/test-and-improve/launch-checklist) run
the same checks; **Prompt is configured** and **At least one test scenario** appear
in both. The difference is what they do with a failure. The checklist is a gate: its
**Required** items decide whether the agent can be published. Recommendations rank
everything that is still open by impact, as advice, and an agent can be live with
some still open.

## Related

- [Launch checklist](/test-and-improve/launch-checklist)
- [Evaluations](/test-and-improve/evaluations)
- [Change requests](/test-and-improve/change-requests)
