An agent's Saturday looks like this: two showings in the morning, an open house at noon, a buyer texting about a listing they found on Zillow, and a seller asking why there's no offer yet. Somewhere between the lockbox and the car, three of those conversations were supposed to get logged. One did.
The real estate CRM industry has an answer for this, and it runs $30 to $70 a month. What you get for that money is drip-campaign builders, IDX widgets, transaction checklists, and a dashboard designed for a 40-agent brokerage. What most solo agents actually use is the contacts list and a pipeline — the same two things a Google Sheet already does, minus the reminders and minus a version you can work from your phone.
There's also a quieter cost. Agents who let past clients go quiet lose the referral and the relisting. The buyer you closed in 2023 is a seller in 2027, but only if you're the agent who checked in every year. That's not a software problem; it's a follow-up problem. Here's how to fix it on top of the sheet you already have.
One row per client, buyers and sellers in the same tab or separate ones — either works. A typical setup:
| Column | Example |
|---|---|
| Client | Dana Ruiz |
| Type | Buyer |
| Property / criteria | 3BR under $520k, Westside |
| Price range | $450k–$520k |
| Stage | Showing |
| Pre-approval | Approved, First National |
| Next touch | Jul 28 |
| Source | Zillow lead |
Sellers get the listing address in the property column and their stage runs through listing and offers instead of showings. Add a "closed date" column if you don't have one — it's the seed of your referral pipeline.
Head to lovespreadsheets.com and sign up. The free tier covers building and running the CRM. Paid unlocks things like logins for a team and hosting it on your own domain — relevant if you run a small team, ignorable if you fly solo.
Pick the CRM template and write out how your business actually flows:
Three things worth requesting by name:
Upload the sheet and run it. If your description is loose, the AI Optimize button tightens it, and the AI may ask a clarifying question or two. Expect the build to take 15–20 minutes — roughly one open house's worth of dead time.
You get a URL that opens to your board: buyers by stage on one side, listings on the other, each card showing criteria, pre-approval, and the next touch date. Move Dana from Showing to Offer while you're still in the parking lot and the Google Sheet updates instantly. Type a closing date into the sheet from your laptop that night and the app reflects it.
Set it to private so it's yours alone, or share access if you have a transaction coordinator who keeps the paperwork moving.
$0 beats $600 a year for the same two features. Pipeline plus reminders is what most agents use in a paid CRM. Building it on your sheet returns that money to your marketing budget — or your commission.
Past clients never fall off the map. Your closed rows aren't archive data; they're next year's listings. An annual-check-in reminder on every closed client is the cheapest lead gen in real estate.
Nothing to migrate when you switch brokerages. Brokerage-provided CRMs hold your database hostage when you leave. A Google Sheet in your own account moves when you do.
Can I keep buyers and sellers in separate views? Yes. Describe them as two pipelines and you'll get two boards, with search across both when you can't remember which side a name was on.
Does it work from my phone between showings? Yes — ask for a mobile-friendly layout in your description and the app is built for a thumb, not a mouse.
Where do open house sign-ins go? Add rows to the sheet (or straight into the app) with the source set to the open house address. They enter the pipeline as New leads with a next-touch date already assigned.
Open the sheet where your buyers and sellers live, go to lovespreadsheets.com, and describe your pipeline from first Zillow inquiry to closing gift. Twenty minutes from now, the follow-ups start following themselves up.
The team turning other people's spreadsheets into software they actually trust — one sheet at a time.