For developers
npm install zend-sh
Cold email infrastructure as an API. Mailbox rotation, warmup, health monitoring, reply detection — all programmable. Like Resend, but for cold email.
What people build with zend.sh
AI SDR agents
Autonomous agents that find leads, write personalized sequences, launch campaigns, and handle replies — all via the MCP server or API.
GTM platforms
Build outbound email into your go-to-market tool. Campaign management, lead import, analytics — all through the SDK.
Agency dashboards
Custom white-label dashboards for your agency clients. Per-client API keys, isolated data, unified billing.
CRM integrations
Pipe webhook events into HubSpot, Salesforce, or Attio. Trigger campaigns from CRM workflows. Two-way sync via API.
Workflow automations
n8n, Zapier, or custom scripts. Start campaigns when a lead fills a form. Pause when they book a call.
Internal tools
Retool or custom dashboards for your sales team. CLI scripts for ops. Python notebooks for analytics.
Developer experience that doesn't suck
TypeScript SDK
Full type definitions. Namespaced resources. Published to npm. Feels like Stripe's SDK. `const campaign = await zend.campaigns.create({ name: 'Q1' })`
Python SDK
Sync and async clients. Pydantic models. Published to PyPI. Type-safe with mypy. `campaign = zend.campaigns.create(name='Q1')`
CLI
Manage everything from your terminal. JSON output for scripting. Tab completion. `$ zend campaigns start camp-1234`
MCP Server
AI agents manage campaigns conversationally. Works with Claude, GPT, and any MCP-compatible client. `{"tool": "create_campaign", "args": {"name": "Q1"}}`
Webhooks
HMAC-SHA256 signed. Retry with exponential backoff. Filter by event type. Real-time. `{"event": "email.replied", "intent": "interested"}`
Sandbox mode
Test keys (zk_test_*) don't send real emails. Full API surface, zero risk. Perfect for development. `ZEND_API_KEY=zk_test_... # safe to commit`
5 minutes to first send
1. Get an API key
Sign up at zend.sh/dashboard/connect
2. Install the SDK
npm install zend-sh
3. Connect a mailbox
await zend.accounts.create({ email: 'you@company.com', provider: 'google_workspace' })
4. Create a campaign
const camp = await zend.campaigns.create({ name: 'First Campaign' })
5. Add leads and send
await zend.campaigns.leads.add(camp.id, { leads: [{ email: 'prospect@acme.com' }] }) await zend.campaigns.start(camp.id)
Ready to build on infrastructure that scales?
Free warmup, 80+ API endpoints, full SDKs and CLI. Start sending in minutes.