Newsletter infrastructure
for humans and machines

Dispatch is a self-hosted newsletter service built in Go. One binary, no dependencies, full API-first design. Operated by people through a web UI — or autonomously by AI agents through REST, CLI, and MCP.

40+
API Endpoints
31
MCP Tools
~25 MB
Single Binary
0
Runtime Dependencies

Everything you need to run a newsletter

From subscriber management to delivery analytics — without vendor lock-in or monthly bills.

HTML Template Newsletters

Write editions with Go template variables for personalization. Templates are validated at creation time — syntax errors and undefined variables are caught before sending.

Scheduled Sends

Set a time and Dispatch fires the send automatically. Recipient lists are rebuilt at dispatch time, so late additions are included. Cancel with a single API call.

Tags & Segmentation

Attach free-form tags to subscribers. Filter sends by tag to reach specific segments without managing separate lists. AND logic keeps targeting precise.

Double Opt-In

Built-in confirmation email flow. Subscribers enter as pending, click to confirm, then become active. Fully automatic, GDPR-friendly by default.

📈

Open Tracking

Embedded tracking pixel with per-recipient open event recording. See who opened each edition with real-time open rates on every send.

📷

Image Hosting

Upload images via API. Dispatch serves them publicly at stable URLs for direct embedding in newsletter HTML. JPEG, PNG, GIF, WebP, and SVG.

🚧

Bounce Detection

Four layers: SMTP 5xx auto-classification, IMAP bounce monitor for RFC 3464 DSN, Amazon SES/SNS webhooks, and a generic webhook endpoint. Bounced addresses are excluded automatically.

📥

CSV Import / Export

Bulk subscriber operations with automatic deduplication on import. Export filtered subscriber lists for backup or migration.

🔐

Rate-Limited Delivery

Configurable worker pool with emails-per-second throttling and burst control. Sends are asynchronous with real-time progress tracking.

Built for agents, not just humans

Three integration paths — use whichever fits your workflow. Every operation available through every interface.

REST API

Full programmatic control

40+ endpoints covering every operation. API key auth, rate limiting, request tracing with X-Request-ID, structured JSON errors, and cursor-based pagination.

MCP Server

Native agent integration

31 tools and 4 resources via the Model Context Protocol. Runs in stdio mode for seamless use with Cursor, Claude, and other MCP-capable environments.

CLI

Script and automate

Cobra-based commands for management, sending, importing, exporting, and statistics. Pipe-friendly output with optional JSON mode.

Give your agent a newsletter

Dispatch ships with a ready-to-use OpenClaw skill. An agent can install, configure, and operate the entire system autonomously.

Self-installing, self-operating

The Dispatch skill handles everything from initial setup to ongoing operations. Your agent detects whether Dispatch is installed, installs it if needed, and then manages the full newsletter lifecycle on its own.

  1. Install & configure — clones, builds, generates API keys, asks for SMTP credentials, starts the service
  2. Manage subscribers — add individually, import from CSV, tag for segmentation, handle opt-in flows
  3. Compose editions — built-in HTML email templates with personalization variables and validation
  4. Send with guardrails — always validates, always sends a test first, always reports delivery results
  5. Monitor & maintain — tracks open rates, handles bounces, exports data on demand
terminal
# Install the skill
$ openclaw skill install ./skills/dispatch-newsletter
 dispatch-newsletter installed

# The agent takes it from here
user: Send a newsletter to our VIP subscribers

agent: Checking Dispatch status...
         Service running at localhost:8025
         List "updates" — 847 active subscribers
         23 subscribers tagged "vip"

        Creating edition from template...
         Edition "march-vip-update" created
         Template validated — no warnings

        Sending test to you@example.com...
         Test email delivered

agent: Test sent. Want me to send to all 23
        VIP subscribers?

user: Yes

agent:  Sent to 23/23 recipients
        Open rate: 74% (after 24h)

Deploy in minutes, run for years

No containers. No orchestration. No managed services. One binary on any Linux server.

Ready to dispatch?

Clone, build, configure, send. Your first newsletter in under five minutes.