The AI SDR team that never sleeps — books qualified meetings while you close deals.
A lightweight AI-native BDR team that runs in containers. Connects to your CRM, email, LinkedIn, Slack, and SMS so you can focus on closing without burning cognitive load.
Built on the Anthropic Agents SDK. Inspired by NanoClaw.
Most sales automation tools are dashboards. You still have to think, decide, and execute. BDRclaw is different — it's an agent team. It prospects, sequences, follows up, enriches, and syncs your CRM automatically, across every channel your buyers live on.
No SDR hire. No burned cognitive load. Just qualified pipeline.
| What BDRclaw does | What you do |
|---|---|
| Prospect on LinkedIn | Run discovery calls |
| Send cold email sequences | Handle objections |
| Follow up via SMS & Slack | Negotiate and close |
| Enrich and update CRM records | Sign contracts |
| Flag hot leads and buying signals | Collect payment |
Channels (Email / LinkedIn / Slack / SMS / WhatsApp)
↓
SQLite queue
↓
Polling loop + router
↓
Container (Claude Agent SDK) ←→ prospects/*/CLAUDE.md
↓
CRM sync + outbound actions
- One Node.js process. No microservices, no orchestration hell.
- Container-isolated agents. Each agent runs in its own Linux container (Docker or Apple Container). Bash access is safe because commands run inside the container, not on your host.
- Prospect memory. Each prospect gets a
prospects/*/CLAUDE.md— last touchpoint, stage, reply history, enrichment data. - Skills over features. Capabilities are added as Claude Code skills (
/add-linkedin,/add-hubspot) — you get clean code that does exactly what you need, not a bloated system.
- Email — Multi-step cold sequences, follow-ups, reply detection
- LinkedIn — Connection requests, DM sequences, profile enrichment
- SMS — Twilio-powered text outreach
- Slack — SDR sequences via Slack Connect
- WhatsApp — Warm outreach for international prospects
- HubSpot / Attio / Salesforce — Auto-create contacts, log touches, update stages
- Apollo / Hunter / Clay — Email finding and contact enrichment
- LinkedIn Sales Navigator — Signal-based prospecting
- Daily BDR brain: reviews pipeline, queues follow-ups, flags hot leads
- Buying signal detection (job changes, funding rounds, website visits)
- Reply classification (interested / not interested / referral / unsubscribe)
- Meeting booked → CRM stage auto-update → notify closer
git clone https://github.com/Josefusan/BDRclaw.git
cd BDRclaw
npm installcp .env.example .envOpen .env and fill in:
ANTHROPIC_API_KEY=sk-ant-...
GMAIL_CLIENT_ID= # from Google Cloud Console
GMAIL_CLIENT_SECRET= # from Google Cloud Console
GMAIL_ACCOUNT_1=you@gmail.com
GMAIL_SENDER_NAME=Your Name
CALENDLY_URL=https://calendly.com/yourname/30min # optionalCreate OAuth credentials in Google Cloud Console:
- Create a project → Enable the Gmail API
- APIs & Services → Credentials → + Create → OAuth Client ID → Desktop app
- Copy the Client ID and Secret into
.env
Then authorize:
npm run gmail-authFollow the prompts — it'll open a browser URL, you paste the auth code back. Tokens are saved to store/gmail-tokens/.
Edit the templates in groups/main/sequences/:
groups/main/sequences/
01-initial-outreach.md ← first cold email
02-follow-up.md ← 3 days later
03-breakup.md ← final email
Templates support {{firstName}}, {{company}}, {{title}}, {{senderName}} variables.
# Coming soon: npm run import-csv prospects.csv
# For now: insert directly via the web UI or SQLiteOr via the web dashboard (see step 5).
npm run devOpens the dashboard at http://127.0.0.1:3000 (blue/black UI showing pipeline, hot leads, account status).
npm run brainThe brain reviews all active prospects, sends first-touch emails, and schedules follow-ups. After this, it runs automatically every day at 6am (configurable via BDR_BRAIN_HOUR in .env).
If you're using Claude Code:
claude→/add-gmailwalks through this entire flow interactively.
BDRclaw is extended via skills — Claude Code commands that modify your fork cleanly.
| Skill | Description |
|---|---|
/add-gmail |
Cold email sequences + reply detection |
/add-linkedin |
LinkedIn prospecting + DM sequences |
/add-hubspot |
CRM sync, stage updates, contact creation |
/add-attio |
Attio CRM integration |
/add-apollo |
Contact enrichment + email finding |
/add-twilio |
SMS outreach |
/add-slack-outreach |
Slack Connect SDR sequences |
/add-whatsapp |
WhatsApp outreach channel |
/add-calendly |
Meeting link injection + booking detection |
/add-clay |
Clay enrichment workflows |
The base BDRclaw framework is MIT licensed. Premium skills (advanced sequencing logic, multi-touch attribution, AI reply scoring) are maintained separately.
The base framework is MIT. Premium skills are the moat.
Each prospect gets an isolated context file:
prospects/
john-smith-acme/
CLAUDE.md ← touchpoint history, stage, enrichment, notes
sarah-jones-beta/
CLAUDE.md
The BDR brain reads these files during its daily cycle and decides what action to take next per prospect, per channel.
BDRclaw doesn't use configuration files. To make changes, tell Claude Code what you want:
"Change the follow-up cadence to 3 days between touches"
"Add a P.S. line to all cold emails mentioning their recent funding round"
"Only prospect companies between 50-500 employees in SaaS"
"Flag any reply that mentions a competitor"
Or run /customize for guided changes.
- macOS or Linux
- Node.js 20+
- Claude Code
- Apple Container (macOS) or Docker (macOS/Linux)
- Anthropic API key
src/index.ts — Orchestrator: state, message loop, agent invocation
src/bdr-brain.ts — Daily cycle: evaluate prospects, queue actions, detect hot leads
src/bdr-db.ts — SQLite ops for prospects, accounts, touches, brain runs
src/bdr-types.ts — All BDR TypeScript types (stages, actions, touches, accounts)
src/gmail-auth.ts — OAuth2 token management for Gmail accounts
src/gmail-sequences.ts — Email sequence template engine
src/gmail-bdr-actions.ts — BDR brain handlers: send_email, classify_reply, send_meeting_link
src/channels/gmail.ts — Gmail channel (MIME builder, reply polling, self-registration)
src/web-ui.ts — HTTP dashboard on :3000 with REST API
setup/gmail-auth.ts — Interactive OAuth CLI (npm run gmail-auth)
groups/main/sequences/*.md — Email sequence templates
prospects/*/CLAUDE.md — Per-prospect memory (stage, touch history, notes)
docs/SPEC.md — Full architecture and data model spec
| Command | What it does |
|---|---|
npm run dev |
Start daemon (web UI + BDR brain + Gmail channel) |
npm run brain |
Trigger a BDR brain cycle immediately |
npm run gmail-auth |
Authorize a Gmail account via OAuth |
npm run web |
Start web dashboard only |
npm run wizard |
First-time interactive setup |
Small enough to understand. One process, a few source files. Ask Claude Code to walk you through the entire codebase.
Secure by isolation. Agents run in Linux containers, not behind application-level permission checks. They can only see explicitly mounted directories.
Built for individual sellers and small teams. Not a monolithic CRM replacement. BDRclaw fits around your existing stack and does the work you don't want to do.
AI-native.
- No setup wizard — Claude Code guides setup
- No monitoring dashboard — ask Claude what's happening
- No debugging tools — describe the problem and Claude fixes it
Skills over features. Don't add Salesforce to the core codebase. Add a /add-salesforce skill. You end up with clean code that does exactly what you need.
Don't add features. Add skills.
If you want to add Salesforce support, don't open a PR that adds Salesforce to the core codebase. Fork BDRclaw, make the changes on a branch, and open a PR. We'll create a skill/salesforce branch others can merge into their fork.
Only security fixes, bug fixes, and clear improvements will be accepted to base. Everything else lives as a skill.
See CONTRIBUTING.md.
Skills we'd like to see:
/add-salesforce— Salesforce CRM sync/add-outreach— Outreach.io sequence integration/add-apollo-sequences— Apollo sequence automation/add-signal— Signal messaging channel/add-instagram-dm— Instagram DM outreach/add-twitter-dm— Twitter/X DM outreach
Built on concepts from NanoClaw by qwibitai. MIT licensed.
MIT — see LICENSE
The base framework is open. Build on it, fork it, customize it. Premium skills are maintained separately under a commercial license.