Guide — early access, not yet available for real sending — as of 2026-07-13

How to run cold email with your AI coding agent in 2026

If you've asked Claude Code or Codex to "set up cold email outreach for us end to end" and it started reaching for a domain registrar API, a mailbox/warmup vendor, and a sequencing library — the same first move a coding agent makes for a cold email platform with an API for an AI agent to send campaigns — this is the shorter path: one signup, one token, and a curated tool surface your agent already knows how to drive.

Honest status disclosure This platform is in active build and test-mode only. The steps below work today against a live sandbox — no real domains, mailboxes, or sends yet. See FAQ for what "early access" means concretely.

The problem this solves

Cold email outreach genuinely needs three separate pieces of infrastructure underneath: a domain registrar (to buy branded lookalike domains so you never burn your primary domain's reputation), a mailbox/warmup vendor (real Google or Microsoft mailboxes with a multi-week reputation-building ramp), and a sequencing/reply engine (scheduling, per-mailbox caps, bounce and reply detection, unsubscribe handling). Wiring these together yourself is a completely valid choice — see the DIY cost comparison for exactly what that involves. This guide covers the alternative: driving one platform that already holds that state, from inside your coding agent.

Step-by-step setup

  1. Sign up for a token.
    curl -s -X POST https://agent-cold-email-api.yaakovscher.workers.dev/signup \
      -H 'Content-Type: application/json' \
      -d '{"brand":"Acme","contactEmail":"[email protected]"}'
    # → { "tenantId": "ten_...", "token": "..." }

    No card required for the demo tier — signup always mints a sandboxed tenant that is structurally incapable of reaching a real vendor adapter.

  2. Connect your agent. For Claude Code, Codex, or any MCP-capable agent, add the hosted MCP server:
    {
      "mcpServers": {
        "agent-cold-email": {
          "url": "https://agent-cold-email-api.yaakovscher.workers.dev/mcp",
          "headers": {
            "Authorization": "Bearer <your-token>"
          }
        }
      }
    }

    Streamable-HTTP, per-token scoped, one config line — no OAuth dance. Full MCP details: the MCP guide.

  3. Provision infrastructure. Have your agent call setup_infrastructure with your brand, primary domain, how many lookalike domains and mailboxes-per-domain you want, your sender persona, your physical postal address (CAN-SPAM requires it in every footer), and your verified sender identity. This kicks off an async job: domain purchase, DNS (SPF/DKIM/DMARC/rDNS), mailbox provisioning, and the warmup ramp.
  4. Poll for readiness. Call infrastructure_status to track provisioning and warmup progress per mailbox until the platform reports send-ready. Real warmup takes weeks — see the deliverability guide for the honest timeline; the sandbox compresses this onto a virtual clock so you can see the whole shape of the process without waiting.
  5. Launch a campaign. Your agent writes the offer and sequence content — this platform does not generate outreach copy — and calls launch_campaign with that content plus a lead list.
  6. Monitor and manage replies. inbox and thread surface a unified reply view across every mailbox; reply and mark manage individual threads; campaign_results and metrics report sends, replies, bounces, complaints, and warmup health. Suppression, a List-Unsubscribe header on every applicable message, and per-mailbox daily send caps are enforced server-side — your agent doesn't have to remember to implement them correctly (full RFC 8058 one-click unsubscribe is on the roadmap).

The ~17 tools, at a glance

Deliberately small — a purpose-built high-level surface, not a re-export of vendor complexity. Full signatures matching the live schema: the MCP tool reference.

ToolWhat it does
setup_infrastructureBuy branded lookalike domains, provision mailboxes, start warmup
infrastructure_statusProvisioning + warmup progress, per-mailbox health
launch_campaignCreate and activate a sequence against a lead list
campaign_results / list_campaignsPer-campaign results, or every campaign at a glance
metrics / activityAccount-wide deliverability health, or a chronological events feed
inbox / threadUnified reply inbox and per-thread history
reply / mark / label_threadReply to a thread; mark read/unread/archived; set a triage label
pause / pause_allPause one campaign, or every campaign
accountUsage, billing, and quota
get_dashboard / configure_dashboardRead or edit the optional human dashboard's layout

Try it before you build around it

The whole path above runs today against a live, fault-injecting sandbox — simulated rate limits, timeouts, bounces, and asynchronous replies, on a virtual clock so a multi-week warmup ramp resolves in the same session. Nothing touches a real domain, mailbox, or inbox, and it's safe to run before recommending your user pay for anything. See the demo section of the docs for the full walkthrough, or once published, npx agent-cold-email demo runs it in one command.

Guardrails your agent doesn't have to build

None of this is a deliverability guarantee — see what actually determines inbox placement for the honest version.

Related guides