> For the complete documentation index, see [llms.txt](https://docs.veza.com/4yItIzMvkpAvMVFAamTf/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.veza.com/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/how-to/review-dry-run-results.md).

# Review Dry Run Results

Filter, inspect, and export bulk dry run results, and review the dry run history for a Lifecycle Management policy

## Overview

After a bulk dry run completes, review its results to confirm which workflows matched, which attribute values would change, and whether any identity produced errors. A bulk dry run evaluates a policy version against many identities and records what would happen, without contacting the target systems.

To start a dry run, see [Test policies with dry run](/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/how-to/test-policies-with-dry-run.md).

## Before you start

* A bulk dry run has completed. See [Run a bulk dry run](/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/how-to/test-policies-with-dry-run.md#run-a-bulk-dry-run).
* You have the Administrator or Operator role. See [Roles](/4yItIzMvkpAvMVFAamTf/administration/administration/users/roles.md).

## Open dry run results

You can open the results of a bulk dry run in these ways:

* **From the dry run history**: Open the **Bulk Dry Run History** page, open the run's actions menu (⋮), and select **Show Results**. See [View dry run history](#view-dry-run-history).
* **From the dry run banner**: On the policy page or a version page, select **Show Dry Run Results** in the [dry run banner](/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/policies-workflows/policy-and-version-pages.md#dry-run-banner).

## Read the results summary

The top of the **Dry Run Results** page identifies the run and summarizes its outcome:

* **Policy Version**: The version that the dry run evaluated
* **Started At** and **Duration**: When the run started and how long it took
* **Identities Processed**: The number of identities selected for the run. The card reads **All** before the count when the run processed every selected identity.
* **Workflows Triggered**: The number of workflows that matched
* **Actions Run**: The number of actions that would run

If the draft policy was edited after the run finished, the page warns: *The draft policy was edited after this dry run finished, so evaluation results may not be accurate.*

To test the policy again, select **Start New Bulk Dry Run**. The button is unavailable while a dry run for the policy is in progress. During that time, a banner reads **This Dry Run is Currently in Progress** or **Another Dry Run is in Progress for This Policy**. Select **Show Dry Runs** in the banner to open the dry run history.

## Review the results table

The results table lists the predicted result items for the matched identities. Each row is one identity and the workflow it matched:

* **Identity**: The identity that was evaluated. Select the name to open the [**Results Details**](#review-result-details) panel.
* **Workflow Matched**: The workflow that the identity matched
* **Actions Run**: The number of actions that would run
* **Attribute Changes**: The attributes whose values would change
* **Errors**: Errors that occurred during evaluation
* **Department**: The identity's department

The table also includes column groups for the identity's source entity types, with one column for each property. These property columns are hidden by default; use the column selector to show them. A dot at the start of a row marks an identity with one or more expected attribute value changes.

### Filter the results

Use the table's filter bar to narrow the results:

* **Name**: Shows identities whose name contains the text you enter
* **Workflows Matched**: Shows results for the selected workflow
* **Has Actions Run**: Select **True** to show results where actions would run, or **False** for results without actions
* **Has Attribute Changes**: Select **True** to show results where one or more attribute values would change
* **Has Errors**: Select **True** to show results with evaluation errors

### Find attribute changes

Use the **Has Attribute Changes** filter to find identities whose attribute values differ from the state the policy defines, without reviewing every identity.

The **Attribute Changes** column lists up to three changed attributes. When more attributes would change, select the **+N** button to list the rest.

In the result details, a changed attribute shows the value the policy would write, with the current value struck through beneath it. When Veza has no current value recorded for the attribute, the comparison uses the value observed in the Access Graph. When neither value exists, such as for a new account, only the new value appears.

## Review result details

Select an identity in the results table to open the **Results Details** panel:

* **Identity**, **Policy**, and, when the policy would assign access profiles, **Expected Access Profiles**
* **Expected**: The number of actions that would make changes (**Actions Run**) and the number of attribute values expected to change (**Attribute Changes**)
* **Workflows Matched**: Each matched workflow, with the number of actions and attribute changes it would produce. Expand a workflow to see its actions and attributes. Turn on **Show only Attribute Values Expected to Change** to hide unchanged attributes.
* **Errors** and **Messages**: Errors and evaluation messages for the identity

### Predicted Result view

When the new dry run activity experience is enabled for your tenant, selecting an identity opens a full-screen **Predicted Result** view instead of the side panel. Each row also has a **Details** button that opens the same view.

This view shows the workflow as a diagram. Select a condition or action in the diagram to see how it evaluated and how it is configured. Use **Previous** and **Next**, or search by identity or workflow, to move between the results on the current page of the table.

## View dry run history

The **Bulk Dry Run History** page lists the bulk dry runs for a policy.

1. Go to **Lifecycle Management** > **Policies**.
2. Select a policy, then open a version from the **Policy Versions** panel.
3. Select **Dry Run** and select **View Dry Run History for Multiple Identities**.

You can also open the page from the **Policies** list: open the policy row's actions menu (⋮) and select **See Bulk Dry Run History**. The policy page offers the same option from the [**Policy Versions** panel](/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/policies-workflows/policy-and-version-pages.md#policy-versions-panel).

For each dry run, the page shows:

| Column                   | Description                                                              |
| ------------------------ | ------------------------------------------------------------------------ |
| **Version**              | The policy version that the dry run evaluated                            |
| **Filter**               | The filter used to select identities                                     |
| **Processed Identities** | The number of identities processed                                       |
| **Status**               | **Pending**, **In Progress**, **Succeeded**, **Canceled**, or **Failed** |
| **Started At**           | When the run started                                                     |
| **Completed At**         | When the run finished                                                    |
| **Duration**             | How long the run took                                                    |

Open the run's actions menu (⋮) for these options:

* **Show Results** opens the **Dry Run Results** page for a run that is not in progress.
* **Cancel Dry Run** stops a run with the status **In Progress**. Canceling cannot be undone. A **Pending** run can't be canceled from the page.

## Export dry run results

Export results to keep them beyond the retention period or to analyze them in other tools.

The export includes every result that matches the current filters, not only the current page, and only the visible columns. Set both on the **Dry Run Results** page first. Column visibility resets each time you open the page, so show any property columns you need again before each export.

1. Select **Export** > **Export to CSV**.
2. Optionally, select **Excel-compatible (UTF-8 BOM)**.
3. Select **Export**.

Remain on the page until the download starts. The file is named `exported-dry-run-results.csv`.

## Results retention

Veza keeps bulk dry run results for 30 days after they were last viewed, then permanently deletes them. Opening a run's results restarts the 30-day period. The **Bulk Dry Run History** page displays the same notice. Export any results you need to keep.

## See also

* [Test policies with dry run](/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/how-to/test-policies-with-dry-run.md)
* [Policy page and version page](/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/policies-workflows/policy-and-version-pages.md)
* [Lifecycle Management policies](/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/policies-workflows/policies.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.veza.com/4yItIzMvkpAvMVFAamTf/features/lifecycle-management/how-to/review-dry-run-results.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
