---
title: "Decide approvals from an app"
description: "Decide approvals from an app for people running and reviewing agents."
canonical_url: "https://docs.oz0.ai/agents/approvals/apps"
---
# Decide approvals from an app

> Decide approvals from an app for people running and reviewing agents.

For: people running and reviewing agents.

## From your own app

The [runtime API](https://docs.oz0.ai/build/apps/runtime-api) has `ListApprovals`, `DecideApproval` (with `args_sha256`, and `edited_arguments`, `confirm`, `allow_for_seconds` and `shown_ms`, how long your app showed the card) and `GetApprovalArguments`. Test approvals never reach an API key or a person acting through an app: an app's queue holds only real approvals. The edge records who decided from the caller's credentials; a request cannot name someone else.

A [signed webhook](https://docs.oz0.ai/admin/notifications#webhooks) tells your app when an approval waits; your app decides with the API key the webhook's target names ([keys that decide](https://docs.oz0.ai/agents/approvals/configure#keys-that-decide)) and polls `ListApprovals` for the outcome. An app whose people decide for themselves acts as each of them ([apps that act as their people](https://docs.oz0.ai/build/apps/runtime-api/authentication#apps-that-act-as-their-people)); an app built on an AG-UI client gets approvals and questions as the protocol's interrupts, which only the person resumes: see [AG-UI](https://docs.oz0.ai/build/apps/ag-ui).

<note>

Approvals cover the tool calls of every kind of agent (Pydantic AI, the OpenAI Agents SDK, [remote agents](https://docs.oz0.ai/build/apps/remote-agents)), calls the tenant's [tool policy](https://docs.oz0.ai/govern/tool-policy) sends to a person, flow steps with `approval:`, hooks that answer `escalate`, and the tools of a [harness session](https://docs.oz0.ai/build/parts/harnesses/tool-controls#hooks-and-approvals-for-the-sessions-tools) listed in the agent's `harness.requires_approval`, which wait as `claude-agent-sdk.Bash` and the like. [Budget requests](https://docs.oz0.ai/spend/budgets-and-quotas/requests#ask-for-more) wait in the same inbox. Deadlines, the escalation ladder and edits apply to all of them.

</note>

Agents can also ask a person a question and wait for the answer: see [Asking people](https://docs.oz0.ai/agents/asking-people). Questions wait in the same inbox.


## Sitemap

See the full [sitemap](https://docs.oz0.ai/sitemap.md) for all pages.
