Do you need a CRM, or is a Google Sheet enough? A decision checklist, what a sheet plus Make gives you, and when to move

Short answer

Under about 100 leads a month, with one or two people and a pipeline of five stages or fewer, a Google Sheet with three Make automations does what a small business needs a CRM for: every lead logged, alerted, deduplicated and chased when it goes quiet. Move to a CRM when several people work the same leads, when you need per-record permissions or a history of every touch, or when the sheet passes a few thousand rows. HubSpot's free tier is the usual first step; its limits are listed below.

A checklist by leads a month, team size and stages; what Google Sheets plus Make already does; HubSpot's free-tier limits; and how to migrate.

Disclosure: links marked "paid link" pay us a commission from the vendor if you sign up. Your price is unchanged, and every file here works without them. How we choose tools →

"Do we need a CRM?" is usually asked by someone who has just lost a lead and is looking for a system to blame. The honest answer for most small businesses is that the missing thing is not a product. It is three habits: write every lead down in one place, tell someone the moment it arrives, and notice when it stops moving. A CRM enforces those habits. So does a sheet with automation around it. The difference is what happens as the team and the volume grow.

This page gives a checklist to decide, shows exactly what a Google Sheet plus Make delivers, lists the limits of the free CRM most small businesses try first, and describes the migration so the decision is not permanent. We run our own leads on a sheet and we are a Make affiliate; the CRM section has no affiliate links.

The checklist

Answer these five questions honestly. The table underneath turns the answers into a recommendation.

  • Leads a month. Count the last three months from whatever you have: inbox, WhatsApp, form tool. Divide by three.
  • People working the leads. Not the head count; the number of people who call, quote and update the status.
  • Pipeline stages. Write them down. If you cannot name them, you have two: "new" and "done", and a sheet is plenty.
  • Contact history. Do you need to see every email and call with a lead in one place, or is "last contacted on" enough?
  • Permissions. Does anyone need to see some records and not others? A sheet is all or nothing per tab.
What the answers point to
SignalSheet + Make is enoughTime for a CRM
Leads a monthUp to ~100Hundreds, and growing
People working leads1–23 or more, especially in different roles
Pipeline stages≤5, one listSeveral pipelines, or stages that differ by product
Contact history"Last update" date and a notes columnEvery email, call and meeting attached to the record
PermissionsEveryone sees everythingSome people must not see some records
ReportingA weekly count by source and stageConversion by stage, by rep, by period, on demand
Rows in the leads tabUp to a few thousandSearches feel slow; several automations write the same rows

If every answer is in the middle column, stop reading the CRM section and set up the three automations below. If two or more are in the right-hand column, the sheet is already costing you time you are not counting, and the section on moving is for you.

What a sheet plus Make actually gives you

A CRM does four things a spreadsheet does not do on its own: capture leads without typing, alert someone, prevent duplicates, and surface the leads nobody has touched. Each is one small Make scenario against the same sheet. Together they are about 800 credits a month at 100 leads, which fits inside Make's Free plan on credits, though the Free plan runs only two active scenarios at once (make.com/pricing, checked 2026-09-29). The credits page explains how those figures are counted.

1. Every lead written down and on a phone in seconds

Lead comes in → logged → alert. No hands.

A form on the client site sends a lead; it is logged and an alert reaches Telegram in seconds. The first automation every consultant sets up.

No Make account yet?The file imports only into Make. Signing up through the link gives you one month of Core free, and us a commission. The file works without the link.
Sign up for Make →paid link · we earn a commissionPaid link. If you sign up through it we earn a commission from Make; your price is the same, and the link gives you one month of Core free.

2. The same person, twice, without two calls

The second most common sheet failure is the lead who fills the form twice and gets called by two people, or the returning client logged as new. The duplicate check searches the sheet by phone number before writing, and labels the second submission as a returning lead with the date of the first.

Returning lead → recognised → "second contact", not "new lead"

A returning lead is greeted as new. Before logging, the phone is checked against the log; if it is there, the alert says "came back", not "new lead".

3. The leads that went quiet

This is the feature people actually buy a CRM for, and it is a daily search: every open lead whose "last update" is older than seven days, in one Telegram message to the salesperson. The lead never sees it. It depends on one habit: the sheet's "last update" column must change when someone acts, either by hand or with an on-edit timestamp.

A lead untouched for 7 days → an alert to the salesperson, not the client

Every morning, each open lead not updated for a week surfaces in one list: name, source, owner, days quiet. The lead gets nothing — the owner does.

The sheet that makes it work

  • One tab for leads. Columns: timestamp, name, phone, email, source, status, owner, last update, notes. Nothing else in that tab.
  • Status as a dropdown (data validation) with your five stages or fewer. Free text here breaks every count.
  • Source as a dropdown too, filled by the form's hidden field, not by a person.
  • Phone column formatted as plain text, so leading zeros survive and the duplicate check matches.
  • A protected header row. Renaming a header silently breaks the mapping in Make.

All three automations run on Make; the free plan is enough to import them and test against your own sheet: Sign up (one month of Core free) → paid link · we earn a commissionPaid link. If you sign up through it we earn a commission from Make; your price is the same, and the link gives you one month of Core free.

Make credits explained: what these three automations cost per monthThe lead alert and the duplicate check are worked out line by line

When to move to a CRM

The sheet stops being enough at a recognisable moment, and it is rarely about volume. It is when two people edit the same row on the same afternoon, or when someone asks "what did we tell this client in March?" and the answer is in four inboxes. The signs, in the order they usually appear:

  • Three or more people work leads and argue about who owns one.
  • You need the email thread with the lead attached to the record, not a note that says "emailed".
  • Some records must be hidden from some people.
  • You want conversion by stage without building it in formulas every month.
  • The leads tab has thousands of rows and the search module is slow; or several scenarios write the same rows and step on each other.
  • You are building the fourth automation to work around a missing CRM feature.

