Sales teamsOutbound from every rep mailbox, replies to the right AE

Every rep sends from
their own mailbox.

Each BDR and AE connects their own inbox. The sequence sends through the pool of those mailboxes under a per-mailbox cap, and every positive reply lands on a named AE on the same event the classifier emits.

Section 1 · Where the sequence sends from

A shared sales alias has nobody behind it.

When a whole team sends from sales@ or sdr@, every BDR ends up sharing the same complaint history and the prospect has no name to reply to. A mailbox per rep means each one builds its own sending history and every reply comes back to a real person.

Shared SDR aliasPromotions
S
Sales at Acmesales@acme.com
Quick question about your Q2 plans
9:02 AM
  • Sent from by the whole SDR team
  • Carries everyone's complaint history
  • No named person for the prospect to reply to
BDR mailboxPrimary
DV
Dana Vasquezdana@acme.com
Quick question about your Q2 plans
9:04 AM
  • Belongs to one rep on the team
  • Builds its own sending history
  • Routes the reply back to a named AE
Section 2 · Who owns the reputation

Comparing the two setups.

With a shared alias, every complaint and every reply belongs to no one in particular. With a mailbox per rep, both stay with the person they came from. It changes who handles a reply, who carries the reputation, and what happens when a rep leaves the team.

Shared sales@
Per-rep mailboxes
The alias itself, shared by every BDR.
Reputation
The individual rep.
Affects every BDR sending from the alias.
One complaint
Stays with that one mailbox.
A generic sales address.
What the prospect sees
A named person on the team.
Their threads stay stuck on the alias.
If a rep leaves
The mailbox leaves with them.
A manager queue triages by hand.
Reply routing
A rule on the sequence picks the AE on the inbound event.
Section 3 · Daily volume

Sending limits the platform ships with.

Team volume scales with the size of the pool, not with the cap on any one mailbox. The defaults sit well under the 100 a day per-mailbox ceiling, so the team can compound throughput by adding healthy mailboxes instead of pushing any individual rep past their safe band.

  • A mailbox at cap is skipped for the day, the campaign keeps moving against the rest of the pool.
  • Per-mailbox reputation is isolated, so a watch-band flag on one rep does not slow the others down.
PARAM 01Recommended daily cap
50 / day

Most teams keep individual rep mailboxes around 50 a day on cold and grow team volume by adding mailboxes to the pool, not by raising the cap.

100 max
PARAM 02Minimum gap between sends
600 s

A 600 second gap between sends from one mailbox avoids the burst pattern provider heuristics associate with bulk sending tools.

every mailbox
PARAM 03Watch-band volume
halved

A mailbox drifting into the watch band has its volume halved and its spacing widened. A quarantined mailbox leaves the pool until it requalifies.

auto throttle
PARAM 04Reply routing latency
< 2 s

Classification, the routing rule, the CRM stage move and the Slack notification all fire on the same inbound event, not as a chain of queued jobs.

one event

The 50 / day figure is the platform default, allowed up to 100 in the configuration. Raising the cap is safe once a mailbox has gone a few weeks without complaints, bounces or watch-band flags.

Section 4 · Reply routing

Four routing rules, four fallback chains.

Pick one rule per sequence. The platform never silently changes who owns a reply. Every rule reaches an explicit terminal fallback, so a reply that does not match never disappears into a manager queue without a record of it landing there.

RULE 01Round-robin
default

Next AE in the rotation. Quota skips on the same pass.

Fallback chain
Round-robinManual queue
RULE 02By territory
segmented teams

Match on recipient domain or contact territory field.

Fallback chain
TerritoryRound-robinManual queue
RULE 03By account owner
named accounts

CRM owner attached to the contact gets the assignment.

Fallback chain
OwnerRound-robinManual queue
RULE 04Manual triage
controlled rollout

Manager queue with an SLA timer. Bulk re-assign.

Fallback chain
Manual queue
Idempotent on (message-id, rule version)Manual queue carries its own SLA timer
Section 5 · Formatting

Plain text emails.

When a BDR writes to one prospect, they do not add a banner or a tracking pixel. Those are the signals filters use to classify marketing mail, so a cold email carrying them tends to land in Promotions. Plain text reads like a normal note and is more likely to reach the main inbox.

What a lot of cold-email tools send
Large logo banner imagestripped
Image-heavy product collagestripped
HTML signature with socialsstripped
Tracking pixel on coldstripped
What MailFor sends
Hi Maya,
Saw the Q2 launch and the role you stepped into.
Open to a 20-minute look next week?
View the decklinks to a hosted page

