---
title: Warmup
description: "How email warmup builds sender reputation, pools, and ramp."
---

Warmup sends small amounts of low-risk, natural-looking mail between participating mailboxes to build sender reputation, so your cold outreach lands in the inbox. You turn it on per mailbox and pick how fast it ramps; Warmbly handles partners, spacing, replies, and safety.

<Callout type="info" title="Warmup is a paid feature">
  Free organizations can connect mailboxes, but no warmup traffic is scheduled for them; pending warmup activity is skipped rather than sent.
</Callout>

## Why it works

Providers watch how an address behaves over time. A new address that suddenly bursts out cold email looks suspicious. One that sends a steady, modest, conversational stream and gets replies looks like a person. Warmup manufactures that history: low volume instead of spikes, natural spacing across the day, replies so threads look real, and slow growth. Reputation builds slowly and is lost quickly, so warmup favors patience over throughput.

## How it works

With warmup enabled, Warmbly repeatedly picks a partner mailbox (avoiding recent ones), decides whether to start a thread or reply to one, sends a short plaintext message through that mailbox's worker, then records stats and schedules the next send.

Every warmup send carries a hidden verification token so the receiver can confirm it is genuine warmup traffic. Warmup mail is plaintext and never carries open or click pixels, because it needs to look like ordinary personal email.

Enabling warmup controls **outbound** scheduling only. An active mailbox with warmup off stays available as a recipient-only participant, and never starts sending just because it received something.

### Where the content comes from

Message generation stays off the live sending path. When an AI provider is configured, a background batch builds complete conversation plans (a subject, an opening, and five alternating reply turns), each validated against a strict schema, checked for robotic language, and passed through a safety lint before entering the active bank.

At send time a message draws from the least-used suitable thread and accounts for usage atomically, spreading content evenly across thousands of mailboxes. The opening is personalized with the mailbox's stable persona, greeting, sign-off, and signature; reply turns stay unused until the recipient actually replies. If generation is unavailable or the bank is empty, a built-in reviewed library takes over, so **warmup never waits on an AI provider**.

The controller runs every six hours against the last seven days of demand: at least 200 active threads, up to 5,000, refreshing the most-used content, at most 250 threads per batch and 1,000 per day. Threads are retired automatically when at least 3 of 20 or more sampled deliveries land in spam and the rate is `15%` or higher. Admins monitor it but never refill it by hand.

## Pools

A pool is the set of mailboxes that warm each other. Your mailbox only exchanges warmup mail within its own pool.

| Pool | Who is in it |
|------|--------------|
| `premium` | Paid organizations' mailboxes. The default for paid accounts, isolated from lower-trust traffic. |
| `free` | Lower-trust or trial mailboxes, kept separate so free traffic never mixes into premium reputation. |

The separation is never crossed silently. Warmbly spreads sends across many partners and recipient domains rather than looping the same two mailboxes, since tight reciprocal pairs are easy for providers to spot. **Pool quality matters more than pool size.**

Turning off outbound warmup does not remove a healthy mailbox from the recipient pool. Disconnecting it, losing warmup-plan access, or entering a quarantined or blocked state does.

## The ramp

| Setting | Default | Meaning |
|---------|---------|---------|
| Start volume | `10`/day | Warmup emails on day one |
| Daily increase | `+1`/day | How much the target grows daily |
| Ceiling | `40`/day | Where the ramp stops climbing |

At defaults a mailbox sends 10 on day one, 11 the next, and levels off at 40 after roughly a month. You can change these per mailbox, but conservative defaults build the most durable reputation.

Three things shape the real daily number: sends are spread across your warmup hours with jitter, the target is capped by how many eligible partners exist, and a mailbox whose health drops gets reduced volume and wider spacing until it recovers.

<Callout type="info" title="Warmup and campaigns coexist">
  Keep warmup on after campaigns start. A mailbox backing a live campaign drops to at most five warmup messages per day, leaving the campaign as primary traffic. Warmup does not make repetitive or unwanted copy safe: you still need real targeting, personalization, suppression, and unsubscribe support.
</Callout>

## Replies

Real inboxes reply, so a configurable share of the time a mailbox answers an existing warmup thread instead of starting one. For AI content Warmbly reloads the original conversation plan and sends its next unused turn, with the conversation ID and turn number traveling on every verified send, so a reply continues the same exchange. A parent message is answered only once, and an exhausted or retired thread ends rather than repeating.

Replies thread properly with a real `Re:` subject and `In-Reply-To` header, and candidates must be between 45 minutes and seven days old, so nothing is answered instantly or revived indefinitely.

Timing imitates people throughout: sends come in bursts and lulls rather than a fixed rhythm, never land on round clock marks, and opens happen on a natural delay during the recipient's waking hours. No mailbox in the pool reads mail at 3am or reacts within seconds.

## Keeping warmup out of your inbox

Warmbly recognizes inbound warmup by its token and files it automatically, including for recipient-only mailboxes. The message moves to a dedicated `Warmbly` folder and is usually marked read; anything that landed in spam is rescued first so the provider records a positive placement signal. This works across Gmail, Outlook via Microsoft Graph, and generic IMAP, and warmup mail never appears in your unified inbox.

## Pool safety

Shared pools only work if participants behave, so each mailbox accumulates a spam score from negative signals: complaints, spam-folder placement, bounces, invalid or forged tokens, and tampering with delivered warmup mail.

| State | Meaning | Effect |
|-------|---------|--------|
| `healthy` | Normal | Full volume |
| `watch` | Mild concern | Spacing stretched modestly |
| `throttled` | Probation | Volume cut, spacing widened until recovery |
| `quarantined` | Clear problem | Out of the shared pool for a cooldown |
| `blocked` | Serious or repeated abuse | Out for longer, review required |

Quarantined and blocked mailboxes are selected as neither sender nor recipient. Auto-block also fires on clear abuse, such as repeated invalid tokens in a short window.

<Callout type="warn" title="Acting early protects everyone">
  Warmbly intervenes well before providers would penalize a mailbox. One landing in spam a large share of the time is already dangerous to the pool, so it is throttled or removed rather than left collecting negative signals.
</Callout>

Getting back in requires requalifying, not just waiting: healthy authentication, no recent complaints or hard-bounce spikes, no recent invalid-token attempts, and spam placement back to a low level. Return is gradual, not a jump back to the old ceiling.

## Recommended posture

- Start new mailboxes around `10`/day and let the ramp climb slowly.
- Do not raise the ceiling above `40` casually.
- Keep warmup running alongside campaigns, not only before them.
- Prefer more healthy mailboxes over pushing a few too hard.
- Watch complaints and spam placement, not open-rate vanity metrics.

## Related guides

<Cards>
  <Card title="Deliverability" href="/guides/deliverability/">
    Authentication, suppression, and inbox-placement signals that warmup supports.
  </Card>
  <Card title="Personalization" href="/guides/expressions/">
    Expressions for personalizing your campaign sends.
  </Card>
  <Card title="Mailboxes" href="/guides/mailboxes/">
    Sending limits and provider setup for the mailboxes you warm.
  </Card>
</Cards>
