Finds your next customers, researches meeting notes, writes the email, sends it, and handles the reply.
Runs on your laptop, and compatible with DGX spark (see dgx-model-serve) for local inference.
Configure the agent to gain access to:
- Apollo — finds contacts and companies, fills in what's missing
- Tavily — reads up on the account and catches buying signals
- Your local LLM — writes every email (OpenAI-compatible; gpt-oss-120B here)
- Gmail or SendGrid — sends it, then watches for the reply
- HubSpot or a CSV folder — bring a CRM, or don't
All you have to do is bring your API keys, fill in .env, and run it!
The worker keeps its own schedule. You do not start anything by hand.
| Time (UTC) | What happens |
|---|---|
| 06:00 | New contacts in data/ are imported |
| 06:30 / 06:40 | Contacts and companies enriched |
| 06:45 | New contacts discovered at target accounts |
| 07:00 | Companies researched |
| 07:15 | Contacts enrolled in an outreach sequence |
| 08:00 | Buying signals detected |
| hourly | Email sent — only inside your cadence windows |
| hourly | Replies read and classified, follow-up tasks run |
| 16:30 | Daily digest, after the send window closes |
| Mon 09:00 | Weekly report |
Nothing is sent until you say so — DRY_RUN=true is the default. Apollo spend
sits under a daily credit cap you set, with a per-run budget on top of it.
./scripts/setup.sh # deps, services, build, tests
# fill in your API keys in .env
prospecting-agent gmail-auth --daily-limit 25 # authorize a sending account
prospecting-agent health # db, LLM, memory, gmail, capacity
prospecting-agent worker # run itprospecting-agent serve adds a local control API for running a job now,
checking a contact, or posting an inbound reply. See
Operations.
| Integration | Role | Required |
|---|---|---|
| Apollo | Contact and company discovery + enrichment | Yes |
| Tavily | Web research and buying-signal detection | Yes |
| Local LLM (OpenAI-compatible) | All generation and analysis (e.g. gpt-oss-120B) | Yes |
| Mem0 (self-hosted) | Semantic memory over research and interactions | Yes (bundled in compose) |
| Postgres | System of record + job queues | Yes (bundled in compose) |
| Gmail | Email sending + reply monitoring | One email provider |
| SendGrid | Email sending (alternative to Gmail) | One email provider |
| HubSpot | CRM sync + engagement logging | Optional (CSV works without) |
| CSV import | No-CRM contact source | Optional |
| Slack | Rep notifications, digests, error alerts | Planned (M6) |
| HeyReach | LinkedIn outreach | Optional (off by default) |
- Setup — fresh clone to green gates
- Architecture — layers, invariants, queue isolation (diagram)
- Operations — schedules, control API, spend controls, failure playbook
- Contributing
- Wiki — plan of record
MIT: LICENSE.