The deck lives on a hosted page, so the email stays light and reads like a note from a person.

Section 6 · Templating

Personalisation with Go templates.

Every step is a Go text/template, the same syntax used across the rest of MailFor. Pull in a prospect's details with a leading dot, branch on a field with if / else, and the template renders per prospect at send time.

  • An empty field renders as nothing, so a missing trigger or company never leaves a broken sentence behind.
  • Wrap an optional detail in an if, and it only appears when the field is set on the contact record.
Available fields
{{.FirstName}}{{.Company}}{{.Role}}{{.Industry}}{{.RecentEvent}}
first touch · body
Hi {{.FirstName}},
Saw {{if .RecentEvent}}{{.RecentEvent}} at {{end}}{{.Company}} and the {{.Role}} role lined up with what we usually help land.
Worth a 20-minute look next week?
Dana
Renders for Maya, with no RecentEvent on file
Hi Maya,
Saw Northwind and the VP RevOps role lined up with what we usually help land.
Worth a 20-minute look next week?
Dana

Her RecentEvent was blank, so the if skips the "at" clause and the sentence flows without a stray gap.

Section 7 · CRM

The CRM stays the source of truth.

Two-way sync with HubSpot, Salesforce or Pipedrive on contacts, deals, stage and owner. The activity feed is outbound only, so the CRM is never fought over. A stage moved over there is honoured here on the next pass.

  • An assignment writes the owner, the stage and the activity on the same event the Slack ping fires from.
  • Webhooks are HMAC-signed and idempotent on (message-id, rule version).
Synced objects
ContactDealStageOwnerActivityNote
assignment event · payload
{
"event": "reply.assigned",
"rule": "territory",
"assignee": "dana@acme.com",
"crm": {
"provider": "hubspot",
"stage_from": "Sequenced",
"stage_to": "Replied · Awaiting AE"
},
"slack_channel": "#ae-na-west",
"idempotency_key": "msg-9af2:rule-v3"
}
What lands in HubSpot
Deal stageSequencedReplied · Awaiting AE
OwnerDana Vasquez
Activityreply · meeting_request

The CRM picks up the stage change, the owner and the activity off the same event the Slack ping fires from.

Section 8 · Reply fan-out

One reply, every surface updated at once.

When a positive reply arrives, the assignment, the Slack ping, the CRM stage move, the deal note, the Unibox claim and the webhook all fire from the same event. The AE picks up the conversation on a single notification, and the rest of the surfaces are already in sync by the time they look.

Inbound replypositive
DL
dana.li@northwind.io

"Yes, this is timely. Could we put 20 minutes on the calendar next week?"

intent: meeting_requestsentiment: positiverule: territory
assigned to dana@acme.com
Fanned out on the same event
sequence: acme-q2-outboundpaused
#ae-na-westping
HubSpot · stage advancecrm
Unibox claim · Dana Vasquezclaim
Deal timeline · notecrm
Webhook · reply.assignedevent
Meeting request

Lands on the AE with the booking link in the auto-acknowledgement and the sequence paused for the contact.

Soft pass

Picked up by the AE for nurture. The sequence holds for 60 to 90 days, then resumes from the next step.

Opt-out

Workspace suppression on the contact, the opt-out lands on the record, and the deal closes as lost-no-fit.

Each reply class has its own path. The fan-out above is the positive case, the strip names the three other classes you will see most often.

Sales team FAQ

A few questions sales ops asks first.

Add the rep mailboxes to a sender pool. The scheduler round-robins sequence sends across the pool with awareness of each mailbox cold cap, the 600s spacing rule, and the current health band. A mailbox that hits its cap is skipped for the rest of the day, the campaign keeps moving against the healthy mailboxes that still have headroom.

Replies are classified on arrival and routed by the rule on the sequence. The assignment lands as a Slack notification, a CRM stage move, and an Unibox claim for the named AE, all on the same event. The originating sequence is paused for that contact at the same moment.

Per-mailbox reputation is isolated. A mailbox that drifts into the watch band has its sends throttled and spacing widened. If it crosses into quarantine it leaves the sender pool entirely until it requalifies. The rest of the pool keeps sending at full pace.

Set up a mailbox for every rep on the team.

Connect each BDR and AE mailbox, drop them into a sender pool, and route every positive reply on the inbound event.