# First outreach

First outreach is one message through the same send boundary a person's own mail uses. Whether it goes immediately or waits is decided by the channel's autonomy mode at the narrowest scope that applies. Either way the record changes: a held message is queued with what it answers, and a sent one is only called *sent* once the provider has acknowledged it.

- **Status:** Available
- **Audience:** both
- **In the app:** #/prospects, #/needs-you, #/inbox
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/prospects/first-outreach/

## One message, not a sequence

The first contact is a single message. It is not the opening of an automatic cadence that fires regardless of what happens next, because the second message in such a cadence is the one that arrives after somebody has already said no by not replying.

What follows is a follow-up with a **reason** attached, scheduled like any other dated commitment, and visible in the follow-up queue where a person can see it, change it or stop it. A commitment without a reason is not useful to whoever inherits it, which is why the reason is not optional.

## Sent, held, or refused

| Mode | What happens | Where you find it |
|---|---|---|
| `off` | Nothing is drafted for that channel | Nowhere — the channel is disabled |
| `draft_only` | The message is written and stops. It does not even ask | On the conversation, not in the approval queue |
| `ask_before_send` | The message waits for a human yes | Needs You, with the prospect record beside it |
| `autonomous` | It goes, within the gates | The conversation, with the send evidence |

The narrowest applicable scope wins: a rule against one contact beats one against the endpoint, which beats the channel, which beats the workspace. That is how one sensitive prospect can be held for a person while a run otherwise proceeds — and why the mode on the channel screen is not always the mode that governed a particular message.

> **Note** `draft_only` and `ask_before_send` look similar and are not the same thing. The first writes and stops, on purpose, so a workspace can watch what Connect *would* say without anyone having to keep saying no. Only the second puts a decision in front of a person.

## What 'sent' means here

Outreach uses the one send boundary shared by the engine and by people, so a first contact is subject to exactly the evidence rule every other message is. A message is reported as **sent** only when the provider has acknowledged it. There is a third state — **uncertain** — shown as uncertain rather than guessed either way, because re-sending on a maybe is how a stranger receives your introduction twice.

- **Held** — nothing has been handed to a provider. The recipient sees nothing at all; this is no message rather than a slow one.
- **Uncertain** — the provider was asked and has not confirmed. No automatic retry decides for you.
- **Sent** — acknowledged, with the acknowledgement recorded against the message.
- **Refused** — a rule stopped it, and the refusal is in the audit trail as a decision with its rule attached.

## What the record carries afterwards

The prospect stops being only a research record the moment a message exists. Several things change at once, and knowing them makes the later screens legible.

**Already contacted** — Set, and counted across the workspace. This is the guard against a second cold message, and it is why the count above the list matters more than it looks.
**A conversation** — The message belongs to a thread on the sending mailbox, so a reply arrives where it should and is not orphaned.
**A follow-up with a reason** — Scheduled if one is appropriate, and stoppable by a person or by the prospect's own reply.
**An audit entry** — What was decided, under which rule, by what, and what happened — including a refusal.

If the prospect replies, the record moves again: classification decides what the answer means, and some answers stop everything immediately. That is [A prospect replies](/docs/prospects/prospect-reply/) and [Stopping a cold sequence](/docs/prospects/cold-sequence-stop/).

## Questions

### Can Connect send first outreach without anyone approving it?

Only where the applicable autonomy scope says `autonomous`, and only after readiness and the compliance check pass. In `ask_before_send` — the setting many workspaces keep for cold mail — every first contact waits for a person.

### What does the prospect see while a message is held?

Nothing. A held message has not reached any provider, so there is no delivery attempt and nothing in your sent folder. It is worth remembering that the recipient is not experiencing a delay; they are experiencing no contact.

### If a send comes back uncertain, should I send it again?

Not blindly. Uncertain is shown as uncertain precisely so a person decides, and the common outcome of re-sending on a maybe is a stranger receiving your introduction twice.

## Related

- [Sender readiness](https://connectbyjbrh.com/docs/prospects/sender-readiness/)
- [The compliance check before outreach](https://connectbyjbrh.com/docs/prospects/compliance-check/)
- [A prospect replies](https://connectbyjbrh.com/docs/prospects/prospect-reply/)
- [First outreach to a prospect, end to end](https://connectbyjbrh.com/docs/workflows/prospect-outreach/)
- [Why 'sent' must require provider evidence](https://connectbyjbrh.com/research/provider-evidence-for-sent/)
- [Follow-ups in Connect](https://connectbyjbrh.com/docs/follow-ups/)

## What this page is based on

- docs-source/sources/CHANNELS.md §1 — outbound.py, provider acknowledgement and the uncertain state
- docs-source/sources/GENERAL.md §5 — autonomy modes, scopes and the audit trail
- docs-source/sources/GENERAL.md §7 — follow-ups carry a reason
