# CRM cleanup: prompt pack

Prompts to find and fix messy records: duplicates, missing fields, old contacts and deals that are really dead. Each fix waits for your yes.

Online: https://mcpforgtm.com/toolkit/prompts/crm-cleanup

For: AEs, RevOps, Sales leaders

## How to use a prompt

1. Connect the tools the prompt needs. Each one links to its listing and setup steps.
2. Copy the prompt into Claude, ChatGPT or another assistant, and replace the text in [brackets].
3. Read what comes back. Before you say yes to a change, go through the points under "Before you approve".

## Find duplicate records (Read only)

A list of likely duplicates to merge or clean up by hand.

Tools it needs:

- Your CRM (any one of): HubSpot, uses "CRM search (read only)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "SOQL query (soqlQuery) and SOSL search (find)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "organizations", "persons (contacts)", "deals", "activities" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "records search (read only)" (https://mcpforgtm.com/tools/attio)

```text
Find likely duplicate [companies or contacts] in my CRM. Check for the same website domain, the same email address, or names that differ only in spelling or punctuation (like "Acme Inc" and "Acme, Inc.").

Group the duplicates. For each group, show the record IDs, owners, created dates and how many deals or activities each record has. Suggest which record to keep. Read only: don't change anything in my tools.
```

## Deals missing key fields (Read only)

Open deals with blanks in the fields your team relies on.

Tools it needs:

- Your CRM (any one of): HubSpot, uses "CRM search (read only)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "SOQL query (soqlQuery) and SOSL search (find)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "deals" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "records search (read only)" (https://mcpforgtm.com/tools/attio)

```text
Find open deals in my CRM where any of these fields is empty: [for example: amount, close date, next step, primary contact].

List each deal, its owner and which fields are missing. End with a count of deals for each missing field. Read only: don't change anything in my tools.
```

Full recipe: CRM hygiene sweep: send each rep their own fix-it list in Slack (https://mcpforgtm.com/recipes/crm-hygiene-sweep-slack)

## Open deals with no next step (Read only)

Deals nobody has planned the next move on.

Tools it needs:

- Your CRM (any one of): HubSpot, uses "CRM search (read only)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "SOQL query (soqlQuery) and SOSL search (find)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "deals", "activities" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "records search (read only)" (https://mcpforgtm.com/tools/attio)

```text
Find my open deals with no next step logged and no task due in the next [14] days.

Show each deal with its stage, close date and last activity. Suggest a next step for each one based on its last activity. Read only: don't change anything in my tools.
```

## Check a sample of contacts for decay (Read only, uses credits)

A quick look at how much of your contact data is out of date.

Tools it needs:

- Your CRM (any one of): HubSpot, uses "CRM search (read only)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "SOQL query (soqlQuery) and SOSL search (find)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "persons (contacts)" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "records search (read only)" (https://mcpforgtm.com/tools/attio)
- A prospecting database (any one of): Apollo, uses "enrichment" (https://mcpforgtm.com/tools/apollo); ZoomInfo, uses "company/contact enrichment" (https://mcpforgtm.com/tools/zoominfo)

```text
Take [25] contacts from my CRM at [company list, segment or owner].

Look up each one in my prospecting database and compare their title and company with my CRM. Tell me how many lookups you'll run (each may use credits) and wait for my OK. List the people whose title or company no longer matches, with the new value. Read only: don't change anything in my tools.
```

Full recipe: CRM data decay audit: bounce risk and job changes in a small contact sample (https://mcpforgtm.com/recipes/data-decay-audit)

## Fill in deal fields from a call (Changes data, uses credits)

Use what the buyer said to complete empty fields.

Tools it needs:

- Your call recorder (any one of): Gong, uses "ask_deal (deal Q&A)" (https://mcpforgtm.com/tools/gong); Salesloft, uses "conversations (search, details, recording links)" (https://mcpforgtm.com/tools/salesloft); Granola, uses "meeting transcripts" (https://mcpforgtm.com/tools/granola); Fireflies, uses "transcript search & retrieval" (https://mcpforgtm.com/tools/fireflies)
- Your CRM, to update deals (any one of): HubSpot, uses "creates and edits CRM records (contacts, companies, deals, tickets, etc.)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "creates, updates and deletes Salesforce records (platform/sobject-all server)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "creates and updates deals" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "creates, updates, upserts and merges CRM records" (https://mcpforgtm.com/tools/attio)

```text
For the deal [deal name], check my call recorder for anything that fills these empty CRM fields: [for example: decision date, budget, competitor, next step].

Make a table with the field, the current value, the proposed value and the evidence: a quote, or a summary if that's all the tool gives. Before you use Gong, tell me how many lookups you'll run (each may use credits) and wait for my OK. If an answer comes from Gong, it's a summary, not a quote: label it that way, and say which call it came from if Gong shows it. Don't delete any records. Show me exactly what you'll change first, and wait for my yes before you change anything.
```

Before you approve: You approve twice. First check the number of Gong lookups before you say OK, since they use credits. Then, before you say yes to the changes, check that each value matches what the buyer said and is still true. If the evidence is a Gong summary, open the call in Gong first. Don't replace a value someone typed in on purpose.

## Update contacts who changed jobs (Changes data, uses credits)

Fix titles, and add people who moved as new contacts at their new company.

Tools it needs:

- A prospecting database (any one of): Apollo, uses "enrichment" (https://mcpforgtm.com/tools/apollo); ZoomInfo, uses "company/contact enrichment" (https://mcpforgtm.com/tools/zoominfo)
- Your CRM (any one of): HubSpot, uses "CRM search (read only)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "SOQL query (soqlQuery) and SOSL search (find)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "organizations", "persons (contacts)" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "records search (read only)" (https://mcpforgtm.com/tools/attio)
- Your CRM, to update or add contacts (any one of): HubSpot, uses "creates and edits CRM records (contacts, companies, deals, tickets, etc.)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "creates, updates and deletes Salesforce records (platform/sobject-all server)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "creates and updates contacts (persons) and organizations" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "creates, updates, upserts and merges CRM records" (https://mcpforgtm.com/tools/attio)

```text
For the contacts we just checked whose title or company changed, propose CRM changes. If you need to look anyone up again in my prospecting database, tell me how many lookups you'll run (each may use credits) and wait for my OK.

1. Same company, new title: propose a title update on their contact.
2. New company: don't edit their old contact. Propose a new contact at the new company, and a new company record if it isn't in my CRM yet. Search my CRM by the new company's website domain first, so you don't create a duplicate.

Show a table: contact, change (update or new), field, current value, new value and where the new value came from. Don't merge any records. Don't delete any records. Show me exactly what you'll change first, and wait for my yes before you change anything.
```

Before you approve: Check that each match is the same person (same name and a matching work history), and that a new company isn't already in your CRM under a slightly different name.

Full recipe: Champion job-change follow-up: reach past champions at their new company (https://mcpforgtm.com/recipes/champion-job-change)

## Close out deals that are really dead (Changes data)

Mark lost deals as lost, one by one, with a reason.

Tools it needs:

- Your CRM (any one of): HubSpot, uses "CRM search (read only)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "SOQL query (soqlQuery) and SOSL search (find)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "deals", "activities" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "records search (read only)" (https://mcpforgtm.com/tools/attio)
- Your CRM, to update deals (any one of): HubSpot, uses "creates and edits CRM records (contacts, companies, deals, tickets, etc.)" (https://mcpforgtm.com/tools/hubspot); Salesforce, uses "creates, updates and deletes Salesforce records (platform/sobject-all server)" (https://mcpforgtm.com/tools/salesforce); Pipedrive, uses "creates and updates deals" (https://mcpforgtm.com/tools/pipedrive); Attio, uses "creates, updates, upserts and merges CRM records" (https://mcpforgtm.com/tools/attio)

```text
Find my open deals with no activity in [60] days and a close date more than [30] days in the past.

For each one, show the last activity and its date. Then propose moving it to [closed lost stage name] with the lost reason [reason]. Do it one deal at a time. Don't delete any records. Show me exactly what you'll change first, and wait for my yes before you change anything.
```

Before you approve: Check every deal before it moves. Closing a deal changes the forecast and reports, and some teams only let a manager close deals.

_What each tool can do comes from its StackMCP listing, which links the source for each fact. Vendors change their servers, so if a step doesn't work, check the listing. The prompts are starting points: edit them to fit how your team works._
