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

# Approve tool runs

> Learn how to approve or deny a tool run from the chat card or the ticket details on the web when the AI agent asks for approval, and what happens after approval, denial, or expiry.

For a tool whose permission is **Ask** under **Permissions** > **Policies**, the AI agent asks for approval before it runs the tool.
This page explains how the person asked for approval approves or denies the request, and what happens next.
The update-related tools of the Admina MCP server are set to **Ask** by default.
To set who can approve, see [Choose who can approve](/en/ai-helpdesk/integrations/admina#approval-routing).

## When approval is requested

When the AI agent tries to use a tool with the **Ask** permission, it pauses before it runs the tool.
The following then happens.

* A card that asks for approval (**Permission Required**) is posted to the inquiry thread
* Except on LINE WORKS, the thread shows a message that the tool needs approval and that approvers were notified
* The ticket **Status** changes to **Pending Approval**
* A **Permission Request** notification arrives in **Notifications** on the web

When the AI agent asks for approval of more than one tool at once, it posts one card for each tool.

### What the card shows

| Item | Content |
| - | - |
| **Tool** | The name of the tool that the AI agent wants to run |
| **Reason** | Why the AI agent wants to use the tool. Text beyond 200 characters is cut off |
| Who can approve | A note that depends on the approval routing (see the next table) |
| Buttons | **Approve**, **Deny**, and **View in admina** |

Click **View in admina** to open the ticket details on the web.

### Card note and notification recipients by approval routing

| Approval Routing | Note on the card | Who gets the web notification |
| - | - | - |
| **Any Responder** | "Needs approval from any admin or operator." | All admins and operators |
| **Specific Individual** | "Needs approval from:" followed by the names of the designated people | The designated people |
| **Requester** | "(requester's name), you can approve this request yourself." | The requester (when their chat account is linked to a logged-in user) |

<Info>
  * On Slack and Google Chat, the card mentions the people designated under **Specific Individual** and the requester under **Requester**. People designated under **Specific Individual** get a mention only when their chat account is linked to a logged-in user. Microsoft Teams and LINE WORKS show the name only
  * The **Requester** card does not show **View in admina**
  * When **All must approve** is selected under **Specific Individual**, the card shows "All approvers must approve:" followed by the status of each designated person (see [When everyone must approve](#all-must-approve))
</Info>

### Differences between chat services

| Service | Post in the thread | How to approve or deny |
| - | - | - |
| Slack, Microsoft Teams, Google Chat | A card with **Approve** and **Deny** buttons | Card buttons, commands, or the web |
| LINE WORKS | A text message without buttons | Commands or the web |

On LINE WORKS, the message shows "View and approve in admina:" followed by the URL of the ticket details.
For **Requester**, the message shows "Reply `!approve` or `!deny` to respond." instead of the URL.

## Approve or deny in chat

<Steps>
  <Step title="Check the card">
    In the card posted to the thread, check **Tool** and **Reason**.
  </Step>

  <Step title="Approve or deny">
    Click **Approve** or **Deny**.
  </Step>
</Steps>

Instead of the card buttons, you can send `!approve` (approve) or `!deny` (deny) in the thread.
On LINE WORKS, respond with these commands or from the web.
For details on the commands, see [Subcommand reference](/en/ai-helpdesk/chat/commands).

<Info>
  * For **Any Responder** and **Specific Individual**, your chat account must be linked to a logged-in user. If it is not linked, nothing happens when you click a button or send a command. Link your account under **Linked Accounts** in [AI Helpdesk user settings](/en/ai-helpdesk/user-settings)
  * For **Requester**, only the person who sent the inquiry can approve. No account link is needed
  * When someone who cannot approve clicks a button on Slack or Google Chat, a message that only they can see says they are not authorized to approve the request. Microsoft Teams shows nothing
  * A command from someone who cannot approve has no effect
  * When several requests are pending, a command responds to the first one
</Info>

## Approve or deny on the web

<Steps>
  <Step title="Open the ticket details">
    Click **View in admina** on the card.
    You can also click the **Permission Request** notification in **Notifications**, or open a ticket whose **Status** is **Pending Approval** on the **Tickets** screen.
  </Step>

  <Step title="Check the permission request">
    The **Conversation** tab shows "Pending permission requests require your review" and a **Permission Request** card.
    Check **Tool**, **Action**, **Target Resource**, **Parameters**, and **AI Reasoning**.
  </Step>

  <Step title="Approve or deny">
    Click **Approve** or **Deny**.
  </Step>
</Steps>

After a decision, the card shows **Approved** or **Denied** and the name of the person who decided ("by (name)").
An expired card shows **Expired**.

<Info>
  * For **Specific Individual**, only the designated people see the **Approve** and **Deny** buttons
  * For **Requester**, only the requester can approve on the web, and only when their chat account is linked to a logged-in user. If anyone else clicks a button, an error appears
</Info>

<h2 id="all-must-approve">
  When everyone must approve
</h2>

When **All must approve** is selected under **Specific Individual**, the tool runs after every designated person approves.
If anyone denies, the request is denied at that point.

While the request waits for others, you see the following.

* On Slack and Google Chat, the person who approved with a card button sees how many approvers are still left
* On Slack, Microsoft Teams, and Google Chat, the card updates the status of each person. On LINE WORKS, the status of each person is posted to the thread
* On the web, the **Permission Request** card shows who approved. After "Waiting for:", it lists the people who have not responded yet. The buttons disappear for the person who approved

## What happens after approval or denial

After the request is approved or denied, the chat card disappears from the thread.
The thread then shows the result.

| Result | Message in the thread | What the AI agent does |
| - | - | - |
| Approved | "Tool `<tool name>` approved by (name). Let me continue processing the request." | Runs the tool and continues its answer |
| Denied | "Tool `<tool name>` denied by (name). I'll try to help in another way." | Continues its answer without running the tool |

After every tool it asked about has a decision, the AI agent resumes.
On services other than LINE WORKS, "Processing your request..." appears and is then replaced by the AI agent's answer.
The ticket **Status** is no longer **Pending Approval**.

If the AI agent then uses another tool with the **Ask** permission, it posts a new card and asks for approval again.

## Expiry and cancellation

If no one decides within 30 minutes of the request, the approval request expires.

* The chat card disappears from the thread. A message in the thread says that the approval request has expired
* The tool does not run. The AI agent does not resume the paused work
* The ticket **Status** is no longer **Pending Approval**

If the tool still needs to run, ask the requester to send the inquiry again.

If you close the session while a request is pending, the approval request is canceled and the tool does not run.

## Check the results

**Permissions** > **Permission Activity** records each decision, expiry, and cancellation, and each run of an approved tool.
You need the **Admin** role to view Permission Activity.
For the meaning of each outcome, see [Permission Activity overview](/en/ai-helpdesk/permissions/activity#outcomes).

## Related pages

* [Admina MCP server integration](/en/ai-helpdesk/integrations/admina)
* [Permission Activity overview](/en/ai-helpdesk/permissions/activity)
* [Ticket list and details](/en/ai-helpdesk/operations/tickets)
* [Subcommand reference](/en/ai-helpdesk/chat/commands)


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