Work Pricing FAQ Blog Jobs Trending Book the AI Audit

HomeBlogHow to Build a Custom CRM in Google Sheets with Claude Code

How to Build a Custom CRM in Google Sheets with Claude Code

I've built CRMs in Google Sheets with Claude Code for three clients in the past four months. Not prototypes — production systems that teams use every day to track leads, manage deals, and automate follow-ups. The total build time for each was under five hours. The monthly cost is zero.

This isn't a workaround or a hack. For most small businesses, a custom Google Sheets CRM built with Claude Code is better than paying for HubSpot, Salesforce, or Pipedrive. You get exactly the fields you need, the automation you want, and full control over your data. No monthly fees. No feature bloat. No fighting with a UI designed for enterprise teams.

Here's how I do it, step by step.

Why Google Sheets Works as a CRM

The argument against using Google Sheets as a CRM usually goes like this: it's not a "real" system, it won't scale, and you'll outgrow it quickly. That's true if you're managing 10,000 contacts across a sales team of 20. It's not true if you're a consultant, agency, or service business with under 500 active contacts and a team of 2–5 people.

Google Sheets gives you:

  • Unlimited customization — you decide what fields matter, how stages are labeled, and what data gets tracked
  • Native collaboration — your team already knows how to use Sheets, and permissions are built in
  • Automation via Apps Script — you can trigger emails, update deal stages, calculate close probabilities, and sync data to other tools
  • Zero monthly cost — no per-seat fees, no upsells, no surprise billing

The trade-off is that you don't get a polished UI, built-in email sync, or advanced reporting dashboards. But for most businesses, those features aren't worth $50–200 per user per month.

What a Google Sheets CRM Actually Looks Like

Before I show you how to build one with Claude Code, it helps to see what the end result looks like. A typical setup I build has four main tabs:

  • Contacts — name, email, phone, company, tags, source, date added, last contact date
  • Deals — deal name, contact (linked via dropdown), stage, value, close date, probability, notes
  • Activities — date, type (call, email, meeting), contact, deal, outcome, next step
  • Dashboard — a summary view with deal pipeline value by stage, conversion rates, upcoming follow-ups, and revenue forecasts

Each tab is connected. When you log an activity, it auto-updates the "last contact date" on the contact record. When you move a deal to "Closed Won," it triggers a follow-up email and updates the revenue dashboard. All of this runs on Apps Script code that Claude Code writes for you.

Step 1: Define Your CRM Logic Before You Build

The biggest mistake people make when building a custom CRM is jumping straight into the spreadsheet without thinking through the logic. You end up with a data dump that doesn't actually help anyone make decisions.

Before I open Claude Code, I answer these questions:

  1. What are the key stages in our sales process? (e.g., Lead → Qualified → Proposal → Closed Won/Lost)
  2. What information do we need to capture about each contact?
  3. What actions should trigger automation? (e.g., moving a deal to "Proposal" sends a follow-up email in 3 days)
  4. What reports do we need to run weekly? (e.g., pipeline value by stage, win rate by source)

Once I have clear answers, I can give Claude Code a structured prompt that builds the right system the first time.

Step 2: Use Claude Code to Build the Sheet Structure

Here's the prompt I use to kick off a Google Sheets CRM build with Claude Code:

I need a Google Sheets CRM with the following structure:

Contacts tab: Name, Email, Phone, Company, Tags, Source, Date Added, Last Contact Date, Status
Deals tab: Deal Name, Contact (dropdown from Contacts), Stage (dropdown: Lead, Qualified, Proposal, Closed Won, Closed Lost), Value, Close Date, Probability, Notes
Activities tab: Date, Type (dropdown: Call, Email, Meeting), Contact (dropdown), Deal (dropdown), Outcome, Next Step
Dashboard tab: Summary cards for total pipeline value, deals by stage, win rate, upcoming follow-ups

Add data validation for all dropdown fields. Format currency columns. Add conditional formatting to highlight deals with close dates in the past and status still "open."

Generate the full sheet structure with example data.

Claude Code outputs a complete spreadsheet template in under 60 seconds. I copy it into a new Google Sheet, and the structure is done. All dropdowns are functional, all formatting is applied, and there's sample data to show how it works.

Step 3: Add Automation with Apps Script

This is where most people get stuck if they're building manually. Writing Apps Script to handle CRM logic — updating linked records, sending emails, calculating fields — is tedious and error-prone. With Claude Code, you just describe what you want, and it writes the script.

For example, here's how I automate follow-up reminders:

Write an Apps Script function that runs daily and checks the Deals tab for any deal with a close date in the past 7 days and status = "Proposal." For each match, send an email to the contact's email address with the subject "Following up on [Deal Name]" and a body that says "Hi [Contact Name], just checking in on the proposal we sent for [Deal Name]. Let me know if you have any questions."

