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

# Agent Goal And Call Performance In DialNexa

> Set an agent goal in DialNexa and learn how each answered call is judged as Goal met, Partly met or Not met, how scores and success rates are calculated for calls and batch calls, and how to read Analytics.

An agent goal tells DialNexa what a successful call looks like for one agent, for example "Book a product demo and confirm the customer's email address". After every answered call, DialNexa checks the conversation against the agent goal and records one result: **Goal met**, **Partly met** or **Not met**. Those results build the call performance numbers you see in **Analytics**, for single calls and for batch calls.

This page explains how to set the goal, exactly how each call is judged, and how the score and success rate are calculated.

## Who Is This For

* Teams that want to know whether an agent achieves its purpose, not only whether calls connect.
* Campaign owners who compare batch calls by how many leads reached the goal.
* Anyone tuning a prompt who wants a before and after measure.

The agent goal is not required. Agents without a goal create, publish and call exactly as before; their calls simply do not appear in Analytics.

## Before You Begin

* You need an agent with a draft version you can edit. Published versions are read-only.
* Know what a good outcome is for this agent, in terms you could hear in the call: an appointment confirmed, a payment date agreed, an interest question answered.

## Set An Agent Goal

**1. Open the agent's settings**

Open the agent, then open the **Agent Goal** section in the settings panel.

**2. Describe the goal**

Write what the agent should achieve on a call, in your own words. The goal can be up to 2000 characters.

**3. Optional: click Improve with AI**

