# Prompt pack: Claude and your CRM

From the article "Connect Claude to your CRM: MCP vs API and what breaks" on crmmeister.com, by Ahmed Essam.

Copy a prompt, replace the parts in angle brackets, paste it into Claude. They work with an MCP connector or with an API key in a script. Every prompt assumes the key or connector is already set up, and that the key never appears in the chat.

## 1. Which account am I in?

```
Before we do anything: which CRM account, workspace or organisation is this connection logged into?
Call the "who am I" or account tool and show me the account name, the user and the role.
Then list every tool or endpoint you have that can CREATE, UPDATE or DELETE something.
Do not call any of them.
```

## 2. Look at 3 raw records first

```
Pull 3 raw <leads | contacts | deals | calls> with all fields. Show them exactly as the API returns them, no summary.
Then list the field names, their types and 1 example value each.
Do not filter, count or write anything yet.
```

## 3. Check that a filter really filtered

```
Run this filter: <filter>. Report:
1. how many records came back,
2. how many records exist in total without the filter,
3. whether 3 of the returned records really match the filter (show the field values).
If the filtered count equals the total, or a record does not match, stop and tell me the filter was probably ignored.
```

## 4. Same word, different meaning

```
I want to compare <call duration | win rate | created date> between <system A> and <system B>.
Before you compute anything, show 2 raw records from each system for this field,
including an edge case (an unanswered call, a lost deal, an imported record).
Tell me whether the field means the same thing in both. If not, propose a definition that works in both.
```

## 5. Read-only analysis

```
Use the read-only connection for this whole task. The task is analysis only: <question>.
If you think a write would help, describe it and stop. Do not try it.
Show your numbers with the query you used, so I can rerun it.
```

## 6. Bulk change: dry run first

```
I want to change <field> to <value> on every <object> where <condition>.
Step 1, dry run: list how many records are in scope and show a before/after table for the first 10. Write nothing.
Step 2: save an undo file with the id and the current value of every record in scope.
Step 3: wait for my "go".
Step 4: apply, then read every record back and report: changed, unchanged, errors.
If any record is unchanged after a "success" answer, stop at once and tell me.
```

## 7. Undo

```
Use the undo file <file> to put every record back to its before-value.
Then read each one back and report how many match the undo file.
```

## 8. Keys

```
The API key is in the environment variable <NAME>. Use it only through that name.
Never print it, never write it into a file, a log or a code comment.
If I ever paste a key into this chat, warn me, do not use it, and remind me to rotate it.
```
