Stash / Blog · June 2026 · 6 min read

Use Claude as a Mini-CRM: Track Contacts Without Pasting Spreadsheets

Claude is good at relationship management tasks: drafting follow-up emails, summarising who someone is, flagging when you haven't talked to someone in a while. The problem is that it doesn't remember who your contacts are between sessions.

So most people end up doing one of two things:

  1. Pasting a contacts spreadsheet at the top of every relevant conversation (expensive, slow)
  2. Keeping contacts in an actual CRM and not using Claude for this at all

There's a third option: store your contacts in Stash and let Claude search them on demand. You get the flexibility of Claude plus persistent memory, without loading a whole spreadsheet every time you need to look someone up.


How it works

Stash is an MCP record store — a connector you add to Claude once. You store records (key/text pairs) in named collections. Claude can then add, search, update, and retrieve them across sessions.

For a mini-CRM, you'd keep a contacts collection. Each contact is a record with a key (their name or ID) and a text field containing whatever you want Claude to know about them.

The key principle: store the things you'd otherwise paste. Instead of loading 50 contacts to find out if Sarah Chen is a warm lead, Claude calls search(collection="contacts", q="Sarah Chen") and gets one record back.


Setting it up

Step 1: Add Stash to Claude

Sign up at stashlite.com, get your connector URL, add it to Claude's MCP connectors. Takes about 30 seconds.

Step 2: Populate your contacts

Tell Claude to add contacts from wherever they currently live. You can:

You: Here are my active leads. Add each one to my contacts collection.

Name: Sarah Chen, Company: Meridian Labs, Status: warm lead,
Last contact: May 2026, Notes: Interested in Q3 pilot, budget ~£20k

Name: Tom Okafor, Company: BrightBuild, Status: cold,
Last contact: Feb 2026, Notes: Asked for case studies, never followed up

[...etc]

Claude: [calls add() for each contact]
Added 8 contacts to the contacts collection.

Step 3: Use it in your workflow

Now, any conversation where you need contact information, Claude fetches it:

You: Who are my warm leads right now?

Claude: [calls search(collection="contacts", q="warm lead")]
→ Returns 3 records

Your warm leads:
- Sarah Chen (Meridian Labs) — Q3 pilot interest, budget ~£20k, last contact May 2026
- James Oduya (Folioworks) — Demo done, awaiting pricing sign-off
- Priya Singh (Nexus Health) — Intro call positive, needs proposal by end of month
You: I just spoke to Tom Okafor. He's interested now — update him to warm.

Claude: [calls upsert(collection="contacts", key="tom-okafor",
  text="Tom Okafor, BrightBuild. Status: warm. Last contact: June 2026.
  Notes: Re-engaged after case study. Interested in Q4 pilot.")]
Done. Tom Okafor updated to warm.

What a contact record looks like

There's no required schema — records are plain text. But a consistent format helps Claude search and summarise better:

Name: Sarah Chen
Company: Meridian Labs
Role: Head of Operations
Status: warm lead
Last contact: 2026-05-12
Next action: Follow up re: Q3 pilot proposal
Notes: Budget around £20k. Team of 5. Using Notion currently,
 frustrated by row limits. Interested in Stash for their ops database.
Tags: enterprise, operations, notion-user

When you include Tags: in the text, search("notion-user") finds all contacts tagged that way. Same for status, company, or any other field.


Common workflows

Weekly pipeline review

You: Give me a pipeline summary. List all contacts with status warm or proposal-sent,
 ordered by next action date.

Claude: [calls list(collection="contacts", filter="warm OR proposal-sent")]
→ Returns 6 records

Pipeline (6 contacts):
Warm leads (3): Sarah Chen, James Oduya, Priya Singh
Proposal sent (2): Wei Zhao (awaiting sign-off), Anna Kowalski (review Friday)
Stalled (1): Marcus Brown — no response in 3 weeks, suggest follow-up

Prep for a call

You: I have a call with Priya Singh in 20 minutes. What do I know about her?

Claude: [calls search(collection="contacts", q="Priya Singh")]
→ Returns: Priya Singh, Nexus Health, Head of Product. Intro call 2026-05-28
 was positive — she's building a patient intake system, needs lightweight
 structured storage for ~500 patient intake records. Budget not confirmed.
 Wants a proposal by end of June.

One thing to close on: confirm budget range and send the proposal today.

Follow-up prompts

You: Who haven't I spoken to in over 6 weeks?

Claude: [calls search(collection="contacts", q="last contact")]
→ Scans last_contact fields, surfaces stale records

3 contacts haven't been touched in 6+ weeks:
- Tom Okafor (last: Feb 2026) — send the case studies he asked for
- Li Wei (last: April 2026) — was waiting for a product update (it shipped)
- Rachel Nwosu (last: April 2026) — intro was positive, nothing followed

Token cost: pasting vs. fetching

ApproachTokens to look up one contactTokens to load full list (50 contacts)
Paste spreadsheet each time~3,000–8,000~3,000–8,000 (always all of it)
Stash search()~50–150~50–150 (only fetches matches)

The bigger your contact list, the more the difference compounds. A 200-contact list pasted into every relevant conversation is a substantial recurring cost. Stash fetches the 1–3 contacts actually relevant to what you're doing.

How many contacts fit in the free tier? The free tier includes 10,000 records per account. A typical contact record is 200–400 characters. 10,000 records is more contacts than most mini-CRM users will ever need.

What Stash is not

Stash is not Salesforce or HubSpot. It has no pipeline views, no email integration, no automated sequences, no calendar. If you need those things, you need a real CRM.

But if what you need is: Claude knows who your contacts are, can look them up fast, and can update them when things change — that's exactly what this is built for. No monthly CRM fee, no complex setup, no CSV exports. Just Claude and a fast searchable store.


Getting started

The quickest way to start:

  1. Add Stash to Claude (free, 30 seconds, Google login) at stashlite.com
  2. Tell Claude: "Create a contacts collection and add [first 5 contacts] from this list"
  3. Try: "Who should I follow up with this week?"

That's it. The first search that saves you from pasting a spreadsheet is the point where it clicks.

Claude + your contacts. Free to start.

10,000 records free. No card required. Add to Claude in 30 seconds.

Add Stash to Claude →

Further reading