What is this? A concrete recipe for wiring an AI sales-development-rep (BDR) agent against Salty’s CRM. The agent researches prospects, logs outreach activity, and gets notified when leads change stage — all without humans clicking through dashboards.
The scenario
You’re a solopreneur running outbound. You have an LLM agent (Claude Desktop, Cursor, custom Python) that reads inbound leads from a form, enriches them, sends a personalized first-touch email, and tracks responses. You need a system of record for who you talked to, what about, what stage they’re in, and what to do next. Salty is that system of record. Your agent reads + writes via MCP or REST; signed webhooks notify your inbox or Slack when state changes.What the agent does
Driving it from Claude Desktop (MCP)
Once you’ve configured Claude Desktop with Salty MCP (instructions), you can drive the whole flow conversationally:
“A new lead came in: sarah@acme-corp.com. Search Salty for the company, create her, link them, and create a deal called ‘Acme Q3 expansion’ worth $40,000 in prospecting stage.”
Claude will:
- Call
search_companieswith{filter: {domain: {equals: "acme-corp.com"}}} - If no result, call
create_companywith name=Acme Corp, domain=acme-corp.com - Call
create_personwith email, primary_company_id from step 2 - Call
create_dealwith name,value_cents: "4000000"(string-encoded bigint),stage: "prospecting",primary_company_id,primary_person_id
Driving it from your own backend (REST)
If your agent is a Python/Node service running 24/7:React to deal state changes via webhooks
Register a webhook so your agent gets notified the moment a deal moves stage:whsec_… signing secret shown once — store it; future deliveries arrive with a Salty-Signature: t=<ms>,v1=<hex> header. Verify with HMAC-SHA-256 over <t>.<body>. See Webhooks.
Custom fields specific to your funnel
Extend the schema on the fly — no migrations, no service restarts:custom_attributes: {source: "linkedin"} — and bad values get rejected with a clear 400.
Volume guidance
A typical BDR agent doing 100 outbound + 200 follow-ups per month makes ~1,500 API calls (3-5 calls per touch). That puts you on Solo ($20/mo, 100k calls) — Free (500 calls/mo) is a demo tier and won’t sustain a real BDR workload, plus it blocks the custom attributes and webhooks the pattern above relies on. At 10× scale, Solo’s 100k cap still has plenty of headroom.
Related
- MCP server — connect Claude / Cursor / ChatGPT to Salty
- Webhooks — signed delivery, retry, signing-secret rotation
- Schema engine — what validation does and doesn’t enforce
- Custom Objects — when “deal” isn’t the right shape for your pipeline