openclaw
← All products
Communication & Outreach

coldmail

Cold-email hyper-personalization API. Customer brings their own SMTP

Choose a plan (2)
Starter
$99/mo
Cold-email personalization API — 1,000 emails/mo
subscription monthly · Get plan →
Pro
$499/mo
Cold-email personalization API — 10,000 emails/mo + 24h SLA
subscription monthly · Get plan →
Source on GitHub

API quickstart

After purchase, you'll receive an API key (ock_...) by email. Call the endpoint below with that key as the bearer token.

Request fields
  • recipient_namestring — name of the prospect
  • recipient_companystring — their company
  • contextstring — what you know about them (recent post, role, team size)
  • offerstring — your concrete ask in one line
  • sender_companystring — your company name
curl -X POST -H 'Authorization: Bearer ock_xxx' \
     -H 'Content-Type: application/json' \
     -d '{"recipient_name": "Sarah Chen", "recipient_company": "Acme Robotics", "context": "Saw their Series A announcement; they're scaling QA", "offer": "30-min walkthrough of how we cut their automated-test runtime 4x", "sender_company": "FastTest Co"}' \
     https://openclawapi.vercel.app/v1/coldmail/run
Model: claude-haiku-4-5-20251001. Quota enforced per plan.

Documentation

coldmail

Cold-email hyper-personalization API. Customer brings their own SMTP (Smartlead, Instantly, plain Gmail SMTP); we generate the per-prospect copy.

Why this beats Smartlead's built-in AI

  • Heavier per-prospect research input. Take in LinkedIn About + recent signal + company blurb, not just {first_name}.
  • Forbidden-phrase enforcement. Customer can ban "hope this finds you well" and similar. Our system prompt enforces it.
  • Strict 60-90 word output. Configurable.
  • Margin via prompt caching. The customer's offer block is sent with cache_control: ephemeral. After the first call in a 5-min window, the offer tokens cost ~10%.

Pricing model

  • $99/mo for 1,000 emails (10¢ effective)
  • $0.10/email pay-as-you-go (no commit)
  • $499/mo for 10,000 emails + 24h SLA

API

curl -X POST https://api.coldmail.dev/v1/personalize \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "prospect": {
      "full_name": "Jane Doe",
      "company": "Acme",
      "role": "VP Sales",
      "company_blurb": "B2B SaaS for HR",
      "recent_signal": "raised $20M Series A last week",
      "linkedin_summary": "20-year sales leader, ex-Salesforce..."
    },
    "offer": {
      "sender_name": "Bob Smith",
      "sender_company": "Pipely",
      "one_line_pitch": "We help mid-market sales teams cut ramp time 50%",
      "proof_points": ["Used by 50 Series A SaaS", "30-day onboarding"],
      "cta": "Worth a 15-min chat next week?",
      "do_not_say": ["hope this finds you well", "circle back"]
    }
  }'

Response:

{
  "subject": "congrats on the series a",
  "body": "Hi Jane — saw the $20M close...\n\n...",
  "_usage": {"input_tokens": 312, "output_tokens": 87, "cache_read_input_tokens": 0}
}

Run locally

cd C:\openclaw-products\coldmail
python -m venv .venv
.\.venv\Scripts\activate
pip install -e ".[dev]"
$env:ANTHROPIC_API_KEY="sk-ant-..."
uvicorn src.api:app --reload --port 8090

Test

pytest tests/ -v

Roadmap

  • Async batch endpoint with asyncio.gather
  • Webhook callbacks for batch completion
  • Built-in LinkedIn About scraper (use stealth browser stack from .openclaw/workspace-main/apply/core/browser.py — read-only reference, copy patterns)
  • Zapier / Make.com integration
  • CSV upload via web UI