HubSpot's free tier, as a first step

Most small businesses try HubSpot's free tools first, because they are free and because the CRM connects to Make. It is a real CRM with real limits. The figures below are from HubSpot's pricing page and its Product and Services Catalog, read on 29 September 2026; HubSpot has changed the free contact limit before, and older accounts may carry older limits.

HubSpot free tools: the limits that matter for a small team (checked 2026-09-29)
LimitFree toolsNote
UsersUp to 2 free usersPricing page: "Free for up to 2 users"
ContactsUp to 1,000 contactsNewer free accounts; some older accounts kept a higher cap
Deal pipelines1 HubSpot-provided pipeline per object typeOne sales pipeline; several products with different stages need a paid tier
Marketing email2,000 sends a calendar month, with HubSpot brandingEnough for a monthly newsletter to a small list
Custom properties10 in totalYour own fields beyond the standard ones
Meeting scheduling1 personal meetings link, with brandingA booking page, not a team scheduler
Forms, live chat, templatesIncluded, with HubSpot brandingUp to 3 email templates per account
First paid tier (checked 2026-09-29)Starter Customer Platform from $7 per seat/month (list $20), promotionalRemoves branding and raises most limits

Read those limits against your checklist answers. Two users and one pipeline is exactly the point where a sheet was still fine; 1,000 contacts is roughly ten months at 100 leads. The free tier is a good place to learn what a CRM does. It is not, by itself, the reason to leave the sheet. The reasons to leave are in the list above: several people, history, permissions.

The migration, so the decision is reversible

If the sheet was set up as described, moving is an afternoon. The automations survive; only their last module changes.

  1. Clean the sheet first. Fix the status values, normalise phone numbers, delete test rows. Import garbage and you have garbage with a monthly fee.
  2. Map columns to CRM fields: name, phone, email, source, status, owner, notes. Most CRMs import a CSV and let you match columns.
  3. Import once, verify a sample of twenty records by hand, and keep the sheet read-only for a month as the backup.
  4. In the lead alert scenario, replace "Google Sheets — Add a Row" with the CRM's "Create a Contact" module. The webhook, the filter and the Telegram alert stay exactly as they were.
  5. In the duplicate check, replace "Search Rows" with the CRM's search-by-phone module. Same logic, one module swapped.
  6. Retire the stale-lead nudge only when the CRM's own task or sequence feature covers it. Until then, point its search at the CRM instead of the sheet.

What does not work

  • Buying a CRM to fix a habit. If nobody updates the status in the sheet, nobody will update it in the CRM. The stale-lead nudge and the alert are what change behaviour; the container does not.
  • Two sources of truth. The week both the sheet and the CRM are "live" is the week leads vanish. Cut over on a date and make the sheet read-only.
  • Running the sheet automations and the CRM automations at the same time on Make's Free plan. Two active scenarios is the cap (checked 2026-09-29). A cut-over usually needs Core for a month, at $12 (checked 2026-09-29), or a careful order of switching scenarios on and off.
  • Treating a free CRM tier as unlimited. HubSpot's free contact cap of 1,000 for newer accounts (checked 2026-09-29) is under a year of leads for a business at 100 a month. Know the number before you import.
  • Watching the sheet for new rows to feed the CRM. That is a polling trigger, one credit per check, about 2,976 a month at the Free plan's 15-minute floor (checked 2026-09-29). Let the form call Make, and let Make write to both.
Is Google Sheets a good CRM for a small business?

For one or two people and up to about 100 leads a month, yes, if three things are automated: capture with an alert, a duplicate check, and a daily list of leads that went quiet. Without those, it is a list, not a CRM, and it will leak leads the same way an inbox does.

When should a small business switch to a CRM?

When three or more people work the same leads, when you need the full contact history attached to the record, when some records must be hidden from some people, or when the sheet has thousands of rows and several automations write to it. Volume alone is rarely the trigger.

What does HubSpot's free CRM include?

Up to 2 users, up to 1,000 contacts on newer free accounts, one HubSpot-provided pipeline per object type, 2,000 marketing email sends a month with HubSpot branding, 10 custom properties and one personal meetings link (HubSpot pricing page and Product and Services Catalog, checked 2026-09-29).

Will I lose the automations when I move to a CRM?

No. In each Make scenario the trigger and the alert stay the same; only the Google Sheets module is replaced by the CRM's create or search module. The lead alert, duplicate check and stale-lead nudge all survive the move.

How much does the sheet setup cost to run?

At 100 leads a month, the lead alert is about 300 credits, the duplicate check about 400 and the stale-lead nudge about 93, roughly 800 in total, which is inside Make's 1,000-credit Free plan on credits, but three scenarios exceeds its two-active-scenario cap (make.com/pricing, checked 2026-09-29). The credits page shows the arithmetic.

  1. HubSpot — Pricing: Free tools (up to 2 users; 1,000 contacts; 2,000 email sends; 1 meetings link; Starter from $7/seat/month; checked 2026-09-29)
  2. HubSpot — Product and Services Catalog (free edition limits: users, contacts, pipelines, custom properties, templates)
  3. HubSpot Community — "What is the contact creation limit in the free plan?" (limits differ by account creation date)
  4. Make — Pricing (Free: 1,000 credits, 2 active scenarios, 15-minute interval; Core $12/month; checked 2026-09-29)
  5. Make Help Center — Operations (one operation per trigger check)
  6. Make Apps Documentation — Google Sheets modules

What will it cost? Make cost calculator →Build your automation plan →