Skip to content
Sales
Skill

/smartlead-inbox-manager

Programmatic inbox management for Smartlead. Enable/disable warmup with correct ramp settings, set signatures in bulk, tag inboxes (active vs insurance), and pull inbox health dashboards. Use after creating a new batch of inboxes via /zapmail-domain-setup-public, or when

BOOST
From plugin
coldoutboundskills
76452 skills
Install
$ npx -y skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-inbox-manager --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/smartlead-inbox-manager

Context preview

The summary Claude sees to decide when to auto-load this skill.

Programmatic inbox management for Smartlead. Enable/disable warmup with correct ramp settings, set signatures in bulk, tag inboxes (active vs insurance), and pull inbox health dashboards. Use after creating a new batch of inboxes via /zapmail-domain-setup-public, or when

SKILL.md

smartlead-inbox-manager.SKILL.md
name: smartlead-inbox-manager
description: Programmatic inbox management for Smartlead. Enable/disable warmup with correct ramp settings, set signatures in bulk, tag inboxes (active vs insurance), and pull inbox health dashboards. Use after creating a new batch of inboxes via /zapmail-domain-setup-public, or when managing an existing Smartlead account at scale. Triggers on "turn on warmup", "set signatures", "tag inboxes", "inbox health", "set up new inboxes".

Smartlead Inbox Manager

Zapmail hands you hundreds of new inboxes. Smartlead needs them configured: warmup enabled with the right ramp, signatures set so emails don't look bare, tags applied so you know which are active vs insurance, and health monitored so dead inboxes get recycled.

This skill does all of that via the Smartlead API.

Core operations

| Operation | What it does | Script | |---|---|---| | Enable warmup | Turns on warmup with correct ramp (start 1/day, +5/day up to 40/day) | `set-warmup.ts --mode=enable` | | Disable warmup | Turns off warmup (use for insurance inboxes) | `set-warmup.ts --mode=disable` | | Set signatures | Bulk-applies a signature template to inboxes | `set-signatures.ts` | | Tag as active | Adds the "active" tag | `tag-inboxes.ts --tag=active` | | Tag as insurance | Adds the "insurance" tag | `tag-inboxes.ts --tag=insurance` | | Health dashboard | Lists all inboxes with warmup status, reputation, daily sent | `list-health.ts` |

Active vs insurance (the tagging convention)

Not every inbox should send all the time. A common pattern:

  • **Active inboxes** — currently sending in live campaigns. Warmup OFF (or minimal) to prioritize real sends.
  • **Insurance inboxes** — warmed but idle, held in reserve. Warmup ON to maintain reputation. Swap in when an active inbox burns out.

Tags are how you track this at scale. Filter by tag in Smartlead UI or via API.

Inputs

Every script reads:

  • `SMARTLEAD_API_KEY` (env var)
  • Inbox selector: `--ids=1,2,3` OR `--domain=example.com` OR `--tag=insurance` OR `--all`
  • Operation-specific flags (see each script)

Warmup ramp settings

Default warmup config for a NEW inbox (week 1-4 of warmup period):

{
  "warmup_enabled": "true",
  "total_warmup_per_day": 40,
  "daily_rampup": 5,
  "reply_rate_percentage": "20"
}
  • `total_warmup_per_day`: max emails/day the inbox sends in warmup network (peak)
  • `daily_rampup`: increment per day (day 1 = 1, day 2 = 6, day 3 = 11, etc. up to the cap)
  • `reply_rate_percentage`: how often warmup peers reply (20% is realistic)

For INSURANCE inboxes (maintaining reputation long-term):

{
  "warmup_enabled": "true",
  "total_warmup_per_day": 15,
  "daily_rampup": 0,
  "reply_rate_percentage": "20"
}

Lower volume, no ramp — just keeps the inbox warm.

For ACTIVE inboxes (currently in live campaigns):

{
  "warmup_enabled": "false"
}

Warmup off so the daily send budget goes to real prospects.

Signature template

The default template, applied in bulk via `set-signatures.ts`, is:

{from_name}
{title}
{company}
{address}

Rendered (for example):

Jane Smith
Founder
Acme
123 Main St, Suite 400, Austin, TX 78701

**Where each value comes from:**

  • `{from_name}` — the inbox's own `from_name` field if set (different personas per inbox), else `SENDER_FIRST_NAME + SENDER_LAST_NAME` from `.env`
  • `{title}` — `SENDER_TITLE` env var
  • `{company}` — `SENDER_COMPANY_NAME` env var
  • `{address}` — `SENDER_PHYSICAL_ADDRESS` env var (recommended — a real mailing address in the footer keeps you on the right side of CAN-SPAM and similar rules)

**Required `.env` entries for the default template:**

SENDER_FIRST_NAME=Jane
SENDER_LAST_NAME=Smith
SENDER_TITLE=Founder
SENDER_COMPANY_NAME=Acme
SENDER_PHYSICAL_ADDRESS=123 Main St, Suite 400, Austin, TX 78701

**Custom template override:**

# Pass inline (use \n for newlines)
npx tsx scripts/set-signatures.ts --all --template="Cheers,\n{from_name}\n{title}\n{company}\n{address}"

# Or from a file
npx tsx scripts/set-signatures.ts --all --template-file=./my-signature.txt

Available placeholders: `{from_name}`, `{from_email}`, `{domain}`, `{title}`, `{company}`, `{address}`.

**Email body order in campaigns:**

In Smartlead sequences, always end the body with `%signature%` — Smartlead injects the inbox's signature there. Order:

<body content>

<PS unsubscribe line>

%signature%

This puts `%signature%` (with name + title + company + address) on the bottom, so every inbox sends with a real mailing address in the footer.

Health dashboard output

`list-health.ts` prints a CSV + summary:

email                              warmup   reputation   sent_today   health_status
john@example.co                    on       good         18           healthy
jane@example.co                    on       fair         5            warming
sales@other.co                     off      n/a          28           active
support@other.co                   on       bad          0            blocked

Summary:

Total inboxes: 80
  Warmup on: 50
  Active (warmup off): 28
  Blocked/failed: 2

Reputation:
  Good: 65
  Fair: 10
  Bad: 3
  Unknown: 2

Action items:
  - 2 inboxes blocked — run /email-deliverability-audit
  - 3 inboxes with "bad" reputation — consider pausing

Common workflows

Day 1 after Zapmail provisioning

# 1. Enable warmup on all newly created inboxes
npx tsx scripts/set-warmup.ts --mode=enable --tag=new --warmup-per-day=40 --ramp=5

# 2. Set signatures
npx tsx scripts/set-signatures.ts --tag=new --template="Best,\n{from_name}"

# 3. Tag them as insurance (they aren't active yet — warmup for 2 weeks first)
npx tsx scripts/tag-inboxes.ts --tag=new --add-tag=insurance
npx tsx scripts/tag-inboxes.ts --tag=new --remove-tag=new

Activating insurance inboxes into a live campaign

# 1. Identify warm insurance inboxes with good reputation
npx tsx scripts/list-health.ts --tag=insurance
Read more
Ships withcoldoutboundskills

Open-source Claude Code skills for cold email infrastructure, lead sourcing, copywriting, and operations. Built by GrowthEngineX from patterns across 1,000+ real B2B campaigns. 31 skills that work together.

Get the whole plugin
Stats
766
Stars
269
Forks
Active
Maintenance
TypeScript
Language
MIT
License
9d ago
Last commit
7mo ago
Created
5h ago
Added

Repo: growthenginenowoslawski/coldoutboundskills

Other skills on coldoutboundskills.