Log each email sent in the Activities tab with type = "Email" and outcome = "Follow-up sent."

Claude Code generates the full function, including error handling and logging. I paste it into the Apps Script editor (Extensions → Apps Script in Google Sheets), set up a daily trigger, and the automation runs on its own from that point forward.

Step 4: Build the Dashboard with Formulas

The dashboard is what makes a Google Sheets CRM feel like a real system instead of a glorified contact list. I use a combination of SUMIF, COUNTIF, and QUERY formulas to calculate key metrics in real time.

For example, to show total pipeline value by stage:

=QUERY(Deals!A:G, "SELECT C, SUM(E) WHERE D != 'Closed Won' AND D != 'Closed Lost' GROUP BY C LABEL C 'Stage', SUM(E) 'Pipeline Value'")

Claude Code can write all of these formulas if you describe the logic you want. I usually ask it to generate the full dashboard layout with formulas pre-filled, then I adjust styling and positioning manually.

What This System Can and Can't Do

Let me be clear about the limits. A Google Sheets CRM built with Claude Code is not going to replace Salesforce if you have complex multi-touch attribution, a 20-person sales team, or enterprise-level reporting requirements. It's also not going to give you native email sync, phone dialer integration, or AI-powered lead scoring out of the box.

What it can do:

  • Track all your contacts, deals, and activities in one place
  • Automate follow-up reminders and status updates
  • Generate pipeline reports and revenue forecasts
  • Integrate with other tools via Zapier or API calls
  • Scale to a few thousand rows without performance issues

For most service businesses, agencies, and consultancies, that's 80% of what you actually need from a CRM. The other 20% is feature bloat you're paying for but not using.

Real Example: A Vancouver Agency's Custom CRM

One of my clients is a marketing agency in Vancouver with a team of four. They were paying $180/month for HubSpot and using maybe 15% of the features. They needed something simpler: track leads, manage proposals, automate follow-ups, and see pipeline value at a glance.

I built them a custom Google Sheets CRM in one afternoon. The system has been running for six months with zero issues. They've closed $120K in new business through it, and they're saving over $2,000 per year in CRM costs.

The total build time: 4 hours. The ongoing maintenance: about 30 minutes per month to add new features or tweak automation logic.

How to Get Started

If you want to try this for your own business, here's the process I recommend:

  1. Map out your current sales process and identify the key stages
  2. List the fields you actually need to track (don't copy another CRM's field list — most of it is useless)
  3. Use Claude Code to generate the sheet structure and sample data
  4. Add one automation at a time — start with the highest-impact trigger (usually follow-up reminders)
  5. Test it with real data for two weeks before rolling it out to your team

The first build will take you 3–5 hours if you're doing it yourself. If you want me to build it for you, it's part of the standard AI Audit engagement — I'll have a working version up and running in a single session.

For more on how I use Claude Code to automate business workflows, check out my posts on CRM workflow automation, Google Sheets automation, and email automation workflows. And if you have questions about whether this approach makes sense for your business, the FAQ page covers most of the common scenarios.

You don't need a $5,000/year SaaS subscription to run your sales process. You need a system that fits how you actually work. That's what a custom Google Sheets CRM built with Claude Code gives you.

Frequently Asked

FAQ

Can Google Sheets really work as a CRM for a growing business?

Yes, if you're under 5,000 contacts and don't need complex multi-stage pipelines. Google Sheets handles relationship tracking, deal flow, task management, and basic automation without the bloat of enterprise CRM platforms. Once you hit scaling limits or need advanced reporting, you can migrate — but most small businesses never get there.

How long does it take to build a Google Sheets CRM with Claude Code?

A working CRM with contact management, deal tracking, automated follow-ups, and a simple dashboard takes 3–5 hours to build. Claude Code writes the Apps Script logic, sets up the sheet structure, and configures triggers. After the initial build, tweaks and additions usually take 15–30 minutes each.

What are the limits of a Google Sheets CRM compared to Salesforce or HubSpot?

Google Sheets CRMs don't have native email sync, advanced workflow automation, or built-in reporting dashboards. You also hit performance issues above 10,000 rows. But for most service businesses, agencies, and consultancies, those limits don't matter — you get 80% of the functionality at 0% of the cost.

Work with me

Want this kind of result for your business?

Start with the AI Audit — $1,500. One focused engagement. The 3 highest-ROI opportunities in your business, ranked. A working proof-of-concept of the #1. Credited toward your build if we go forward.

Book the AI Audit → Read the FAQ
← All posts Book the AI Audit →