LotsCRM for
your AI agent.
Add leads, log every conversation, move deals through custom pipelines and line up follow-ups from your agent, then review everything in the LotsCRM dashboard. Briefings give the agent the state of the pipeline before it advises or drafts.
https://api.lotscrm.com/mcpAsk your agent, for example.
Once LotsCRM is connected, plain requests like these work.
- “Add these 20 people from today's event and tag them 'Oct meetup'.”
- “Log my call with Priya and move her deal to Proposal.”
- “What follow-ups are due today?”
Connect in two minutes.
Claude
Settings → Connectors → Add custom connector. Paste the URL, connect, and sign in with your Lots account.
ChatGPT
Settings → Apps & Connectors → Advanced → turn on Developer mode, then Create a connector with the URL and sign in.
Claude Code
claude mcp add --transport http lots-crm https://api.lotscrm.com/mcp
Codex
codex mcp add lots-crm --url https://api.lotscrm.com/mcp
Cursor, Windsurf and others
{
"mcpServers": {
"lots-crm": {
"url": "https://api.lotscrm.com/mcp"
}
}
}Cloud agents without MCP
Give the agent https://api.lotscrm.com/docs.md and an API key from lotstech.com/api. It calls the REST API with Authorization: Bearer <key>.
Every server uses OAuth: your agent acts as you, inside your own roles and workspaces. You can disconnect it at any time from the app.
39 tools, also REST endpoints.
Each tool is available over MCP and as a REST endpoint under https://api.lotscrm.com/api/v1/lotscrm.
Add CRM member
POST /workspaces/:workspace_id/members
Add an existing Lots Auth user to a workspace by email. Owner or admin required.
Archive company
DELETE /companies/:company_id
Recoverably archive a company; associated contacts and deals remain intact.
Archive contact
DELETE /contacts/:contact_id
Recoverably archive a contact. Existing deal and activity history remains intact.
Archive deal
DELETE /deals/:deal_id
Recoverably archive a deal using optimistic concurrency.
Bulk upsert prospects
POST /contacts/bulk
Import 1–100 researched or CSV-derived prospects. Email is the workspace deduplication key. Each row retains source and source_url provenance, and can carry tags and a company_name.
Choose a LotsCRM plan or add credits
POST /checkout
Create a checkout link. Pass plan (starter, pro or business) and cycle (monthly or annual) for a plan, or amount_usd (10 to 1000) to add LotsTech Credits. Give the link to the person to pay in their browser; never ask for card details in chat.
Create company
POST /companies
Create a company with provenance and optional custom fields.
Create contact
POST /contacts
Create a contact with consent, provenance, and optional company relationship.
Create CRM workspace
POST /workspaces
Create an isolated CRM workspace. With no organization_id, also creates the owner organization and a default six-stage sales pipeline. Retry with the same idempotency_key.
Create deal
POST /deals
Create a deal in an owned pipeline and stage with optional company and contacts.
Create follow-up
POST /follow-ups
Create a due task linked to a contact, company, or deal. This schedules work; it does not send outreach.
Create sales pipeline
POST /pipelines
Create a custom pipeline with ordered open, won, and lost stages. Owner or admin required.
Get company
GET /companies/:company_id
Get a company with its contacts and active deals.
Get contact
GET /contacts/:contact_id
Get a contact with company relationships, deals, and channels.
Get CRM briefing
GET /crm-briefing
Mandatory first read for CRM agents. Return the selected workspace, caller role, separately labelled public business truth and private guidance, pipeline configuration, and current sales priorities.
Get CRM workspace
GET /workspaces/:workspace_id
Get one accessible CRM workspace and the caller role.
Get daily sales brief
GET /sales-brief
Return deterministic sales priorities together with separately labelled workspace business context projected from LotsNotes.
Get deal
GET /deals/:deal_id
Get a deal with its stage, company, contacts, and stage history.
Get deal briefing
GET /deals/:deal_id/brief
Return complete pre-call context: workspace business context, deal, stage, company, contacts, recent activity, open follow-ups, and contact restrictions.
Get LotsCRM billing
GET /billing
Show how the caller's LotsCRM workspaces are paid for: the plan (if any), whether today is covered or paid from credits, the credit balance, and the plans to choose from. A workspace nobody pays for is read-only, never deleted.
Get pipeline summary
GET /pipeline-summary
Return deal counts, raw value, and weighted value per stage and currency without mixing currencies.
Get relationship timeline
GET /activities
Get recent activities linked to any supplied contact, company, or deal.
List companies
GET /companies
List active companies with search, lifecycle filtering, and pagination.
List contacts
GET /contacts
List active contacts with lead status, owner, search, and pagination filters.
List CRM members
GET /workspaces/:workspace_id/members
List members of an accessible CRM workspace.
List CRM workspaces
GET /workspaces
List active CRM workspaces available to the authenticated user.
List deals
GET /deals
List active deals by pipeline, stage, status, owner, or search text.
List follow-ups
GET /follow-ups
List due, overdue, completed, or owner-assigned follow-ups. Omitted completed returns open work.
List sales pipelines
GET /pipelines
List pipelines and their ordered stages.
Move deal
POST /deals/:deal_id/move
Move a deal to another stage atomically with status and stage history. Lost deals require lost_reason.
Prepare follow-up context
POST /deals/:deal_id/prepare-follow-up
Return grounded CRM and workspace business context plus safety instructions for drafting. It never sends and blocks opted-out or do-not-contact records.
Record sales activity
POST /activities
Record a call, meeting, email, message, note, or other completed interaction. This records history and never sends a message.
Search CRM
GET /search
Search contacts, companies, and deals in one accessible workspace.
Update company
PATCH /companies/:company_id
Update a company in the selected workspace.
Update contact
PATCH /contacts/:contact_id
Update contact qualification, consent, ownership, details, or company relationship.
Update CRM member
PATCH /workspaces/:workspace_id/members/:user_id
Change or suspend a workspace member. The owner cannot be changed through this tool.
Update CRM workspace
PATCH /workspaces/:workspace_id
Update workspace operating settings. Owner or admin required.
Update deal
PATCH /deals/:deal_id
Update deal details using expected_version to prevent an agent overwriting newer work. Use move_deal for stage changes.
Update follow-up
PATCH /follow-ups/:follow_up_id
Reschedule, reassign, edit, complete, or reopen a follow-up.
Questions, answered.
What is the LotsCRM MCP server URL?
https://api.lotscrm.com/mcp. Add it as a remote MCP server (custom connector) in your AI agent and sign in with your Lots account.
Which agents work with LotsCRM?
Claude, ChatGPT (developer mode), Claude Code, Codex, Cursor, Windsurf and any other client that supports remote MCP with OAuth. Agents without MCP use the REST API with an API key.
Where are the LotsCRM API docs?
https://api.lotscrm.com/docs.md: Markdown written so an AI agent can read it. Requests go to https://api.lotscrm.com/api/v1/lotscrm with Authorization: Bearer <your key>.
How do I get a LotsCRM API key?
Use Generate key on this page or at lotstech.com/api. Sign in with your LotsTech account, name the key and copy it once. You can revoke it there at any time.
Does MCP or API access cost extra?
No. It is included with LotsCRM. You pay only for LotsCRM's own plan or usage, and your AI provider bills its own usage.