# Asking before placing a call

Setting the voice channel to `ask_before_send` turns every call Connect would place into a held decision. The number is not dialled; the item appears in Waiting For You with the person, the reason and the follow-up it came from. Approving places the call through the same gates as any other outbound; a call-back left waiting more than a day is closed as missed rather than rung late.

- **Status:** Available
- **Audience:** both
- **Channels:** phone
- **In the app:** #/autonomy, #/approvals, #/follow-ups, #/calls
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/autonomy/ask-before-calling/

## What the setting covers

It covers calls Connect **places**. An inbound call is a different path — the caller is already on the line and there is nobody to ask — so the gate is about dialling out, not about answering. Within outbound, it covers every source equally: a call-back promised in an earlier conversation, a follow-up falling due, or a call the engine decides is the right next action.

> **Note** The narrowest scope still wins here. Voice on `ask_before_send` with one contact set to `autonomous` will ring that contact without asking. If the point of the setting was that nobody is rung unattended, check the contact-level exceptions before you rely on it.

## How a due call becomes a queued decision

1. A phone follow-up falls due.
   - Result: The engine drains phone follow-ups on every tick, two at a time, through the same call-placing path a person's own outbound call would use.
2. The gates are evaluated before anything is dialled.
   - Result: Suppression, a block on the contact, the allowance and the line's own readiness are all checked first.
3. The voice mode is consulted.
   - Result: Under `ask_before_send` the outcome recorded against the follow-up is *awaiting approval*, with the item's identifier — not *call placed*.
4. The item appears in Waiting For You and in Needs You.
   - Result: It stays there until somebody decides, or until it goes too stale to be worth ringing.

Three outcomes are possible on each attempt and all three are recorded: the call was placed, the call is awaiting approval, or the call was refused with a reason. A line that is not ready is not treated as a refusal to be argued with — it is retried about an hour later, which is why a transient carrier problem does not turn into a lost call-back.

## What the approver sees, and decides

- **Who** — the person and the organisation, with the number the call would go to.
- **Why** — the follow-up or the conversation the call comes from, with its reason, rather than a bare instruction to ring somebody.
- **When it was due** — so a call-back that has slipped is visibly a slipped one.
- **Two decisions** — approve, and the call is placed through the usual gates; reject, and it is recorded against the follow-up as a decision rather than silently dropped.

A held call is not a quiet call. From the customer's side nothing has happened at all: no missed call, no voicemail, no number in their log. If somebody was told they would be rung this afternoon, an approval sitting untouched until tomorrow is a broken promise rather than a delayed one, and that is the reason the queue is ranked rather than ordered by arrival.

## When a call-back is too late to make

A phone follow-up more than 24 hours past its due time is closed as missed and never rung. That is a deliberate refusal to make a very late call: ringing somebody a day and a half after they were promised a call is worse than not ringing at all, because it reopens a matter they have already resolved elsewhere and does it out of context.

**The item disappeared before anyone approved it** — It passed the late cut-off and was closed as missed. The record stays; the call does not happen.
**The queue is filling with the same person** — Several follow-ups resolve to one contact. Handle them as one call and complete the others, rather than approving each.
**Approving does nothing visible** — The line was not ready. The attempt is retried about an hour later; line health problems escalate into Needs You on their own.
**Calls run long** — A call has a maximum duration of 30 minutes; it ends there whatever the mode.

## Questions

### Does this stop Connect answering the phone as well?

No. The setting holds calls Connect would place. Answering an inbound call is a separate path, and if you want a number to stop being answered by Connect entirely, that is the `off` mode or the number's own routing rather than an approval rule.

### What happens to a promised call-back if nobody approves it in time?

Once it is more than a day late it is closed as missed and is not rung. The follow-up record keeps the history, so the next person to look at that relationship can see a commitment was made and not met.

### Can I require approval for calls but not for email?

Yes — that is the most common configuration of the two channels. Autonomy is per channel, so voice can sit on `ask_before_send` while email runs `autonomous`.

## Related

- [The four autonomy modes](https://connectbyjbrh.com/docs/autonomy/modes/)
- [Setting autonomy per channel](https://connectbyjbrh.com/docs/autonomy/per-channel/)
- [Approvals](https://connectbyjbrh.com/docs/autonomy/approvals/)
- [How Needs You is ordered](https://connectbyjbrh.com/docs/autonomy/needs-you-ranking/)
- [Follow-ups in Connect](https://connectbyjbrh.com/docs/follow-ups/)
- [Phone and voice in Connect](https://connectbyjbrh.com/docs/phone/)

## What this page is based on

- Connect source pack §7 — the phone follow-up drain and its outcomes (`docs-source/sources/GENERAL.md`)
- Connect source pack §5 — modes, scopes and Needs You
- Connect capability registry (`docs-source/facts.py`) — `outbound_call`, `phone_followup_drain`, `line_health`; `MEASURED` for the late and duration limits
- `backend/app/runner.py` `chase_phone`, `backend/app/voice_engine.py` `place_call`
