Skip to content

CLI command

tinbox create-outreach-campaign

Create a new cold outreach campaign DRAFT. Provide a name and a brief (the ICP / goal prompt that drives sourcing + drafting). Bind the COLD sending domain (`sendingDomainId` + `fromEmail`/`replyTo` on it) — a domain that doesn't exist, or a deployment with no cold BYO-SMTP transport, is REFUSED here with a fix-link (run get_send_readiness('outreach') first to see what's missing). Optionally set `sourcingConfig` to source via a tenant agentic skill (kind:'agentic_skill' + skillId). Starts in draft; nothing sends — source prospects, draft bodies, and review before launch.

Generated from tool: create_outreach_campaign

Usage

sh
tinbox create-outreach-campaign --name <name> --brief <brief> --sendingDomainId <sendingDomainId> --fromName <fromName> --fromEmail <fromEmail> --replyTo <replyTo> --rampProfile <rampProfile> --dailyCap <dailyCap> --sourcingConfig <sourcingConfig>

Flags

NameTypeRequiredDefaultDescription
--namestringyes—Internal campaign name, e.g. 'YC W26 founders'.
--briefstringyes—The ICP / goal prompt that drives sourcing + drafting.
--sendingDomainIdstringyes—The COLD sending domain id (validated: must exist + have a cold transport; an unverified subdomain is allowed but warned).
--fromNamestringyes—Sender name on the cold subdomain.
--fromEmailstringyes—Sender email (must resolve to the cold subdomain).
--replyTostringyes—Reply-to (must be a monitored mailbox so replies thread to the Inbox).
--rampProfilestringyes—The warmup policy (AUG-C3). 'conservative' for a brand-new domain (warm slowly, low cap), 'standard' the balanced default (~2-week ramp), 'assertive' for a warm domain with reputation. Owns the daily-cap + ramp numbers — prefer this over raw dailyCap.
--dailyCapstringyes—Advanced: raw daily send cap (cold-volume guard). Prefer rampProfile; a raw value overrides the profile's cap.
--sourcingConfigstringyes—Stored sourcing strategy; source_prospects later runs it without re-specifying.