# Approvals

URL: /workflows/approvals · Id: `page:workflows/approvals`

> An Approval holds a Workflow step until the accountable Role says yes or no, when a call goes past a Limit or a Mandate.

An [Approval](/business/nouns/approval) is a [Task](/business/nouns/task) to allow or refuse one pending [Action](/business/nouns/action) that goes past a [Limit](/business/nouns/limit) or a [Mandate](/business/nouns/mandate). The [Workflow](/business/nouns/workflow) step waits until the accountable [Role](/business/nouns/role) answers.

## What you get
- 1 Approval in your inbox for each call over a Limit (Approval)
- 1 deadline on every Approval (Approval)
- 1 Event for every answer, kept with the Action (Event)

## Guides
- "Ask me before any refund over $200."
- "Ask me before any charge over $500." [Expense approval](/workflows/processes/expense-approval) holds every card charge above it.
- "Approve bills under $1,000 for me." [Payables](/workflows/processes/payables) pays the rest only after you say yes.
- "Let the [Billing Specialist](/agents/finance/billing-specialist) refund up to $100 without asking."
- [Automate a workflow](/workflows/automate-a-workflow), then add “ask me first for anyone paying more than $100 a month.”
- [Clear a worklist](/agents/clear-a-worklist): an agent works through the Approvals and other [Tasks](/business/nouns/task) waiting on its Role.

## How it works
Every call checks its Limits first. A call over a Limit becomes an Approval instead of failing, and [`Approval.approve`](/business/nouns/approval/approve) or [`Approval.refuse`](/business/nouns/approval/refuse) settles it. [Escalation and approvals](/agents/escalation-and-approvals) covers who answers.

Inside a [Workflow](/business/nouns/workflow), the rest of the Action waits with the step. A step with a `timeout` goes to the Role its failure rule names when no answer comes.