# Claude CRM Integration: Connect Claude and Claude Code to LotsCRM

Source: https://lotscrm.com/blog/claude-crm-integration
Published: 2026-10-13T06:34:19.32+00:00

To connect Claude to a CRM, add the CRM's remote MCP server as a connector. For LotsCRM that's one URL, `https://api.lotscrm.com/mcp`: in Claude (web or desktop) add it under **Customize > Connectors > Add custom connector**, and in Claude Code run `claude mcp add --transport http lots-crm https://api.lotscrm.com/mcp`. You sign in once with your Lots account (no API key), and Claude can then add leads, log calls, move deals and line up follow-ups in a CRM you also see in a full dashboard.

That's the whole integration. There's no Zap to build, no CSV round trip and no plugin to install. Below are the exact steps for both apps, what Claude can do once it's connected, a real read-only run from my own workspace, and the prompts I use.

## What you need

- **Claude** on any plan that has custom connectors (Free, Pro, Max, Team and Enterprise; Anthropic limits Free to one custom connector), or **Claude Code**.
- **A LotsCRM account.** Sign in at [lotscrm.com](https://lotscrm.com) and create a workspace. New accounts get 5,000 free credits, valid 90 days, no card.
- **The server URL:** `https://api.lotscrm.com/mcp`. It's the same for every agent, and the [setup page](https://lotscrm.com/mcp) lists it with the steps for each agent.

A workspace is one business or one client's sales book. Contacts, companies, deals, pipelines and teammates inside it are unlimited.

## Connect Claude (claude.ai and Claude Desktop)

Custom connectors live in your Claude account, so you add LotsCRM once and it works on the web and in the desktop app.

1. Open **Customize > Connectors**.
2. Click **+ Add**, then **Add custom connector**.
3. Name it `LotsCRM` and paste `https://api.lotscrm.com/mcp` as the remote MCP server URL. Click **Continue**.
4. Keep the authentication Claude detects. LotsCRM uses OAuth, so you don't paste a key or a header.
5. Click **Add**. If the sign-in doesn't open on its own, click **Connect** next to LotsCRM. Sign in with your Lots account on the LotsCRM page and allow access.
6. In a new chat, open the **+** menu, go to **Connectors** and make sure LotsCRM is switched on for the conversation.

On a **Team or Enterprise** plan, an owner adds the connector once under **Organization settings > Connectors**. After that, each member finds LotsCRM in **Customize > Connectors**, clicks **Connect** and signs in with their own Lots account. Anthropic's [custom connector guide](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp) has the current screens.

## Connect Claude Code

In your terminal:

```bash
claude mcp add --transport http lots-crm https://api.lotscrm.com/mcp
```

That registers LotsCRM as a remote HTTP server for the current project. Nothing to install, no CLI, no key in your environment. If you want it in every project, add `--scope user`:

```bash
claude mcp add --transport http --scope user lots-crm https://api.lotscrm.com/mcp
```

Then sign in:

1. Start Claude Code and run `/mcp`.
2. Select **lots-crm** and choose **Authenticate**.
3. Your browser opens the LotsCRM sign-in. Sign in with your Lots account and allow access. Claude Code receives the sign-in on your own machine, so the return address is `localhost`.
4. Back in the terminal, Claude Code shows the server as connected.

You can also sign in from the shell with `claude mcp login lots-crm`. Anthropic's [Claude Code MCP docs](https://code.claude.com/docs/en/mcp) cover scopes and OAuth in full.

Why would a CRM live in a coding agent? Because a lot of founders who sell are already in Claude Code all day. You finish a demo build, and the same session logs the call, moves the deal and sets the follow-up for Thursday.

## What Claude can do in LotsCRM

The LotsCRM MCP server has 39 CRM tools, the same contract the dashboard uses, plus `get_profile` for your Lots account. Grouped by job:

| Area | What Claude can do | Tools |
|---|---|---|
| Briefings | Read your workspace, role, pipeline and today's priorities before it acts; pull full pre-call context for a deal | `get_crm_briefing`, `get_sales_brief`, `get_deal_brief`, `get_pipeline_summary` |
| Search | Find contacts, companies and deals in one query | `search_crm` |
| Contacts and companies | Create, update, list and archive; import 1 to 100 prospects at a time, deduplicated by email | `create_contact`, `update_contact`, `create_company`, `bulk_upsert_prospects`, `archive_contact` |
| Deals and pipelines | Create deals, move them through stages with history, build custom pipelines | `create_deal`, `update_deal`, `move_deal`, `list_pipelines`, `create_pipeline` |
| Activity | Record calls, meetings, emails, messages and notes after they happen; read a record's timeline | `record_activity`, `get_timeline` |
| Follow-ups | Create, reschedule, complete and list due or overdue tasks | `create_follow_up`, `update_follow_up`, `list_follow_ups` |
| Drafting help | Get grounded context to draft a follow-up, with opted-out and do-not-contact records blocked | `prepare_follow_up` |
| Workspaces and team | Create workspaces, add teammates, change roles | `create_workspace`, `add_member`, `update_member` |
| Billing | See plan, coverage and credits; return a checkout link you open yourself | `get_billing`, `create_checkout` |

The full, live list is on the [setup page](https://lotscrm.com/mcp). If you want Claude to follow the house rules without you spelling them out, point it at the agent skill at [lotscrm.com/skill.md](https://lotscrm.com/skill.md): start with the briefing, use idempotency keys on creates, pass the deal version on updates, archive instead of delete.

## A real run: what Claude reads before it touches anything

I ran this on 13 October 2026 from a Claude Code session connected to the LotsCRM MCP, against my own workspaces. Read-only calls, nothing created or changed. Contact names are redacted.

**1. `list_workspaces`** came back with each workspace I can reach and my role in it (owner on all of mine), plus its currency, timezone and the number of days after which a deal counts as stale (7 by default).

**2. `get_crm_briefing`** on the workspace where I keep LotsSocial agency prospects. This is the call the agent makes before anything else. Trimmed:

```json
{
  "caller": { "role": "owner" },
  "business_context": {
    "status": "missing",
    "connected_to_lotsnotes": false,
    "instruction": "No business facts are stored in LotsCRM. If the owner keeps business context in LotsNotes, read it there ..."
  },
  "sales": {
    "rules": { "stale_after_days": 7, "closing_within_days": 14 },
    "priorities": {
      "overdue_follow_ups": [
        { "subject": "Follow up with [redacted] on lots.social outreach", "due_at": "2026-10-12T04:30:00+00:00" },
        { "subject": "Follow up with [redacted] on lots.social outreach", "due_at": "2026-10-12T04:30:00+00:00" }
      ]
    }
  },
  "operating_rule": "Mechanical CRM work may continue, but do not make business claims or strategic positioning recommendations until the owner supplies or connects business context."
}
```

Three things in there matter more than the data itself:

- **Claude knows its role** before it writes. It acts as me, so it can do what an owner can do and nothing more.
- **It knows what's overdue.** Two follow-ups from the day before came back as priorities, so the first answer to "what should I do today?" is grounded in the record, not a guess.
- **It knows what it doesn't know.** This workspace has no business context connected, so the briefing tells the agent to keep to mechanical CRM work and not make claims about my offer. What you sell and how you sound belong in [LotsNotes](https://lotsnotes.com); LotsCRM keeps the sales record.

**3. `list_pipelines`** returned the default six-stage pipeline every new workspace gets, with win probabilities: New (10%), Qualified (30%), Proposal (60%), Negotiation (80%), Won (100%) and Lost (0%). You can rename them or build your own with `create_pipeline`.

**4. `get_pipeline_summary`** returned, for each stage, the deal count, the raw value and the weighted value, grouped by currency. It never adds dollars to euros, which is the kind of mistake you don't want an agent making in a pipeline report.

## Prompts you can copy

Start of the day:

> Read my LotsCRM briefing for the [workspace] workspace. What's overdue, which deals are stale, and what should I do first today?

After a call:

> Log my call with [name] at [company]: they want a proposal by Friday and the decision maker is [role]. Move their deal to Proposal and create a follow-up for Thursday 10am.

After an event:

> Add these 12 people from today's meetup to LotsCRM, tag them "Oct meetup", and don't create duplicates of anyone already there. Tell me which rows failed.

Before a call:

> Get the deal brief for [company]. Summarize the last three conversations, open follow-ups and anything I promised.

Pipeline review:

> Give me the pipeline summary for the Sales Pipeline. Which deals haven't moved in two weeks?

Drafting, with you in control:

> Prepare a follow-up for the [company] deal and draft a short email. Don't send anything. After I send it from Gmail, log it as an email activity.

In Claude Code, after a build:

> I just shipped the CSV export [prospect] asked for. Log a note on their deal and set a follow-up for tomorrow to show them.

## Safety: what Claude can't do in your CRM

Letting an AI agent write to your sales records is only useful if it can't wreck them. Here's what LotsCRM enforces, whatever the prompt says:

- **Archive, not delete.** There is no hard-delete tool. Contacts, companies and deals are archived, recoverable, and their history stays intact.
- **It never sends outreach.** LotsCRM is the record. `record_activity` logs a call or email after it happens; `create_follow_up` sets a task; `prepare_follow_up` returns context for a draft and blocks opted-out and do-not-contact records. You send with the tools you already use.
- **Permissions by role.** The agent acts as you. Owner: everything. Admin: team, pipelines and settings. Manager: edit and archive any record. Member: create and edit. Viewer: read only. Give a teammate viewer access and their Claude can read the pipeline but not change it.
- **No silent overwrites.** Deal updates carry a version number, so if a teammate moved the deal a minute ago, the agent's update is refused and it has to read again. Custom fields merge instead of being replaced.
- **No duplicates on retry.** Creates and imports use idempotency keys, so a retried import returns the original result instead of a second copy.

And every change shows up in the dashboard: the pipeline board, the Today view and each contact's timeline. Your agent for speed, the dashboard for control.

## What it costs

LotsCRM charges per business, not per seat. Starter is $12 a month ($120 a year) for 3 workspaces, Pro $29 ($290) for 10, and Business $79 ($790) for 30. Without a plan, pay as you go is $5 per workspace a month from credits, charged daily. Extra workspaces on a plan cost your plan's rate. Teammates are free. Your Claude plan is billed by Anthropic separately. Current numbers are on the [pricing page](https://lotscrm.com/pricing).

If you're still choosing a CRM, I compared eight that ship an official MCP server in [The Best CRMs With MCP Support (2026)](https://lotscrm.com/blog/best-crms-with-mcp-support).

## Common questions

### Does Claude have a built-in CRM integration?

Claude connects to CRMs through connectors, which are remote MCP servers. Add the CRM's MCP URL as a custom connector (or with `claude mcp add` in Claude Code) and sign in. For LotsCRM the URL is `https://api.lotscrm.com/mcp`.

### Do I need an API key to connect Claude to LotsCRM?

No. The MCP server uses OAuth: you sign in with your Lots account in the browser. An API key is only for the REST API, for cloud agents or scripts that don't speak MCP. Create one at [lotstech.com/api](https://www.lotstech.com/api) and give the agent [api.lotscrm.com/docs.md](https://api.lotscrm.com/docs.md).

### Can Claude send emails from LotsCRM?

No. LotsCRM doesn't send emails or messages. Claude can draft a follow-up from the CRM history; you send it with your own email or messaging tool, and Claude logs it as an activity.

### Can Claude delete my contacts or deals?

No. There is no delete tool. Claude can archive a contact, company or deal if your role allows it (manager or above), and archived records are recoverable with their history.

### Can my teammates connect their own Claude?

Yes. Add them to the workspace (teammates are free), and each one connects Claude with their own Lots account. Their agent gets exactly their role, so a viewer's Claude can read but not edit.

### Does it work with ChatGPT, Codex or Cursor too?

Yes. The same server URL works in any agent that supports remote MCP. The [setup page](https://lotscrm.com/mcp) has the steps for ChatGPT, Codex, Cursor and Windsurf-style JSON configs.

## Connect it and ask for your briefing

Add the connector, sign in, and ask Claude for your LotsCRM briefing. It shows you exactly what the agent sees before it acts.

```bash
claude mcp add --transport http lots-crm https://api.lotscrm.com/mcp
```

[Start free on LotsCRM](https://lotscrm.com) with 5,000 credits, or follow the [setup page](https://lotscrm.com/mcp) for your agent. Questions or feature requests go to [support.lotscrm.com](https://support.lotscrm.com).
