For agencies
The outbound tool for lead generation agencies
Multi-client cold outreach on one deployment. Each client gets an organization of their own, with their own leads, inboxes, connected accounts and sending rules, and you switch between them from the sidebar.
Calder Freight
5,120 people
Only this client’s leads
40 emails a day per mailbox
30 LinkedIn invites a day
- [email protected]
- [email protected]
- [email protected]
- Rob Calder
- +1 202 555 0143
- YouOwner
- Rob (client)Admin
Separate by construction
Clients never share a database row
Every piece of business data in AgentSDR belongs to exactly one organization, and every query is scoped to it. Fetching another organization's record is a 404, not a permission setting you remember to tick.
| Per client organization | What stays inside it |
|---|---|
| Leads, people and companiesOne lead database per client. Imports, custom fields and Do Not Contact stay inside the organization. | One lead database per client. Imports, custom fields and Do Not Contact stay inside the organization. |
| Mailboxes, LinkedIn and WhatsApp accountsGoogle Workspace, Unipile and R2 are connected per organization, from each channel's Connection page. | Google Workspace, Unipile and R2 are connected per organization, from each channel's Connection page. |
| Campaigns, CRM and conversationsEach client has its own pipeline, Action required queue, sequences and knowledge base. | Each client has its own pipeline, Action required queue, sequences and knowledge base. |
| Sending rulesEmails a day, gaps, sending hours, LinkedIn and WhatsApp limits, set per client. | Emails a day, gaps, sending hours, LinkedIn and WhatsApp limits, set per client. |
| AI providerOpenRouter keys, allowed providers and models are chosen per organization. | OpenRouter keys, allowed providers and models are chosen per organization. |
| People and rolesOwners, admins and members belong to one organization and are invited to it. | Owners, admins and members belong to one organization and are invited to it. |
What you share is the server and the PostgreSQL database. Provider identities, such as a Unipile account or a Gmail mailbox, are unique across the deployment because inbound webhooks find their organization through them, so one account belongs to one client.
Working with clients
Invite client teammates, with the right role
Teams group people but do not split data, so the organization is the boundary. Invite a client into theirs and they see their work and nothing of your other clients.
Invitations
They join one workspace, not your agency
- Invitation emailed, valid for 7 days, or copy the link
- Admins can invite members and admins; only owners add owners
- The last owner cannot be demoted or removed
Pending invitations
The invitation is emailed and expires after 7 days. Copy the link and send it yourself if the instance has no email service. An illustration with sample data.
| Ability | Owner | Admin | Member |
|---|---|---|---|
| Use leads, campaigns, the CRM and Analytics | Yes | Yes | Yes |
| Connect integrations and change AI settings | Yes | Yes | No |
| Change sending rules | Yes | Yes | No |
| Invite people, change roles, manage teams | Yes | Yes | No |
| Promote or remove an owner | Yes | No | No |
Per-client pacing
Each client’s accounts, paced on their own
A busy client cannot burn another client’s mailboxes, because nothing is shared: not the limits, not the accounts, not the queue.
Sending rules
Set the limits per client
- 30 emails a day per mailbox by default, adjustable per client
- Hard limits and a warning past the safe edge
- LinkedIn and WhatsApp: account override, then rule, then default
One queue per client
Replies land in the client’s own Action required
- Classification categories and sequences per organization
- Knowledge base and instructions per client
- Do Not Contact scoped to the client’s organization
- deployment for every client you run
- 1
- roles: owner, admin and member
- 3
- an invitation stays valid
- 7 days
- per seat or per client; the software is free
- $0
Onboarding a client
From new client to first campaign
The same four moves every time, each inside the client's own organization.
- 01
Create the organization
Account menu, Create organization. Give it a name and a URL name; you become its owner. - 02
Connect their accounts
Google Workspace mailboxes, Unipile for LinkedIn and WhatsApp, and an OpenRouter key, from the Settings pages. - 03
Set their rules and invite them
Adjust Sending rules for the client, then invite their team with owner, admin or member roles. - 04
Import leads and launch
Upload a list, write the sequences and start. Replies arrive in the client's own queue.
FAQ
Questions, answered
Can one AgentSDR deployment run outreach for several clients?
Yes. A deployment holds any number of organizations and each one is fully separate: its own leads, campaigns, conversations, connected mailboxes and LinkedIn and WhatsApp accounts, AI settings and sending rules. A second organization sees, changes and counts nothing of the first.
Can my client log in and see only their own workspace?
Yes. Invite them by email to that client's organization with a role. They see the organizations they belong to and nothing else. Everyone in an organization sees the same data, so give each client their own organization rather than a team inside yours.
What do the roles allow?
Owners and admins connect integrations, change AI and sending rules, invite people and manage teams. Members use leads, campaigns, the CRM and Analytics. Only owners can promote someone to owner. Roles change what a person can change, never what they can see.
Who is allowed to create new organizations?
It depends on the AUTH_SIGNUP setting on your deployment. With the default invite-only, only owners and admins of the first organization can create new ones, and new accounts need an invitation. With open, anyone who can reach the instance can sign up and create an organization.
Do clients share sending limits?
No. Sending rules are set per organization, so each client's emails a day, send gaps, sending hours, LinkedIn invitations and WhatsApp new chats are paced on their own. A LinkedIn account or WhatsApp number can also carry its own limit that overrides its organization's rule, and each mailbox has its own sending hours.
Is there a per-client or per-seat fee?
No. AgentSDR is open source under the AGPL-3.0 and you host it yourself, so there are no seats, tiers or per-client fees. You pay for your server, the accounts you connect and the AI usage on each organization's OpenRouter key.
Keep exploring
- Sales teamsShared pipeline, per-rep accounts, one inbox
- Email sequencesCold email from your own Google Workspace mailboxes
- Lead databasePeople and companies shared by every channel
- LinkedIn automationInvites and follow-ups across many accounts, safely paced
- Open source & self-hostedAGPL code on your server, with your own AI key
- Instantly alternativeCold email with an AI CRM behind it
One deployment, every client in their own space
Self-host AgentSDR, create an organization per client and keep their leads, inboxes and limits apart from day one.