DialNexa rewrites your goal so each call can be judged more consistently. See [Improve With AI](#improve-with-ai).

**4. Save the goal**

Click **Save goal**. The goal is saved on this draft version.

**5. Publish the agent**

Live calls use the published version, so publish the agent for the goal to apply to them.

To stop judging calls, click **Remove goal** on the draft and publish again.

### How The Goal Follows Versions

The goal belongs to the agent version, like post-call analysis fields.

| Situation | What happens |
| - | - |
| You publish a version | The goal is published with it, and the next draft starts with the same goal. |
| You change the goal on a draft | Calls on earlier versions keep the results they already have. Calls on the new version are judged against the new goal. |
| A batch call runs | It uses the agent version it was launched with, so every call in the batch is judged against one goal. |
| You duplicate, import or create from a template | The goal is copied with the agent. |

Results are never recalculated. Each call keeps the result it got against the goal its version had at the time.

## Improve With AI

Short goals such as "Book a demo" leave room for interpretation. Is a customer who says "maybe next week" a success? **Improve with AI** rewrites your goal into a clearer form:

* one sentence that states the goal,
* **Goal met**: what must happen in the call for the goal to be fully met,
* **Partly met**: what counts as progress without the goal being fully met,
* **Not met**: what it looks like when the goal was not achieved.

For example, "Book a demo" might become:

```text theme={null}
Book a product demo with the customer.
Goal met: the customer agrees to a demo and a specific date and time is confirmed.
Partly met: the customer is interested but no time is fixed, or asks to be called back to schedule.
Not met: the customer declines or the call ends before a demo is discussed.
```

How it behaves:

* The rewrite appears in the same text box. Nothing is saved until you click **Save goal**.
* Edit the rewrite freely. Click **Undo** to return to your own words.
* The rewrite keeps the meaning of your goal and the language you wrote it in. It does not add new requirements, products or numbers.
* The rewrite aims to stay short, at most about 600 characters, so it stays easy to read and edit.

> [!TIP]
>
> Spelling out what counts as Goal met and Partly met is the single biggest thing you can do to make results consistent. Write it yourself or let Improve with AI draft it.

## How Each Call Is Judged

DialNexa judges a call as part of the agent's existing [post-call analysis](https://dialnexa.com/docs/agent-settings/post-call-analysis.md), using the same model, after the call ends.

### Which Calls Are Judged

| Call | Judged? |
| - | - |
| Answered by a person and completed | Yes |
| Not answered, busy or failed | No |
| Reached voicemail | No |
| Answered, but the transcript is not available | No |

Calls that are not judged never count against the agent. A batch dialled at a bad time does not make the agent look worse.

### The Three Steps Of A Judgement

For each answered call, the model works through three steps in order:

1. **Find the proof.** It copies, word for word, the line from the conversation that best shows whether the goal was met. The line can come from the customer, the agent, or a tool result such as a booking confirmation.
2. **Decide the result.** It picks Goal met, Partly met or Not met, following your goal exactly as written, including any definitions of met and partly met.
3. **Explain why.** It writes one short sentence about what was achieved and what was missed.

Finding the proof before deciding keeps results tied to what was actually said.

### Rules That Keep Results Honest

* **The proof must be in the call.** If the model says Goal met or Partly met but the line it copied is not in the conversation, the call counts as **Not met**.
* **The agent's instructions are not proof.** A line copied from the agent's own prompt never counts.
* **A failed action did not happen.** If the agent says "your demo is booked" but the booking tool reported an error, the booking did not happen.
* **No proof means Not met.** If nothing in the conversation relates to the goal, the result is Not met.

### What The Results Mean

| Result | Meaning | Score |
| - | - | - |
| Goal met | Everything the goal asks for happened in the call. | 100% |
| Partly met | Some of it happened, for example the customer agreed but asked to be called back to finish. | 50% |
| Not met | It did not happen. | 0% |

The goal check is internal. It does not add fields to your post-call analysis results, webhooks, exports or workflows.

## How Call Performance Is Calculated

### Success Rate For Calls

```text theme={null}
Success rate = calls with Goal met / answered calls that were judged
```

Partly met calls count in the total but not as successes. Their half credit shows in each call's [score](#score-for-a-single-call) instead. For example, 40 judged calls with 10 Goal met, 14 Partly met and 16 Not met give a success rate of 10 / 40 = **25%**.

Calls that were not answered, reached voicemail or were not judged are left out of both numbers.

### Score For A Single Call

The score shows how much of the goal happened in that call: 100% for Goal met, 50% for Partly met, 0% for Not met. This is where Partly met gets half credit.

For example, take an agent whose goal is "Book a product demo with the customer" and three of its calls:

| Call | What happened | Result | Score |
| - | - | - | - |
| Call 1 | The customer agrees and the booking tool confirms a demo for Tuesday at 4 PM. | Goal met | 100% |
| Call 2 | The customer is interested but asks to be called back next week to fix a time. | Partly met | 50% |
| Call 3 | The customer says they are not interested. | Not met | 0% |

The success rate for these three calls is 1 / 3 = **33%**, because only Call 1 fully met the goal. Call 2 still shows its progress through its 50% score.

### Score Or Success Rate

The two numbers answer different questions.

| Number | Question it answers | How Partly met counts | Where you see it |
| - | - | - | - |
| Score | How close did this call get to the goal? | Half (50%) | Each call on the Calls tab |
| Success rate | How often was the goal fully achieved? | Not a success, but counted in the total | Overview cards, the By agent table and each batch call |

## How Batch Call Performance Is Calculated

A batch call is measured by **leads**, not by calls. A lead that was called three times because of retries still counts once.

### Each Lead Counts Once

A batch retries a lead only when the call did not connect: no answer, busy, failed or voicemail. Once a lead answers, it is not called again in that batch. So a lead has at most one judged conversation per batch, and that conversation's result is the lead's result.

| Lead | Calls | Counted as |
| - | - | - |
| Lead A | No answer, then a retry answered with Goal met | Answered, Goal met |
| Lead B | Answered first time: Partly met | Answered, Partly met |
| Lead C | No answer, then a retry with no answer | Not answered |
| Lead D | Not called yet | Not answered |

If a lead ever has more than one judged call in the same batch, its best result counts, and the most recent call wins a tie.

### Batch Numbers

| Number | How it is calculated |
| - | - |
| Leads | All leads in the batch. |
| Answered | Leads who picked up at least once, including through a retry. |
| Results | Goal met, Partly met and Not met leads. |
| Success rate | Leads with Goal met / leads with a result. |

For example, a batch of 100 leads where 62 answered and were judged, with 20 Goal met, 15 Partly met and 27 Not met, has a success rate of 20 / 62 = **32%**.

## Read Call Performance In Analytics

Open **Analytics** from the **Data** section of the sidebar. Only agents with a goal appear. The info icon next to the **Analytics** title links back to this page.

### Filters

| Filter | What it does |
| - | - |
| Agent | Shows one agent, or all agents. |
| Date range | Today, Last 7 days, Last 30 days, Last 90 days or All time. Ranges start at midnight and count today as one of the days. Calls are filtered by when they were made; batch calls by when the batch was created. |
| Search | Finds one call by Call ID on the Calls tab, or one batch by Batch ID on the Batch Calls tab. The full ID is required. |

### Overview Tab

* **Success rate**: across all judged calls in the range.
* **Results of answered calls**: Goal met, Partly met and Not met as one bar, with counts.
* **By agent**: one row per agent per goal. If you changed an agent's goal, the old and new goals get separate rows so their results never mix, marked **Current** or **Old goal**. Versions that kept the same goal share one row.

### Calls Tab

Every judged call, newest first.

| Column | What it shows |
| - | - |
| Call ID | The call's ID, with a copy button. Paste it into [Call History](https://dialnexa.com/docs/monitoring/call-history.md) to read the transcript. |
| Agent name | The agent that made or took the call. |
| Batch ID | The batch the call belongs to, if any, with a copy button. |
| Called at | When the call was made. |
| Result | Goal met, Partly met or Not met. |
| Score | 100%, 50% or 0%. |
| Why | One short sentence about what was achieved and what was missed. |

### Batch Calls Tab

Every batch call whose agent version has a goal.

| Column | What it shows |
| - | - |
| Batch ID | The batch's ID, with a copy button. |
| Batch name | The batch name and when it was created. |
| Agent name | The agent the batch used. |
| Leads | All leads in the batch. |
| Answered | Leads who picked up at least once. |
| Results | Goal met, Partly met and Not met leads as one bar, with counts. |
| Success rate | Leads with Goal met / leads with a result, with the counts. |

## Privacy

* Deleted calls are removed from Analytics.
* For a call removed with sensitive deletion, the result stays but the reason is hidden.
* Browser test calls (web calls) are not included in Analytics.

## Troubleshooting

| Problem | What to check |
| - | - |
| Analytics is empty | The agent has no goal on the version that took the calls, or no answered calls happened in the date range. Check that the goal was saved and the agent published. |
| A call is missing from the Calls tab | The call was not answered, reached voicemail, was a browser test call, or ran on a version without a goal. |
| A batch's Answered count is higher than its results | Some answered calls got no result, for example because the transcript was not available. |
| Results look inconsistent between similar calls | Make the goal say exactly what counts as Goal met and Partly met. Try Improve with AI. |
| A call shows Not met but the Why sounds positive | The model's proof was not found in the conversation, so the result was counted as Not met. Read the transcript in Call History to confirm. |
| Old results did not change after editing the goal | This is expected. Results are never recalculated; new calls use the new goal. |

## Recap

* The agent goal is optional and set per agent version. Publish to apply it to live calls.
* Every answered call is judged once: Goal met (100%), Partly met (50%) or Not met (0%), backed by a line from the call.
* Call success rate = Goal met calls / judged calls.
* Batch success rate = Goal met leads / leads with a result, with each lead counted once by its best result.
* Unanswered calls and voicemail never count against the agent.

## Related Reading

> **[Post-Call Analysis](https://dialnexa.com/docs/agent-settings/post-call-analysis.md)**
>
> Extract structured fields after every call.

> **[Call History](https://dialnexa.com/docs/monitoring/call-history.md)**
>
> Find a call and read its transcript.

> **[Batch Call Retries And Statuses](https://dialnexa.com/docs/batch-calls/retries-and-statuses.md)**
>
> How retries work in a batch call.

> **[Agent Settings Overview](https://dialnexa.com/docs/agent-settings/overview.md)**
>
> Every settings area for an agent version.


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