The open-source agentic cold email and warmup platform. Features · How it works · Quick start · Self-hosting · Docs · Community · Support ⭐ Help us reach more senders and grow the Warmbly community. Star this repo! Warmbly Warmbly runs cold email campaigns from the mailboxes you already own and warms them so they keep landing in the inbox. Opens, clicks, and replies land in a shared dashboard the moment they happen, and it's AI-native, so your team and its agents work in it together, live. warmbly-app.mp4 Features Campaigns - multi-step sequences with per-mailbox caps and spacing Unified inbox - every mailbox and reply in one place CRM - contacts, pipelines, deals, tasks, meetings Warmup - a pool of monitored mailboxes, not throwaway accounts Deliverability - bounces, complaints, suppression, inbox placement Automations - visual reply playbooks with AI steps Integrations - HubSpot, Slack, Zapier, REST API, webhooks Realtime - live presence and edits across your team How it works Warmbly splits into a control plane (backend API, consumer, Postgres, Redis, and the event bus) that owns all state, and an execution plane of interchangeable Go workers that send and sync mail. Workers never touch Postgres, and outbound mail leaves through each mailbox's own provider, not the worker's IP, so you add throughput by running more workers. flowchart LR MB["Your mailboxes"] --> API subgraph CP["Control plane"] direction TB API["Backend API"] --> DB[("Postgres")] API --> BUS{{"Event bus"}} end BUS --> W1["Worker"] BUS --> W2["Worker"] BUS --> W3["Worker"] W1 --> P["Gmail · Microsoft · SMTP"] W2 --> P W3 --> P P --> R["Recipients"] Loading Secrets use envelope encryption, with a local AES master key by default or AWS KMS if you prefer. Full write-up in the architecture docs. Quick start You need Docker, Go 1.25, and pnpm. git clone https://github.com/warmbly/warmbly && cd warmbly make dev One command brings up the backing services in Docker, applies migrations, seeds demo data, and starts the backend, worker, and dashboard natively. Open http://localhost:5173 and log in with [email protected] / password123. Full setup lives in the local development guide. Self-hosting Warmbly runs with no cloud account of any kind: no AWS, no GCP, no Stripe, no Kafka. One command brings up the whole platform on local, open-source pieces: git clone https://github.com/warmbly/warmbly && cd warmbly make up # or: docker compose up --build Every external dependency is picked by an environment variable, so you swap in a cloud service only if you want one: Concern Self-host default Optional / cloud Database PostgreSQL 16 RDS / Cloud SQL, any Postgres Cache Redis (or Valkey) ElastiCache Event bus NATS JetStream Kafka (-tags kafka) Blob storage Filesystem S3, MinIO, R2, B2 KMS / root key Local AES master key AWS KMS Payments Off (everything unlocked) Stripe Scaling is by mailboxes and workers, not IPs. Reaching it from another machine, connecting Gmail, and day-2 operations are all in the deployment guide. Documentation The full docs live at docs.warmbly.com. Read this To learn Local development Every make target, the native services, and how seeding works Architecture How the control plane and workers split the job, plus the encryption model Deployment guide Taking it to production and scaling the worker fleet API reference Endpoints, auth, permissions, and webhooks Community Have a question, found a bug, or want to shape where Warmbly goes next? Discord - chat with the team and other senders GitHub Issues - report bugs and request features X / @WarmblyHQ - follow along for updates and releases Email - reach us at [email protected] Support and enterprise NoteNeed a hand? We are happy to help. Ask in Discord, open a GitHub issue, or email [email protected], and someone on the team will get back to you. Running Warmbly at scale, or would you rather we run it for you? We offer enterprise support and managed infrastructure: we can host and operate the whole platform for your organization, help you deploy and scale the worker fleet, tune deliverability, migrate your sending onto Warmbly, and stand behind it with a support agreement built around your team. Tell us what you need at [email protected] or reach out on X. Star the repository ⭐ Contributing Pull requests are welcome. Keep each one to a single logical change, and open an issue first for larger design or product changes. Before you open a PR, run the checks for the tree you touched (make fmt and make lint for Go, pnpm typecheck and pnpm lint for the frontends). See CONTRIBUTING.md. Security Found a vulnerability? Email [email protected] instead of opening a public issue. We prefer responsible disclosure and credit reporters in the release notes.
Get the weekly radar
One short email with the freshest products, every week.