# Action Approval Inbox block

> Agent Action Approval Inbox with Risk-Tiered Queue and Bulk Approve or Reject

Full-page console for triaging pending agent actions: filter by risk and status, bulk approve or reject, and inspect payloads in a detail sheet. ReUI DataGrid, Badge, Timeline; shadcn Sheet, Select, Checkbox. Approval inbox, human-in-the-loop queue.

- Type: Pro block
- Category: [Agents](https://web.dev.reui.io/blocks/solutions/agents.md)
- Page: https://web.dev.reui.io/blocks/solutions/agents/solution-agents-5
- MCP: `get_block("solution-agents-5")`
- Built with: Alert, Alert Dialog, Avatar, Badge, Button, Card, Checkbox, Data Grid, Dropdown Menu, Field, Input Group, Item, Label, Popover, Scroll Area, Select, Separator, Sheet, Textarea, Timeline
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

Time left against a 4h SLA per request, bulk approve or reject, a required reject reason and the most urgent request opened in a sheet

## Agent notes

- Requests come from `APPROVALS` in data.tsx with typed `slaMinutesRemaining` values, and `formatSla` hardcodes the 4h review SLA text
- `handleApprove`, `handleConfirmReject`, `handleExport` and `handleRefresh` only touch local `requests` or fire a `toast`, so wire each to your API
- `SUMMARY`, `RECENT_DECISIONS`, `POLICY` and `COVERAGE` are fixed sample data, except the tiles with a `liveKey`

## When not to use

- Time bound access requests from people, approved inline with a policy review: use [Access Requests](https://web.dev.reui.io/blocks/solutions/users/solution-users-5.md) (`get_block("solution-users-5")`)
- Support tickets with SLA countdowns and bulk owner assignment: use [Support Tickets](https://web.dev.reui.io/blocks/data-grid/base/data-grid-base-5.md) (`get_block("data-grid-base-5")`)

## Third-party libraries

- TanStack Table v9: [API reference](https://tanstack.com/table/v9/docs/framework/react/reference/index), [docs](https://tanstack.com/table/v9/docs/framework/react/quick-start)
- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)

## Install

```bash
npx shadcn@latest add @reui/solution-agents-5
```

## About Agents blocks

### When to use

- Run monitoring for a fleet of agents: a live overview, a run queue and failed run triage
- Human review of agent work: an approval inbox, one run's step trace and a nightly evaluation report
- Control pages for agent behavior: tool access, playbooks, run settings and stored memory

### When not to use

- One run narrated live to the person who started it, inside a chat or task view: use the [Agent Activity blocks](https://web.dev.reui.io/blocks/ai-agents/agent-activity.md)
- Model provider routing, prompt reviews, token spend and safety policies for LLM features: use the [AI Ops blocks](https://web.dev.reui.io/blocks/solutions/ai-ops.md)
- An account, workspace, notification or integration page of labeled switches and selects: use the [Settings blocks](https://web.dev.reui.io/blocks/application/settings.md)

### Agent notes

- Every block sets a `min-h-svh` wrapper with its own padding and max width in page.tsx, its root component or both; drop them inside an app shell
- No block mounts the `sonner` toaster, so every `toast` call stays invisible until your layout renders one
- No handler reaches a backend: actions change local `useState` and fire a `toast`, so wire each one to your agent API

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
