C
conductor
FOR DEVELOPERS + AI AGENTS

Build outbound
into your product.

One API, one MCP server. Deliverability, warm-up and compliance handled, so your agent can run cold outreach without burning a domain. Start on a test key, no card.

The whole machine, over REST or MCP.

Everything the web app does is a call away: 33 MCP tools for agents, the same surface as REST for everyone else. Test keys exercise the full machine against a fake provider, so nothing real gets sent while you build.

01

Connect a mailbox

Sends go through your customer's own Gmail or Microsoft 365 inbox via OAuth. No shared IPs, no borrowed infrastructure.

02

Fix deliverability

Check SPF, DKIM and DMARC, get a remediation plan, apply DNS fixes. Google, Yahoo and Microsoft reject unauthenticated bulk mail, so this runs first.

03

Import and verify contacts

Import rows with a consent gate, verify every address in the background. Invalid contacts are skipped at send time, keeping bounces under the 2-3% line receivers watch.

04

Build sequences, lint the copy

Multi-step sequences with merge fields and stop-on-reply. A free copy lint scores every step before it goes anywhere near a send.

05

Launch with pacing built in

Warm-up ramp, daily caps, send windows and timezone rules apply automatically with conservative defaults. Fresh inboxes start low and ramp over about two weeks.

06

Track and triage replies

Campaign funnel stats, usage meters, and a triaged reply inbox: every reply is classified, bounces and out-of-office are handled automatically, positive replies pause the sequence and get a confirmation draft your agent can send. Webhooks for replies, bounces, unsubscribes and pauses.

SAFE TO RUN UNATTENDED

An agent can't torch
a domain here.

This is the only outbound API that gates every send on live deliverability and runs a copy-quality check before launch. The safety rails are enforced server-side and none of them can be disabled through the API.

The #1 cause of cold email hitting spam is zero sender reputation on a fresh inbox. The gate exists so your users, and your agents, never learn that the hard way.

ENFORCED ON EVERY SEND

  • Deliverability gate

    Every send respects the mailbox warm-up ramp, daily caps, send windows and send days. Checked live, not at launch time. A no_go verdict pauses the campaign; get_deliverability_state shows the same verdict before you send.

  • Circuit breaker

    A bounce spike auto-pauses the campaign. Default: trips at 5% bounces after 20 sends.

  • Suppression enforcement

    Unsubscribes, bounces, complaints and manual suppressions are excluded from every enroll and every send. One-click unsubscribe headers are added automatically.

  • Copy-quality gate

    Launch lints every step. In block mode it refuses steps that score under 60.

  • Consent gate

    Contact import refuses without an explicit consent attestation.

  • Key guardrails

    Hierarchical scopes, per-key daily send caps, optional expiry, instant revoke.

From zero to campaign
in a few calls.

The MCP flow below is the whole thing. Pacing, warm-up ramp, send window, circuit breaker, compliance footer and suppression enforcement all apply automatically. Retries are safe: every logical call carries an idempotency key.

MCP TOOLS · SAME FLOW AVAILABLE OVER REST
connect_mailbox      { "provider": "gmail" }                    # one-time OAuth step
check_deliverability { "domain": "yourco.com" }                  # free, run it often
import_contacts      { "contacts": [{ "email": "jane@acme.com",
                        "first_name": "Jane", "company": "Acme" }],
                       "list_name": "July prospects",
                       "consent_attested": true }
create_sequence      { "name": "SDR intro", "steps": [
                        { "subject": "...", "body": "...", "delay_days": 0 },
                        { "subject": "...", "body": "...", "delay_days": 3 } ] }
launch_campaign      { "mailbox": "you@yourco.com",
                       "contacts": "<LIST_ID>", "sequence": "<SEQ_ID>" }
get_campaign_stats   { "campaign_id": "<CAMPAIGN_ID>" }
triage_replies       {}                                          # positive / negative / question,
                                                                 # bounces + OOO already handled
get_confirmation_draft { "event_id": "<EVENT_ID>" }              # drafted; nothing sent yet
send_confirmation    { "event_id": "<EVENT_ID>" }                # a human or agent decides

The full agent guide, AGENTS.md, ships with the API and covers error contracts, idempotency, webhooks and pricing meters.

Plug it in.

REST

Machine-readable spec at api.conductor.fyi/v1/openapi.json. Stable snake_case error codes, a retryable flag on every error, idempotency keys on the calls that matter.

Auth: Authorization: Bearer ck_test_...

MCP

A 33-tool MCP server for Claude Code, Cursor, or any MCP client. Install it, set CONDUCTOR_API_KEY, and your agent has the whole machine: from connect_mailbox to send_confirmation.

Runs over stdio. The install snippet is in the server's README, one block to paste into your MCP config.

Pricing

Pay as you go on a free base: 1,000 sends and 500 verifications free each month, then $0.002 per send and $0.005 per verification. Deliverability checks, warm-up, copy lint and every safety rail are included, never metered.

Test-key usage is reported separately and never billed.

Start on a test key.

Mint a ck_test_ key, run the full flow against the fake provider, then swap in a live key when it works. No card, no real mail until you say so.

Get a test key →