> ## Documentation Index
> Fetch the complete documentation index at: https://plain-docs-orca-916-agent-docs-restructure.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Tool call approval requested

> Fired when a custom agent asks a user to approve one of its tool calls.

This event is fired when a [custom agent](/agents/internal-agent) calls `requestDiscussionToolCallApproval` to stop in front of a tool call and wait for a user to decide it. Plain shows that user an approval card with **Approve** and **Deny** controls.

`toolCallId` names the call the approval gates, and it is the agent's own id for that call rather than one Plain issues. `justification` is the text the agent gave, and the user reads it on the card. Requesting the approval also moves the discussion to `TOOL_CALL_APPROVAL_PENDING`, which is why `discussion.agentStatus` reads that way in the example below.

Plain's own Sidekick approvals do not produce this event. It is sent only for a discussion a custom agent drives.

## Schema

[**View JSON Schema →**](https://core-api.uk.plain.com/webhooks/schema/latest.json)

Example:

<Snippet file="webhooks/discussion-tool-call-approval-requested.mdx" />

<Snippet file="webhooks/sdk-usage.mdx" />
