Open-source
AI SDR template for B2B export. 10-stage sales pipeline, 10 cron jobs,
4-engine memory, multi-channel (WhatsApp+Telegram+Email). Built on
OpenClaw.
We're live on Product Hunt! → PulseAgent B2B SDR Agent Skill — Open-source AI SDR for WhatsApp, Email & Telegram. An upvote means the world to us 🙏
Turn any B2B export business into an AI-powered sales machine in 5 minutes.
✅ New · 2026-06-07 — Template v3.8.0: GitHub Actions CI for npm test, post-deploy deploy/doctor.sh
health checks, configurable remote OpenClaw paths for non-root
deployments, and expanded validation for skill counts + workspace path
generation. See full changelog →
🚀 New · 2026-06-12 — OpenClaw v2026.6.6:
Security hardening across 10+ vectors (exec approvals fail-closed,
deleted-agent ACP bypasses closed), Telegram account-scoped topic
routing, iMessage always-on inbound restart, WhatsApp
successor-controller fix, Claude Fable 5 adaptive thinking support, and
faster UI startup via cached model metadata. See full changelog →
📦 Add-on · 2026-05-22 — WhatsApp Legacy Account Onboarding Spec v0.5(Path D — Multi-Device fetch): Lowest-friction history acquisition — customer scans one QR, waits for Multi-Device sync, bootstrap.sh
pulls .txt files straight from PulseAgent. No backup, no password, no
USB. Backup-extraction (v0.4) still default for zero-downtime tenants.
Three-layer architecture (MemOS + sales_playbook +
conversation_history), A/B/C/D delivery decision tree, strict
auto-onboard gate. Release notes →
An open-source, production-ready template for building AI Sales Development Representatives (SDRs) that handle the full sales pipeline — from lead capture to deal closing — across WhatsApp, Telegram, and email.
Built on OpenClaw, battle-tested with real B2B export companies.
Each layer is a Markdown file you customize for your
business. The AI reads all layers on every conversation, giving it deep
context about your company, products, and sales strategy.
Browse more skills on ClawHub — the AI agent skill marketplace.
Done. The skill installs the full 7-layer context system, delivery-queue, and sdr-humanizer into your workspace. Then customize:
# Edit the key files for your business
vim ~/.openclaw/workspace/skills/b2b-sdr-agent/references/IDENTITY.md
vim ~/.openclaw/workspace/skills/b2b-sdr-agent/references/USER.md
# Or copy to your main workspace
cp ~/.openclaw/workspace/skills/b2b-sdr-agent/references/*.md ~/.openclaw/workspace/
Replace all {{placeholders}} with your actual company info, and your AI SDR is live.
Same 10-stage SDR pipeline, adapted for Hermes conventions
(native cron, skill config, built-in WhatsApp). Migrating from
OpenClaw? Run hermes claw migrate first, then install the skill.
git clone https://github.com/iPythoning/b2b-sdr-agent-template.git
cd b2b-sdr-agent-template
# Edit the 7 workspace files for your business
vim workspace/IDENTITY.md # Company info, role, pipeline
vim workspace/USER.md # Your products, ICP, competitors
vim workspace/SOUL.md # AI personality and rules
2. Set Up Deployment Config
cd deploy
cp config.sh.example config.sh
vim config.sh # Fill in: server IP, API key, WhatsApp number
3. Validate Locally
cd ..
npm test
This checks the template structure, shell scripts, product
KB JSON, proforma invoice generation, Chroma memory smoke flow, and
generated OpenClaw config before you touch a server.
cp examples/heavy-vehicles/IDENTITY.md workspace/IDENTITY.md
cp examples/heavy-vehicles/USER.md workspace/USER.md
# Then customize for your specific business
Product Knowledge Base
Structure your product catalog so the AI can generate accurate quotes:
product-kb/
├── catalog.json # Product catalog with specs, MOQ, lead times
├── products/
│ └── example-product/info.json # Detailed product info
└── scripts/
└── generate-pi.js # Proforma invoice generator
Control Dashboard
After deployment, your AI SDR comes with a built-in web dashboard:
The token is auto-generated during deployment and printed
in the output. Keep it private — anyone with the URL+token has full
access.
Security note: Set GATEWAY_BIND="loopback" in config.sh to disable remote dashboard access. Default is "lan" (accessible from network).
WhatsApp Configuration
By default, the AI SDR accepts messages from all WhatsApp contacts (dmPolicy: "open"). This is the recommended setting for sales agents — you want every potential customer to be able to reach you.
Setting
Value
Meaning
WHATSAPP_DM_POLICY
"open" (default)
Accept DMs from anyone
"allowlist"
Only accept from ADMIN_PHONES
"pairing"
Require pairing code first
WHATSAPP_GROUP_POLICY
"allowlist" (default)
Only respond in whitelisted groups
To change after deployment, edit ~/.openclaw/openclaw.json on the server:
Then restart: systemctl --user restart openclaw-gateway
Deployment
Prerequisites
A Linux server (Ubuntu 20.04+ recommended)
Node.js 18+
An AI model API key (OpenAI, Anthropic, Google, Kimi, etc.)
WhatsApp Business account (optional but recommended)
Configuration
All configuration lives in deploy/config.sh. Key sections:
# Server
SERVER_HOST="your-server-ip"# AI Model
PRIMARY_API_KEY="sk-..."# Channels
WHATSAPP_ENABLED=true
TELEGRAM_BOT_TOKEN="..."# CRM
SHEETS_SPREADSHEET_ID="your-google-sheets-id"# Admin (who can manage the AI)
ADMIN_PHONES="+1234567890"
For non-root servers or custom OpenClaw locations, set the remote paths instead of editing deploy scripts:
CI runs npm test on every push and pull request to main.
WhatsApp IP Isolation (Multi-Tenant)
When running multiple agents on the same server, each
should have a unique exit IP so WhatsApp sees independent devices. This
prevents cross-account flagging.
# After deploying a client, isolate their WhatsApp IP:
./deploy/ip-isolate.sh acme-corp
# Or with a specific SOCKS5 port:
./deploy/ip-isolate.sh acme-corp 40010