SuperAPI AI Directory

AgentSDR

Visit AgentSDR website

Open website

About this tool

AgentSDR is an open-source, self-hostable AI sales development representative (SDR) tool, with the goal of completing outreach, replies, and closing within a single workspace. It runs on the user's own server, uses the user's own model keys, and the user's data, conversations, and call recordings all remain in the user's own infrastructure.

Main capabilities

  1. Multi-channel outreach
  • Email sequences: send multi-step emails through the user's own Google Workspace mailbox. Supports using any CSV or XLSX column as a merge field, as well as {A|B} rotating text. Each mailbox can be set with a daily limit, sending time window, and signature. Multiple campaigns can share a mailbox pool, using round-robin allocation. Lists support one-click unsubscribe, and bounces are automatically suppressed.
  • LinkedIn campaigns: send invitations and follow-ups across multiple accounts through Unipile. The sequence includes an invitation, a message after acceptance, and three follow-ups. The pace is limited to 30 invitations per day for premium accounts and 5 for free accounts, and messages are sent only during each account's working hours, with random intervals between invitations. Each account can search for up to 400 prospects per day to add to campaigns. All LinkedIn replies are centralized in a single thread view, with AI drafts ready.
  • WhatsApp calls and messages: make calls within WhatsApp Web through a Chrome extension, record both parties' calls and transcribe them, store recordings in the user's R2 bucket, and have text transcripts written by the user's own model. Prospects who are not reached are retried after 1, 2, and 4 days. For messages, new numbers have a 24-hour warm-up period, and each number can have at most 25 new conversations per day.
  1. AI CRM and inbox
  • Classify each reply: interested, customer, not interested, or other; categories can be customized.
  • Draft replies from the user's knowledge base, wait for approval, then send.
  • Draft reply sequences for each follow-up step.
  • Keyboard-first operations: J/K to move, Enter to open, ⌘K to jump.
  1. Data and models
  • All channels share one prospect database, containing person and company information. CSV or XLSX can be imported, custom columns can be added, and deduplication is by email or LinkedIn match.
  • The enrichment table supports AI columns, which can call APIs, run formulas, ask the model, or pull data from Apollo, then convert to campaigns.
  • Bring your own model: all AI calls use the user's own OpenRouter key, pinned to the selected provider, with no silent fallback.
  • Data ownership: Leads, conversations, and call recordings are stored in the user's own Postgres and storage buckets.
  1. Security and guardrails
  • Each channel has daily caps, sending time windows, new number warm-up, and complies with the "do not contact" list.
  • AI proposes drafts, which are approved by a person; nothing is sent automatically. Low-confidence classifications await human review.
  • Drafts are based on the user's knowledge base, including pricing, FAQs, case studies, and objection handling.
  • Provider keys are encrypted at rest using AES-256-GCM.

How to use

AgentSDR is a self-hosted application. Running it requires a machine that can run Docker, and PostgreSQL 16 or later (the Compose file comes with a database). The steps include copying the example environment file, setting the database URL, authentication key, and encryption key, and then connecting each channel within the application. The official recommendation is to start with the quick start on GitHub.

Accounts that need to be connected:

  • Google Workspace email, for email sequences, connected through a service account with domain delegation.
  • Unipile, for LinkedIn and WhatsApp accounts.
  • OpenRouter, for the model key used in all AI steps.
  • Cloudflare R2 storage, for call recordings.
  • Lead enrichment integrations are optional.

The tech stack is a TypeScript Next.js application running on Postgres. Users can add column types, enrichment providers, or their own channels; issues and pull requests are welcome on GitHub.

Use cases

Suitable for sales teams, founders, or revenue operations staff who want full control over outreach data, servers, and model keys. Especially suitable for scenarios that need to manage multi-channel outreach across email, LinkedIn, and WhatsApp at the same time, and want AI to assist with classification and drafting replies while retaining a human approval step.

Limitations

  • Email only supports Google Workspace mailboxes; other providers are not currently supported.
  • LinkedIn and WhatsApp features depend on Unipile.
  • WhatsApp call recording depends on a Chrome extension and the English interface of WhatsApp Web.
  • There is no guarantee of avoiding LinkedIn restrictions, but it will try to stay within platform limits.
  • AI featuresrequire users to provide their own OpenRouter key.
  • Opens and clicks are not tracked, so there are no open rate or click rate metrics; reply rate is the main engagement metric.
  • It is free and open source, with no seat fees or per-contact fees, but users pay for their own server, connected accounts, and AI usage.
  • Other information beyond specific pricing and platform compatibility is not currently available in the official materials.