Install
$ agentstack add skill-mattsezgin-unofficial-smartlead-cli-warmup-mailboxes ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
> Before running: verify exact flag names with smartlead --help. Flag shapes shown below are illustrative — confirm against the actual CLI.
/warmup-mailboxes
You're configuring warmup on one or more Smartlead mailboxes using a verified production-grade config.
What you need from the user
- Mailbox IDs — comma-separated, or a tag/client filter
- Warmup pool key — a 5-letter-prefix-5-letter-suffix tag like
acme1-pool1(groups mailboxes that warm up together) - Optionally: client_id if the mailboxes need to be assigned to a Smartlead client record
Ask for these if not provided.
The golden config we'll apply
Verified for Gmail mailboxes. Before applying, check the mailbox type — if it's not GMAIL, pause and ask the user how they want to proceed.
message_per_day: 15 # not 20 — leave buffer for warmup
warmup_enabled: true
warmup_min_count: 1
warmup_max_count: 20
daily_rampup: 5 # 1 → 6 → 11 → 16 → 20 over 5 days
reply_rate: 60 # 60% reply rate from warmup network
auto_adjust_warmup: false # manual control beats automatic
send_warmups_only_on_weekdays: true
use_custom_domain: false # OFF during warmup, turn on week 4+
daily_reply_limit: 5
Why these values: see docs/learnings/mailbox-warmup-best-practices.md.
How to run it
For a single mailbox
smartlead accounts warmup --enable \
--daily 20 --rampup 5 --reply-rate 60 \
--warmup-key
For many mailboxes (uses the internal bulk endpoint)
smartlead accounts bulk-update \
--ids ,, \
--message-per-day 15 \
--warmup-status ENABLED \
--warmup-min 1 \
--warmup-max 20 \
--rampup-value 5 \
--reply-rate 60 \
--warmup-key \
--send-warmups-only-on-weekdays
Filter by tag (if mailboxes are pre-tagged)
# Find IDs by tag
smartlead accounts tags get --tag --output json | jq -r '.[].id' > ids.txt
# Then bulk-update
smartlead accounts bulk-update --ids-file ids.txt ...
After warming up
After ~3 weeks of clean warmup, the mailbox is ready for production. At that point:
# Turn on custom-domain tracking (was off during ramp)
smartlead accounts bulk-update --ids --use-custom-domain
Verification
smartlead accounts get --output json | jq '.warmup_details'
Should show:
warmup_enabled: truetotal_warmup_per_day: 20warmup_min_count: 1warmup_max_count: 20daily_rampup: 5warmup_key_id: ""
Notes
- The public warmup API enforces
daily_rampup >= 5. To use lower rampup values you must use the internal bulk endpoint (which thebulk-updatecommand uses by default). warmup_key_idcontrols which mailboxes pool together for warmup. Pick keys deliberately — seedocs/learnings/warmup-key-id-format.md.- For a deep dive on why send 15 (not 20) and why weekday-only, see
docs/learnings/mailbox-warmup-best-practices.md.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: MattSezgin
- Source: MattSezgin/unofficial-smartlead-cli
- License: MIT
- Homepage: https://github.com/MattSezgin/unofficial-smartlead-cli
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.