> ## 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 History and Version Review in DialNexa

> Review DialNexa agent version history to understand what changed before a call quality issue, compare versions, and find the exact configuration that handled a specific call.

Agent history and version review let you see every published version of an agent, when it was published, and what it contained. This is your primary tool when call behavior changes unexpectedly and you need to understand what configuration was in place at the time.

<img src="https://mintcdn.com/dialnexa/0efoAN-6So4r-6NC/images/documentation/screenshots/agent-version-history.png?fit=max&auto=format&n=0efoAN-6So4r-6NC&q=85&s=2ddc04bfda9d8d43e73ca9ddd625f223" alt="DialNexa agent version history panel showing the current draft and published versions." style={{ width: '100%', maxWidth: '800px', margin: '8px 0 24px', border: '1px solid #e5e7eb', borderRadius: '6px' }} width="1366" height="1968" data-path="images/documentation/screenshots/agent-version-history.png" />

<Tip>
  Version history is the product memory. Use it before relying on human memory, which has a proud tradition of inventing details.
</Tip>

## Where to Find Version History

Version history is accessible from the agent builder:

1. Open the agent from the Agents list.
2. In the builder, look for the **Version History** button or the version selector dropdown in the top bar.
3. Click it to open the version list. All published versions appear in reverse chronological order (most recent first).

Each row in the history shows:

* Version number (auto-incremented)
* Version title (the label you entered at publish time)
* Published timestamp
* Published by (user account, where shown)
* Whether this version is currently assigned to a live route

## What Each Version Shows

Clicking a version in the history opens a read-only view of that version's full configuration. You can inspect:

| Component                                  | Viewable in history |
| ------------------------------------------ | ------------------- |
| System prompt                              | Yes                 |
| Welcome message                            | Yes                 |
| Voicemail message                          | Yes                 |
| Language, voice, LLM, transcriber settings | Yes                 |
| Temperature and other LLM settings         | Yes                 |
| Functions and their configurations         | Yes                 |
| Speech settings                            | Yes                 |
| Call settings                              | Yes                 |
| Post-call analysis field definitions       | Yes                 |
| Dynamic variable defaults                  | Yes                 |
| Agent webhooks                             | Yes                 |

Published versions are immutable. You can view everything in a historical version but cannot edit it.

## What Version History Helps Answer

Use version history when you have a call quality question or a behavioral change you cannot explain.

| Question                               | How history helps                                                                                  |
| -------------------------------------- | -------------------------------------------------------------------------------------------------- |
| Which version handled a specific call? | Find the call in Call History, note the agent version field, then open that version in history.    |
| What changed between two versions?     | Open both versions and compare the prompt, stack, and settings side by side.                       |
| When did a behavior change?            | Sort history chronologically and look for the version published around the time the issue started. |
| What was the prompt at launch?         | Open version 1 and read the prompt as it existed on day one.                                       |
| Who made a change?                     | The "published by" field shows which user account published each version.                          |

## Comparing Versions

DialNexa does not currently offer an automated diff view. To compare two versions:

<Steps>
  <Step title="Open version history">
    Open the agent and navigate to version history.
  </Step>

  <Step title="Note the current version configuration">
    Click the most recent version and copy the prompt and key settings into a text editor.
  </Step>

  <Step title="Open the earlier version">
    Click the earlier version you want to compare against. Review its prompt and settings.
  </Step>

  <Step title="Identify the differences">
    Look for changes in: prompt text, voice or LLM model, temperature, transcriber, functions, variable defaults, and call settings.
  </Step>

  <Step title="Form a hypothesis">
    Determine whether the changes between versions can explain the behavior difference you observed in calls.
  </Step>
</Steps>

