Auto-pause and bounce handling
Before a message ever reaches Reply Box, ForgeSend decides whether it's a genuine reply or a bounce, and reacts differently to each — automatically, not as a manual step.
On this page
Three active pollers
ForgeSend runs three separate polling services, each checking every connected inbox of its provider roughly every two minutes: one for Google inboxes, one for Microsoft 365, and one for SMTP/IMAP. All three are live today — none is a stub or a "coming soon" state.
Polls every ~2 minutes
Microsoft 365
Polls every ~2 minutes
SMTP / IMAP
Polls every ~2 minutes
Whichever provider found the message, matching is identical from there: ForgeSend normalizes the inbound subject line and compares it against that lead's recently sent steps for that inbox, to attribute the reply to the right campaign and step.
AI reply classification
Every inbound reply is classified automatically the moment it's ingested — not lazily, not on request. ForgeSend reads the fresh (non-quoted) text and assigns one of five classifications, with a short written reasoning stored alongside it.
This same classification is what feeds a campaign's Reply sentiment Condition node in Canvas view — if a lead's next step depends on how they replied, this is the signal it branches on. Two additional routing-only outcomes, No reply and Unclassified, can appear there too, but neither is ever written back onto the reply message itself — they only describe "nothing came in" or "couldn't be classified" for branch routing purposes.
The AI classification is informational and used for branching — it is a separate field from the manual tag you apply in Reply Box, and it never pauses a sequence by itself. Auto-pause is driven entirely by real reply ingestion and by the manual tag, covered next.
How a reply pauses a sequence
When a genuine reply is ingested for a lead whose campaign status is exactly ACTIVE, ForgeSend automatically sets the lead's status to REPLIED and skips every one of that lead's still-pending send jobs — no further sequence steps go out.
Before
Lead status: ACTIVE
Reply arrives
Pending jobs skipped
After
Lead status: REPLIED
This only fires when the lead is currently ACTIVE — leads that are already PAUSED, COMPLETED, or REPLIED are left untouched by a further reply.
There's a second, independent trigger: manually tagging a reply Interested or Unsubscribe in Reply Box also pauses that lead, setting its status to PAUSED. Tagging Not Interested or Out of Office is cosmetic only — no lead or job changes.
Unsubscribe-intent detection
Separately from AI classification, ForgeSend runs a fixed-phrase check against the fresh text of every inbound reply — phrases like "please unsubscribe," "remove me," "opt out," "stop emailing," or a bare "unsubscribe." A match:
- adds the sender's address to the suppression list
- pauses every active lead for that contact, workspace-wide
- forces the reply's manual tag to Unsubscribe, overriding anything you might tag it later
This detector is a fixed phrase list, not AI — it's deliberately separate from the AI classification described above. Wording it doesn't recognize won't be caught automatically; that's what manual tagging is for.
Bounce detection
A bounce is identified before it ever becomes a reply. ForgeSend checks whether a message's sender is mailer-daemon or postmaster, then looks for a delivery-status part matching RFC 3464 — a status line in the 4.x.x or 5.x.x range, with a resolvable original recipient. Only then is a message treated as a confirmed bounce.
A confirmed bounce is diverted entirely — it's never stored as a reply, never appears in Reply Box, and never triggers the reply auto-pause above.
Hard vs. soft bounces
Soft bounce · 4.x.x
Logged only. Contact and lead status unchanged.
Hard bounce · 5.x.x
Contact marked invalid, lead set to BOUNCED, address suppressed.
A soft bounce (4.x.x) is logged as an event and nothing else changes. A hard bounce (5.x.x) marks the contact invalid, sets its active leads to BOUNCED, skips its pending jobs, and adds the address to the suppression list.
This is a different mechanism from the inbox-level bounce-rate check covered in Deliverability — that one watches the dispatch failure rate of outbound sends per inbox and is triggered without reading any inbound mail. This page's bounce handling is per-contact, triggered only by an actual inbound bounce message arriving.
Reply-matching limits
ForgeSend attributes a reply to a campaign step by matching its normalized subject line against a lead's recently sent steps for that inbox — not by Message-ID/References headers.
Replies are matched to their thread using the subject and reference chain. If a reply's subject has been substantially changed — for example by a mobile client that alters the "Re:" line — it may not be automatically linked to its original conversation. Keeping the original subject intact ensures replies thread reliably.
Where to go next
Next: Deliverability overview