# How we run truly personal outbound

Our agent on Machine works with the CRM, enrichment and email. It researches every lead, writes a sequence that is actually personal, logs it to the CRM, and waits for a person to approve sends under a daily cap.

Canonical page: https://themachine.myapps.ai/use-cases/outbound-outreach

Writing to every prospect as if you'd done your homework takes far too long
by hand. So most teams quietly drop the homework. They load a template, drop
in a first name and hit send on the whole list. It's quick, and it goes
straight to the bin. Mail that actually lands needs someone to look into each
account and write about what's really going on there, and that is the part
nobody has time for.

We gave that part to an agent on Machine, and put a person in front of every
send. For each lead it gathers background, writes a first email and a follow-up
based on what is really happening at that account, saves every draft in the
CRM, and sends nothing until someone approves it, with a cap on how many go out
each day. It's how our own outbound runs.

- **Team:** Machine
- **Runs on:** A fresh segment or lead list
- **Connected systems:** CRM · Enrichment · Email
- **Mode:** A person approves each batch · capped per day

## The problem

Outbound forces a choice, and most teams pick the wrong side. Personal messages
get answers, but researching and writing them one at a time can't keep up, so
the list takes over: one template, one merge field, one big button. You get
plenty of volume and very little relevance, and your reply rate says so.

The usual tools don't help much. Sequencers fire the same template out on a
timer. AI writing tools turn out smooth prose with no real knowledge of the
account, so it sounds personal without being personal. And anything that can
bulk-send sits one bad filter away from dropping unchecked email into
thousands of inboxes.

## What we built

A regular sweep wakes the agent on Machine inside a new session: a fresh cloud
computer, or sandbox, with limited access to enrichment, the CRM and email. It
takes the batch of new contacts one at a time, digs into each account, drafts a
first email and a follow-up sequence based on what it learned, and saves every
draft to the CRM. Nothing goes out by itself. Each batch waits for a person to
approve it, and a daily cap still applies.

## How it works

### Let a new lead list start the run

The trigger is a new segment or lead list in the CRM. On a schedule, the agent
starts a new **session**, its own clean sandbox, and works through every
contact on that list. Each contact stands on its own: if research or drafting
fails for one person, that failure is logged and skipped, and the rest of the
batch carries on. Every run is capped, so a sweep never grows past what one
person can comfortably review.

### Hand it the outreach playbook

What real personalization means to us is kept as **skills** and **memory**,
the playbook the agent brings to every run. It covers our angles, the proof
points that land, the things to steer clear of, and which signals at an
account are worth writing about. When a message style works, we write it down
and the next batch uses it.

### Connect enrichment, the CRM and email

The agent reaches each tool through a **connector**, a narrow link whose keys
stay on our servers, so the model never handles a raw token. With those, it
can:

- **Fill in each contact.** Role, company, recent news and the real details
that make an email about them rather than about anyone.
- **Write a sequence worth reading.** A first email and follow-ups built on
the account's situation, not a template with the name changed.
- **Save every draft in the CRM.** Each message is recorded against the
contact, so the history is all there.
- **Send once approved.** An email leaves only after a person signs off on the
batch.

### Set the limits

No email goes out without a person's approval, and nothing unchecked is ever
sent in bulk. Every batch halts at a **human approval gate**, and a **daily
cap** limits how many messages can leave even after they're approved. Pick the
wrong segment and you still won't flood thousands of inboxes, because sending
is gated and capped no matter how long the list is. Credentials are stored
encrypted in the **Secrets Manager** and only handed to the agents you grant
them to.

### Send personal outbound at a safe pace

Once that's in place, loading a segment gives you a batch of researched drafts,
each written for one specific account, saved in the CRM and ready to review. A
person reads through, approves what's good, and the daily cap paces the sends.
The emails are personal because every one is written about an account that was
actually researched, and none of them leave until a person says yes.

> **The pattern**
> A **trigger** on a new list starts a clean session with limited
> **connectors** into enrichment, the CRM and email. Our outreach approach lives
> as **skills** and **memory**. A person approves every batch and the daily cap
> paces the sends, so nothing unchecked goes out in bulk.

## Guardrails

The agent can write and send email, so sending is the step we hold tightest:

- **Isolation.** Each sweep gets a brand-new sandbox that is thrown away
  afterwards. It can reach enrichment, the CRM and email and nothing else.
  Only drafts come out, and nothing is sent from inside the sandbox. If one
  contact fails, it's logged and skipped, and the rest of the batch is left
  untouched.
- **Scoped secrets.** The enrichment, CRM and email keys are stored encrypted in
  the **Secrets Manager** and only handed to the agents you grant them to, when
  the sandbox starts.
- **Human approval gate.** Nothing is sent until a person approves it. Each
  batch is reviewed first, and a **daily cap** limits volume even after
  approval, so a bad list can never blast out unchecked mail.
- **Everything is code.** Configuration, skills and permissions are versioned
  files in the repo, changed only through a reviewed **change request**, never
  a dashboard toggle.

## The outcome

- **Every send:** Signed off by a person and paced by a daily cap
- **Per account:** Research and writing built on real context, not a merge field
- **3 systems:** Enrichment, CRM and email, handled by one agent

Our outbound is now written for each account and sent at a pace we're
comfortable with. Every contact gets researched, every email is written around
what was found and saved in the CRM, and every batch is approved by a person
under a daily cap. Personal outreach can grow because the research grows with
it, and nothing unchecked ever goes out in bulk.
