AgentSDR

AgentSDR runs email, LinkedIn, and WhatsApp outreach in a self-hosted workspace, then classifies replies and drafts responses for review. Founders, agencies, and sales teams use it to manage multichannel outbound and its resulting conversations.

One of 54 tools in Sales

AgentSDR screenshot

Who it's for

  • Founders running outbound themselves who want email, LinkedIn, and WhatsApp campaigns alongside AI-assisted reply handling.
  • Agencies managing client outreach that need separate organizations for each client in one deployment.
  • Sales teams coordinating channel campaigns, shared pipeline records, and replies in a unified inbox.

Not the right fit if…

  • Teams that need to send email from providers other than Google Workspace: the page says other email providers are not supported yet.
  • Teams that cannot run their own deployment: AgentSDR is presented as self-hosted and requires Docker and PostgreSQL 16 or newer.

How it fits your workflow

Deploy AgentSDR with Docker and Postgres, then connect Google Workspace mailboxes, LinkedIn and WhatsApp accounts through Unipile, and a model provider through the user's OpenRouter key. Import leads from CSV or XLSX and organize them in the shared database and enrichment tables.

Create channel campaigns with account-specific pacing and limits. Replies appear in the unified inbox, where AI classifies them and drafts knowledge-base-grounded responses for a person to review. WhatsApp calls can be recorded through the Chrome extension, with recordings sent to the user's storage bucket for transcription.

Review channel analytics for replies, meetings, and customers. The page says opens and clicks are not tracked.

Pricing

Free: The self-hosted open-source software is free, with no seats or per-contact fees. Hosting, connected accounts, and AI usage may incur costs.

Self-hosted open source

Free; users pay for their server, connected accounts, and AI usage.

  • · MIT-licensed code
  • · No seats or per-contact fees
  • · Run on your own server with your own AI key

Prices checked on Oct 9, 2026 from the vendor's site. They can change; confirm before you buy.

Key features

Email sequences
Create multi-step campaigns using Google Workspace mailboxes, CSV or XLSX fields, and spin text. Mailboxes have their own sending caps, schedules, and signatures; campaigns can share a mailbox pool, and bounces are suppressed.
LinkedIn automation
Run invite and follow-up campaigns across multiple accounts through Unipile. The page specifies paced sending, working-hour restrictions, account-level daily limits, and reply threads in the inbox.
WhatsApp calls and messages
Use a Chrome extension to place calls inside WhatsApp Web, record both sides, and send recordings to the user's storage bucket for transcription by the chosen model. WhatsApp messages also sync to the workspace.
AI CRM and unified inbox
Classify replies as Interested, Customer, Not interested, or Other, and prepare knowledge-base-grounded drafts for review. Email, LinkedIn, and WhatsApp replies appear in a shared inbox.
Lead database and enrichment tables
Share people and company records across channels, import CSV or XLSX files, add custom columns, and use AI, formulas, or API calls in table columns. The page also describes pulling enrichment from Apollo.
Analytics
View replies, meetings, customers, and campaign performance by channel. Opens and clicks are not tracked.

Works with

  • Google Workspace
  • Unipile
  • OpenRouter
  • Cloudflare R2
  • Apollo
  • Enrichment providers

Limitations to know

  • Email sending supports Google Workspace mailboxes; other email providers are not supported yet.
  • WhatsApp call recording relies on WhatsApp Web's English interface.
  • LinkedIn invite limits are 30 per day on premium accounts and 5 per day on free accounts, as stated on the page.
  • The product does not track email opens or clicks.
  • Deployment requires a Docker-capable machine and PostgreSQL 16 or newer.

Getting started

docker compose up -d

A machine that runs Docker and PostgreSQL 16 or newer; the Compose file brings its own Postgres. Configure the database URL, an authentication secret, and an encryption key.

  1. Clone the repository and enter its directory.
  2. Copy the example environment file and configure the required environment values.
  3. Start the Docker Compose stack.
  4. Open the app and connect the channels and accounts you use.

Frequently asked questions

Is AgentSDR free?

The software is open source and self-hosted, with no seats, tiers, or per-contact fees. Users pay for their server, connected accounts such as Google Workspace and Unipile, and their OpenRouter AI usage.

Which email providers can it send from?

Google Workspace mailboxes connected through a service account with domain-wide delegation. The page says other providers are not supported yet.

Does the AI send replies automatically?

No. Drafts wait for a person to send them, either as written or after editing. The AI may move a lead forward when confident; low-confidence decisions, backward moves, and new Customer classifications are held for a person.

How does WhatsApp calling work?

After linking a number through Unipile and installing the AgentSDR Call Recorder Chrome extension, a call initiated from AgentSDR is dialled inside WhatsApp Web and both sides are recorded. The recording is sent to the user's storage bucket, and the chosen model transcribes it. The feature relies on WhatsApp Web's English interface.

Which AI models can be used?

The page says users can use any model available on OpenRouter with their own key. Each call is pinned to the selected provider, with fallbacks turned off.

What is needed to deploy AgentSDR?

A machine that runs Docker and PostgreSQL 16 or newer; the Compose file includes Postgres. The setup also requires configuring the database URL, an authentication secret, and an encryption key.

Where does the data live?

The page says lead and conversation data live in the user's Postgres database, while call recordings go to the user's Cloudflare R2 bucket. It also states provider keys are encrypted at rest with AES-256-GCM.