# Approval

An **approval** is one action Connect has prepared and is not allowed to complete on its own: a reply, a message, a call. It waits on the Waiting For You screen and in [Needs You](/docs/glossary/needs-you/), the recipient sees nothing at all, and it goes through unchanged the moment a person says yes.

- **Status:** Available
- **Audience:** both
- **In the app:** #/approvals, #/needs-you
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/glossary/approval/

## What holds an action

Knowing which hold you are looking at is most of the work of releasing it, because from the conversation screen they look the same.

| Hold | Set where | Releases when |
|---|---|---|
| Autonomy is `ask_before_send` | Per channel, or narrower — one contact, one mailbox, one number | A person approves |
| Autonomy is `draft_only` | The same place | Never automatically: that mode does not even ask |
| The daily allowance is spent | The workspace's plan | The allowance resets, or the plan changes |
| The recipient is suppressed | Suppression, unsubscribe or do-not-contact | The suppression is cleared, where it is one that may be |

> **Note** Only the first produces an approval. The other three produce something that looks like a waiting action and is not one — which is why *nothing is in the approvals queue* and *nothing is being sent* are not the same report.

## What the other party experiences

Nothing. A held action has not been handed to any provider: no message in flight, no delivery attempt, nothing in a sent folder, no call placed. This is the point worth carrying away — a held reply is **no reply**, not a slow one, and the clock the customer is counting is still running.

That is also why the queue is ranked by consequence rather than by arrival. The oldest item is not reliably the most expensive one to leave.

## Approving, rejecting, and the difference between them

1. Open the item; the material it answers sits above it.
   - Result: You judge the answer against the question rather than from memory.
2. Edit if you want to. What you edit is what goes.
   - Result: Connect does not rewrite over your edit.
3. Approve.
   - Result: The action runs immediately through the same boundary a person's own action uses, and the result is recorded with the provider's own acknowledgement. Until that acknowledgement exists the state is *uncertain*, not *sent*.

Rejecting records the rejection and stops that action; it does not teach anything by itself. A rejection is a decision about one item. If the reason should change future behaviour, record it — as guidance on the thread, as a [memory](/docs/glossary/memory/), or as a [rule](/docs/glossary/rule/) if it must always hold.

## Neighbouring terms

**Needs You** — The wider queue. Every approval is in it; not everything in it is an approval — judgements and operational problems are there too.
**A prepared action under `draft_only`** — Written and stopped, with nothing to approve. It is not queued and no amount of working the approvals screen will find it.
**A [follow-up](/docs/glossary/follow-up/)** — A dated commitment to do something later. An approval is an action already prepared and waiting on a person now.
**An [audit](/docs/glossary/audit/) entry** — What was decided, after the fact. Approvals disappear when decided; the record of the decision does not, and it names the person who gave it.

## Questions

### Does an approval expire?

It is not deleted, but it goes stale: if the customer writes again, what you approve answers the older message. Regenerating gives the newer material to the model; editing the old text does not.

### I approved something and nothing happened. Why?

Most often the daily allowance was already spent. The approval is recorded and the action waits, so the item stays visible until it actually goes.

### Who is allowed to approve?

Anyone in the workspace with permission to act on that channel. The approval is recorded against the person, which is what answers *who released this* months later.

## Related

- [Autonomy](https://connectbyjbrh.com/docs/glossary/autonomy/)
- [Needs You](https://connectbyjbrh.com/docs/glossary/needs-you/)
- [Audit](https://connectbyjbrh.com/docs/glossary/audit/)
- [What Connect may do](https://connectbyjbrh.com/docs/autonomy/)
- [Designing undo for agent actions](https://connectbyjbrh.com/research/undo-for-agents/)

## What this page is based on

- docs-source/sources/GENERAL.md §5 — approvals and the audit trail
- `docs-source/facts.py` — CAPABILITY_STATUS held_draft_approval, send_evidence
- docs-source/sources/GENERAL.md §4 — outbound.py, the shared send boundary
