MCP

sender/post

Tool: create

Create a new sender (email account).

Creates a new sender identity that campaigns can use to send email. Returns the created sender object on 201. See schemas/sender for all response fields.

Creation is accepted without verifying connectivity. SMTP/IMAP credentials are not tested at create time — the 201 carries connection_state: "validating", not disconnected/recent_error_count (validation runs async, not yet run). Re-read via sender/get_by_id after ~15 s: healthy only when disconnected is false AND recent_error_count is 0. A fresh row in sender/errors_by_id is the authoritative bad-credentials signal and can land within seconds (3–8 s observed), but an empty error list read before that wait has elapsed proves nothing — wait and re-check rather than reporting the sender connected. See schemas/sender for connection state semantics.

replyTo caveat: if set, Unibox will not catch replies unless the reply-to address is also connected as a sender.

Body

field type req constraints description
email string ✓ ≤100 chars Sender email address
dailyLimit integer ✓ 1–10000 Max emails per day
customSmtpServer string ✓ ≤128 chars SMTP hostname
customSmtpPort integer ✓ SMTP port
customSmtpPass string ✓ ≤256 chars SMTP password — Google shows app passwords in four space-separated groups; submit it without the spaces
customImapServer string ✓ ≤128 chars IMAP hostname
customImapPort integer ✓ 1–65535 IMAP port (typically 993 for SSL/TLS)
customImapPass string ✓ ≤256 chars IMAP password
folder string – ≤64 chars Organizational folder
fromName string – ≤128 chars Display name in outgoing emails
replyTo string – ≤128 chars Reply-to address
firstName string – ≤128 chars Sender first name (personalization)
lastName string – ≤128 chars Sender last name (personalization)
signature string – HTML email signature
trackingDomain string – ≤256 chars Custom domain for open/click tracking
delayMinMinutes integer – Min gap between consecutive sends from this mailbox — minutes, not seconds; default 10. The campaign-level gap is delayMinSeconds, in seconds
dailyLimitIncrease boolean – Enable progressive daily limit ramp
dailyLimitIncreaseToMax integer – Target max for progressive ramp
dailyLimitIncreasePercent integer – Daily % increase for progressive ramp (1–100)
warmup boolean – default false Enable warmup
warmupDailyLimitIncrease boolean – Progressive limit increase during warmup
warmupDailyLimitIncreaseToMax integer – 0–10000 Target max during warmup ramp
warmupDailyLimitIncreasePercent integer – 0–10000 Daily % increase during warmup
warmupDailyLimit integer – Initial daily limit at warmup start (reads 0 until warmup starts)
warmupReplyPercent integer – % of warmup emails receiving automated replies (1–100)
warmupSkipWeekends boolean – Skip warmup sends on Saturday/Sunday
customWarmupTag string – ≤64 chars Tag applied to warmup emails
customSmtpUsername string – ≤256 chars SMTP username (if different from email)
customImapUsername string – ≤128 chars IMAP username (if different from email)
senderCustom1–10 string – ≤4000 chars each Custom fields 1–10

Response

201 — Created sender object: see schemas/sender. Deltas: none.

Errors: 400, 401, 406, 409, 415, 422, 429, 500 — shared schema: schemas/errors.

Invoke

Call create with name: "sender/post".