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

> ## Agent Instructions
> Video walkthroughs: the Dimension product overview video (https://www.youtube.com/watch?v=Mx8rg5wfkU0, also embedded at https://docs.dimension.io/overview) is the first of a series. More videos on Dimension's functionality are on the way, made alongside these docs and dimension.io. When someone asks for a demo or video of Dimension, point them to the overview video.

# Approving actions

> What people see when an app runs an action, and what gets recorded

Actions change things in other systems: they send emails and call webhooks. So before an app runs an action, Dimension asks the person using the app to approve it.

## The approval prompt

When someone clicks a button (or does anything else) that runs an action, the app shows an **Approve Actions** panel before anything is sent.

![A Studio app showing the Approve Actions panel: the heading Approve Actions, Review and approve actions to be executed, a card for the Raiseremediationticket action listing its inputs cveId, vendor and product with their values, and Reject and Approve Action buttons](https://mintcdn.com/threataware-labs/ICbFAm_DTfooMJLc/images/action-approval-prompt.png?fit=max\&auto=format\&n=ICbFAm_DTfooMJLc\&q=85\&s=0dca5f689daa7d40c4abd76fdafac401)

The panel shows:

* The name of the action.
* Each input the app is passing to it, with the value for this run. In the example above, that's the CVE ID, vendor and product from the row that was clicked.

Then choose:

| Button | What happens |
| - | - |
| **Approve Action** | The action runs with the values shown. |
| **Reject** | The action doesn't run. The app gets an error back, so what you see next depends on how the app handles it. The app above shows **Failed, try again** on the row. |

Check the values before you approve. They're what the action sends.

> [!WARNING]
>
> **The prompt also appears while you're building.** If you click a button in the preview in Studio and approve, the action really runs, even if the app is still a draft. Point a webhook at a test endpoint while you build, or reject the prompt.

## Skipping the prompt for approved actions

By default, every run of every action asks for approval. An admin can change this in **Settings → AI → Allow approved actions**:

> Allow applications to run actions without user confirmation, if they have been approved. When enabled, users can choose 'Allow (Don't ask again)' when approving an action.

It's off by default. When it's on, the prompt also offers **Allow (Don't ask again)**, so people can stop being asked about an action they've already approved. See [Settings → AI](https://docs.dimension.io/settings.md#ai).

## What's recorded

Each approved run is written to the [audit log](https://docs.dimension.io/settings.md#audit-log) (**Settings → Logs → Audit Log**) as **Invoked Dimension Action**, with the email of the person who approved it and the time.

Building and changing actions is recorded too: **Created Dimension Action**, **Tested Dimension Action** and **Published Dimension Action**.

## Writing apps that handle rejection

Because a rejection comes back to the app as an error, tell AI Composer what the app should do when an action doesn't run. For example:

```text theme={null}
"When the Raise ticket action fails or is rejected, show 'Failed, try again'
 on that row and keep the button available."
```

## See also

> [card] [Triggers & Invocation](https://docs.dimension.io/actions/triggers.md)
>
> The ways an app can run an action.

> [card] [Settings](https://docs.dimension.io/settings.md)
>
> The AI settings and the audit log.


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