# Approving a follow-up, end to end

A follow-up that autonomy will not let Connect execute is neither abandoned nor quietly sent: the drain records `awaiting approval` against it and puts the commitment, its reason and the drafted message into Needs You. A person approves, edits or cancels. Approval then runs the same execution path an autonomous follow-up would have taken, with the approver's edits as the text and the approver's name on the decision.

- **Status:** Available
- **Audience:** both
- **In the app:** #/needs-you, #/follow-ups
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/workflows/follow-up-approval/

## What puts a follow-up in front of a person

Nothing about the follow-up itself. A follow-up is a dated commitment on a channel with a reason attached, and it carries no authority of its own. The authority comes from the channel's autonomy rule at the moment the drain reaches it, which is why an identical commitment executes untouched in one workspace and waits for a person in another.

| Rule on that channel | What the drain does | Where it appears |
|---|---|---|
| Connect may act | Executes and records the outcome | The follow-up closes; the timeline gains the message or the call |
| A person decides | Records `awaiting approval` and stops | Needs You, with the reason and the drafted message |
| Draft only | Writes the message and stops without asking | The conversation, not the approval queue |
| The channel is `task` | Never drains at all | The follow-ups screen, as work for a person to do |

> **Note** Autonomy resolves at four scopes and the narrowest wins, so one account can be held for approval while the rest of the channel runs untouched. A single held row is usually a rule about that contact rather than a change to how the workspace works.

## The stage chain

1. Trigger — a scheduler tick reaches a follow-up whose due time has passed. Phone follow-ups drain two per tick.
2. External event — none. Nobody outside the workspace has done anything; this flow begins with the clock.
3. Authentication and workspace resolution — the drain runs inside one workspace with the workspace kernel and row-level security already applied, so it can only ever reach records that belong there.
4. Ingest — the row is read with its person, its channel, its due time and its reason. A commitment without a reason is not useful to whoever inherits it, so the reason travels into the queue with it.
5. Canonical record — the person is resolved first. If two records were merged after the follow-up was scheduled, the surviving person is the one chased.
6. Reasoning — the message, or the opening of the call, is generated for this person on this channel with the reason as its purpose.
7. Knowledge, memory and rules — grounding is assembled to a fixed budget: roughly 2,000 characters and four facts of Knowledge, about 700 characters of memory, about 600 for the contact block. What Connect may say about price or terms is bounded here, not at the approval step.
8. Autonomy and approval — the gate. Where the rule says a person decides, the outcome recorded against the follow-up is `awaiting approval` and the item enters Needs You unchanged.
9. Action and provider — after approval, the mailbox, the messaging provider or the carrier is called through the same boundary a person's own send uses. There is no second path for approved work.
10. Result — the provider's own acknowledgement decides the outcome. Until it arrives the state is uncertain rather than sent, and the follow-up stays open.
11. Relationship and timeline — the message or the placed call lands on the person's timeline, and the follow-up is completed with what actually happened.
12. Audit and usage — the approval is recorded against the person who gave it, the model and channel usage is metered, and the Needs You item clears.

The gate sits at stage eight, after the message has been written. That ordering is deliberate: an approver shown only 'call this person back' is being asked to approve an intention, and an approver shown the actual words is being asked to approve an action. Only the second is a decision anyone can defend a month later.

## What the approver may change

1. Open the item in Needs You. The person, the reason the follow-up exists and the due time that has passed sit above the message.
   - Result: You can tell a chase that is still worth making from one the world has moved past, without opening the relationship record.
2. Edit the text, or change the channel if the commitment was to reach the person rather than specifically to write to them.
   - Result: Your text is what goes out. Connect does not regenerate over an edit, and the edit is what the timeline records.
3. Approve, or cancel with a reason.
   - Result: Approval executes immediately. Cancelling closes the follow-up as a decision rather than as a failure, which is the distinction a report cares about later.

Two things an approver cannot change are the person and the workspace. Re-pointing a commitment at somebody else would detach it from the history that justified it, so the correct move is to cancel this one and schedule the right one against the right person.

## Where this flow fails

**Nobody approves in time** — A phone follow-up more than 24 hours past its due time is closed as missed and never rung. A very late call-back is worse than none, so lateness closes the row instead of executing it.
**Approval succeeds, the send does not** — The follow-up stays open with an uncertain result until the provider answers. It is not marked complete on an approval alone.
**The line is not ready** — The row is retried in about an hour rather than failed outright. Repeated retries against one line are a line-health problem wearing a follow-up costume.
**The recipient is suppressed** — Execution is refused and the suppression is named. A do-not-contact entry is not cleared by approving something.
**The same commitment is queued twice** — A follow-up with the same due moment for the same person is a duplicate, and duplicate protection stops the second before it reaches anyone.

## Questions

### Does approving a follow-up send it straight away?

Yes. Approval is the execution trigger, not a permission that takes effect at the next tick. The message or the call goes through the same boundary an autonomous follow-up would have used, and the result is written back to the follow-up and onto the timeline.

### Why is my follow-up in Needs You when the channel is autonomous?

Autonomy resolves at four scopes and the narrowest wins. A rule set against that one contact, that one mailbox or that one thread overrides the channel, so check the person before you change the channel.

### What happens if I cancel instead of approving?

The follow-up closes as cancelled with your reason recorded, and Connect does not immediately re-create it. If the reason should change future behaviour, write it as a standing instruction or a memory — a cancellation is a decision about one commitment, not a lesson.

## Related

- [Approval on a follow-up](https://connectbyjbrh.com/docs/follow-ups/approval/)
- [Executing a follow-up](https://connectbyjbrh.com/docs/follow-ups/execution/)
- [Executing a follow-up, end to end](https://connectbyjbrh.com/docs/workflows/execute-follow-up/)
- [What Connect may do](https://connectbyjbrh.com/docs/autonomy/)
- [A follow-up did not go out](https://connectbyjbrh.com/docs/troubleshooting/follow-up-not-executed/)
- [Human approval without blocking low-risk work](https://connectbyjbrh.com/research/approval-without-blocking/)

## What this page is based on

- `docs-source/sources/CHANNELS.md` §7 — follow-ups and support
- `docs-source/sources/GENERAL.md` §7 — the follow-up channels and the phone drain
- Connect capability registry (docs-source/facts.py) — `followups`, `approvals`
