Part of the Mesh Pilot open-source 6-agent marketing stack. Autonomous outbound B2B sales operator — discovery → enrichment → LLM drafting → human-in-the-loop approval → send → learn from outcomes.
The agent builds a lead funnel from public sources, drafts personalised opening emails, and queues every draft for approval before anything leaves your inbox. Replies, bounces, and unsubscribes route back to the lead row so the funnel learns who's worth the next touch.
git clone https://gitlab.com/nuraveda-lab/ai-sales-agent.git
# or: git clone https://codeberg.org/Nuraveda_lab/ai-sales-agent.git
cd ai-sales-agent
uv pip install -e . # or: pip install -e .
cp .env.example .env # Google Places + LLM + Resend + Discord keys
alembic upgrade head # apply migrations
python -m sales_agent.server- Discovery — scans a configured region/segment via Google Places to build a lead funnel.
- Enrichment — pulls company + contact data on each lead, scoring fit.
- Drafter — LLM writes a personalised opening cold email per lead, marked
pendingin the database. - HITL — pending drafts surface in a Discord channel for approver thumbs-up. Nothing sends until you click.
- Sender — approved drafts go out through Resend (or any SMTP provider) within a configurable time window.
- Reply tracking — bounces, unsubscribes, and replies route back to the lead row so the funnel learns over time.
Every action that touches money, brand voice, or outbound delivery routes through a human-in-the-loop approval gate. This agent never auto-sends. Drafts land in a queue (Discord by default; the Mesh Pilot cockpit adds a web inbox + Telegram mirrors) and execute only after explicit operator approval. The audit log records who approved what, when, on which channel.
src/sales_agent/
discovery/ # Google Places discovery jobs
enrichment/ # contact + company enrichment
agent/ # LLM draft batch runner
discord/ # HITL bot
mail/ # Resend / SMTP send runner
db/ # async DB models + pool
migrations/ # Alembic migrations
playbooks/ # JSON brief templates per outreach play
| Agent | Domain | Repo |
|---|---|---|
| AI Ads Agent | Meta / Google / TikTok / Amazon Ads | mesh-pilot/ai-ads-agent |
| AI Sales Agent | This repo | — |
| AI Social Agent | Multi-platform posting + ORM | mesh-pilot/ai-social-agent |
| AI UGC Agent | Vertical video ad pipeline | mesh-pilot/ai-ugc-agent |
| AI Voice Agent | LiveKit-based phone agent | mesh-pilot/ai-voice-agent |
| AI SEO Agent | Shopify SEO autopilot | mesh-pilot/ai-seo-agent |
In production they're orchestrated by Mesh Pilot — the closed-source cockpit that runs all six in concert with shared brand context, a single web approval inbox, and cross-agent handoffs.
- GitLab:
mesh-pilot/ai-sales-agent - Codeberg:
Glitch_Exec_Lab/ai-sales-agent
Bug reports + PRs welcome. See CONTRIBUTING.md for the contribution shape (issue-first for non-trivial changes, preserve the HITL gate, conventional commits).
Security reports go to support@meshpilot.app — see SECURITY.md. Please do not open public issues for vulnerabilities.
Be kind, stay on scope — see CODE_OF_CONDUCT.md.
MIT — fork it, ship products with it, no attribution required.
Built by Mesh Pilot.