Documentation
Introduction
OutreachAgent is an API-first email infrastructure platform for teams building AI agents. Bring your own runtime; we handle inboxes, workflows, delivery, and observability.
Product Boundary
Your runtime decides
Use your own agent runtime, app logic, or human operators for prospecting, reasoning, drafting, and next-step decisions.
OutreachAgent orchestrates
OutreachAgent owns inbox provisioning, message delivery state, workflows, scheduling, retries, webhooks, and operator visibility.
Helpers stay optional
Semantic search and structured extraction are optional enrichment features. They do not replace your runtime and are not required for the platform to function.
The Problem
Traditional email services were designed for human users, not programmatic agent workflows. When you try to build runtime-driven email operations with legacy providers, you hit walls:
- No programmatic inbox creation — You can't spin up new sending identities via API. Each inbox requires manual setup.
- Per-inbox pricing — Costs scale linearly with the number of identities, making multi-agent architectures prohibitively expensive.
- No workflow automation — Building drip campaigns, conditional branching, and event-driven sequences requires stitching together multiple tools.
- Poor deliverability tooling — Domain warmup, bounce handling, and reputation monitoring are afterthoughts, not first-class features.
The Solution
OutreachAgent solves these problems with two design principles:
- API-first infrastructure — Every resource (inboxes, domains, contacts, templates, workflows) is fully manageable via REST API and TypeScript SDK. Create hundreds of inboxes programmatically.
- Runtime-compatible automation — Built-in workflow engine powered by Temporal for durable, multi-step email sequences with conditional branching, event triggers, and execution logging.
Architecture
OutreachAgent is composed of four core services:
- Fastify REST API — The primary interface. All SDKs and integrations communicate through this layer. Handles authentication, validation, rate limiting, and request routing.
- Next.js Console — Web dashboard for managing organizations, configuring inboxes, monitoring deliverability, and debugging message flows.
- Temporal Workers — Durable workflow execution for drip campaigns, domain verification, bounce processing, and webhook delivery with automatic retries.
- PostgreSQL + S3 — Persistent storage for all resources. Row-level security isolates tenant data. S3 stores attachments and raw email blobs.
Resource Hierarchy
Organization (tenant boundary, billing)
└── Pod (regional/logical isolation)
└── Inbox (email identity)
└── Thread (conversation)
└── Message (individual email)
└── Attachment (file)Every resource belongs to an organization. Pods let you separate environments (staging vs. production) or comply with data residency requirements. Inboxes are the email identities your runtime or operators send from and receive into.
Agent Integration
OutreachAgent provides multiple integration paths for AI agents:
- REST API + SDKs — TypeScript and Python SDKs wrap the full API surface for programmatic integration.
- MCP Server — The
@outreachagent/mcppackage exposes all 75 API operations as Model Context Protocol tools. Connect agents in Cursor, Claude Desktop, or any MCP-compatible client with a single config. See the MCP Server guide.
Machine-Readable Resources
Building with an AI coding agent or LLM? These resources are optimized for programmatic access:
- MCP Server —
npx @outreachagent/mcp— Plug OutreachAgent into any MCP-compatible AI agent with a single command. See the setup guide. - LLM Context — /llms-full.txt — Complete API reference, data model, SDK methods, and recipes in a single plaintext file optimized for LLM context windows.
- LLM Index — /llms.txt — Short index file per the llmstxt.org spec.
- OpenAPI 3.1 Spec — api.outreachagent.dev/v1/openapi.json — Machine-readable specification for every endpoint, parameter, and response type.