<Tip>
  Copy the prompt text from two versions and paste them into a diff tool (such as a text editor's compare feature or an online diff utility) to see line-level differences clearly. This is especially useful for long prompts where small word changes have significant effects.
</Tip>

## Finding the Version That Handled a Specific Call

When a caller complains or a call transcript shows unexpected behavior, you need to know exactly which version ran.

<Steps>
  <Step title="Open Call History">
    In the left sidebar, click **Call History** (or Calls > History depending on your navigation).
  </Step>

  <Step title="Find the call">
    Search by phone number, date range, or call ID. Click the call row to open the call detail page.
  </Step>

  <Step title="Note the agent version">
    The call detail page shows which agent and which version handled the call. Note the version number.
  </Step>

  <Step title="Open that version in history">
    Go to the agent, open version history, and click the matching version number. This is the exact configuration that ran during that call.
  </Step>

  <Step title="Do not debug the current draft">
    A common mistake is opening the agent builder and reading the current draft, which may have changed since the call. Always look at the version from the call detail, not the current state.
  </Step>
</Steps>

## Using History During Debugging

<Steps>
  <Step title="Open the failing call">
    Find the call in Call History and note the agent version number.
  </Step>

  <Step title="Open the matching version in history">
    Do not debug the current draft. Open the exact version the call used.
  </Step>

  <Step title="Identify the specific failure">
    Read the transcript alongside the prompt. Find where the agent deviated from expected behavior. Look for: wrong branching, a variable that rendered as a placeholder, a function that failed, or a missing end-call instruction.
  </Step>

  <Step title="Compare against the previous stable version">
    Open the version before the one that caused the issue. Look for prompt, function, variable, and setting differences. The delta between versions is usually the root cause.
  </Step>

  <Step title="Fix in draft and publish a focused change">
    Make the smallest change that fixes the issue. Do not bundle multiple fixes into one version if you can avoid it. Smaller changes are easier to verify and easier to roll back.
  </Step>

  <Step title="Watch the next call sample">
    After publishing the fix and updating routes, monitor the next 5 to 10 calls in Call History to confirm the issue is resolved.
  </Step>
</Steps>

## Review Before Rolling Forward

Before publishing a new version, a thorough review should cover more than just the prompt.

<CardGroup cols={2}>
  <Card title="Conversation stack" icon="layers" href="/agents/languages-voices-models-and-transcribers">
    Confirm language, model, voice, transcriber, temperature, and speed are set as intended.
  </Card>

  <Card title="Runtime settings" icon="settings" href="/agent-settings/overview">
    Check functions, speech settings, call settings, variable defaults, and webhooks.
  </Card>

  <Card title="Post-call analysis fields" icon="list-checks" href="/agent-settings/post-call-analysis">
    Verify field names, types, and extraction descriptions match what your team expects.
  </Card>

  <Card title="Routing" icon="phone" href="/calls/phone-numbers">
    Confirm inbound and outbound phone number assignments point to the correct version after publishing.
  </Card>
</CardGroup>

## Version History Limitations

<AccordionGroup>
  <Accordion title="Draft state is not recorded in history">
    Version history only shows published versions. In-progress draft edits that were never published do not appear in history. If you want to preserve a draft state before making major changes, publish it first with a descriptive title like "checkpoint before refactor".
  </Accordion>

  <Accordion title="No automated diff view">
    There is no built-in side-by-side diff. Compare versions manually or copy prompt text to an external diff tool.
  </Accordion>

  <Accordion title="Historical versions cannot be edited">
    You can view and assign historical versions to routes, but you cannot edit them. To modify a historical version, duplicate it as a draft (where supported) or manually recreate the configuration in the current draft.
  </Accordion>
</AccordionGroup>

## Related Reading

<CardGroup cols={2}>
  <Card title="Agent Versions and Publishing" icon="git-commit" href="/agents/agent-versions-and-publishing">
    Understand publish state, version immutability, and rollback.
  </Card>

  <Card title="Call Detail Page" icon="panel-right" href="/monitoring/call-detail-page">
    Find the agent version that handled a specific call.
  </Card>

  <Card title="Testing Agents" icon="phone-call" href="/agents/testing-agents">
    Test candidate versions before routing live traffic.
  </Card>

  <Card title="Dynamic Variables" icon="braces" href="/agents/dynamic-variables">
    Understand how variable defaults are captured in versions.
  </Card>
</CardGroup>
