Case Study

Real Estate Internal Process:
Collecting Showing Feedbacks System

How I built a fully automated showing feedback tracker in 3 days, during spare minutes on the clock, without being asked to do it.

Timeline
3 Days
Type
Internal Process Automation
Industry
Real Estate Operations
Tools
Gmail, Zapier, AI, Google Sheets

Nobody told me it was broken. I just watched it break every day.

When I joined the team, one of my responsibilities was collecting showing feedbacks. On the surface it sounds straightforward: a property gets shown, the showing agent sends feedback, I document it. Clean, simple, done.

Except nothing about it was clean or simple.

This was a high-performing real estate group. Showings didn't trickle in at one or two a day. They came in at ten, fifteen, sometimes twenty in a single shift. Twenty agents to follow up with. Twenty different threads to track. Twenty chances to get something wrong.

"The SOP I inherited had a process for handling showings. It involved keeping notes manually. Sticky-note era stuff. Information scrambled. Follow-up texts went to the wrong agent. Feedback got attributed to the wrong listing. It was embarrassing and it was only going to get worse as the team grew."

The previous assistants before me managed it through sheer memory and manual effort. There was no archive. No way to check who had already responded. No way to pull up feedback from a showing that happened three days ago without digging through a mess of notes. It was a system built on hope, and hope is not a process.

Nobody asked me to fix it. The SOP said to keep doing what the previous person did. But I sat with that process for a few days, felt the weight of it building, and decided I wasn't going to spend the next several months doing it that way.

Three days. A few hours at a time. Nobody knew I was building it.

I didn't ask for permission or pitch it to anyone. I just started building during the quieter moments of my shift, chipping away at it piece by piece over three days. The goal was simple: every showing notification that came in should flow automatically into a tracker, pre-populated with the right agent details, ready for me to follow up without spending a single minute hunting for information.

When it was done, I turned it on and let it run. That was the moment the relief hit. Not when I finished building it. When I watched the first showing come in, parse itself, find the agent's number from the archive, and sit there in the tracker ready to go without me touching a thing.

The stack that made it possible.

Gmail Zapier AI (via Zapier) Google Sheets Google Apps Script Showing Management Platform

The full flow, step by step.

1
Gmail Filter: Showing notifications land in the right place automatically
Showing notifications arrive via email from the showing management platform. A custom Gmail filter intercepts every one of them, archives them out of the main inbox, and applies a dedicated Showings label. No manual sorting. No noise in the main inbox. They go exactly where they need to go the moment they arrive.
2
Zapier Trigger: New labeled email fires the automation
A Zapier zap watches the Showings label. The moment a new email lands there, the zap fires and pulls the full email data with it including the sender details, subject line, and complete body text. Everything needed to understand what the showing is and who it involves is captured at this step.
3
AI Parse: The email body is read and structured
An AI step reads the full email body and extracts the relevant details into a clean structured format. No matter how the email is written, the AI pulls out exactly what's needed and returns it consistently every time.
{
  "showing_status": "new" | "cancelled",
  "agent_name":    "",
  "listing":       "",
  "phone":         "",
  "email":         "",
  "showing_date":  "",
  "showing_time":  "",
  "source_system": ""
}
4
Split Path: New showing or cancellation, handled differently
The automation checks the showing_status field and splits into two paths based on what it finds.
Path A: Cancelled
  • The showing is sent to a holding area table in the tracker sheet.
  • It sits there waiting for a human to review it before anything happens.
  • If the listing has gone pending since the showing was booked, feedback is no longer needed and it gets removed. If it's a legitimate cancellation, it gets cleared out. Nothing moves forward without a human check.
Path B: New Showing
  • The automation first checks the holding area to see if this showing is already logged. If it is, it stops to prevent duplicates.
  • If it's new, the showing details are written into the holding area automatically.
  • Once reviewed and approved by a human, it moves into the main Showings Tracker table.
5
Agent Archive: Contact lookup that eliminates manual searching
One of the most time-consuming parts of the old process was finding agent contact details. Not every agent includes accurate phone numbers in their showing requests for privacy reasons, which meant manually pulling it up from a separate platform every single time. The archive table solved this entirely. Every agent who shows a listing gets saved once. Every time they show again, their verified contact details are pulled automatically from the archive into the tracker. First time is the only time you look them up manually.
6
Tracker and Follow-up: Every showing in one place, follow-up ready to go
The main Showings Tracker table shows every approved showing and its current status: Upcoming, Done, Texted, Emailed, Called. The follow-up text message is pre-built with the agent's name and showing details already filled in. When it's time to follow up, the number is verified, the message is ready, and all that's left is hitting send. No hunting, no copying, no wrong-agent mistakes.

What the data actually looks like.

Before the system existed, collecting showing feedbacks on a high-volume day consumed 2 to 3 hours of a shift. Manually sorting emails, hunting for agent numbers, copying details into notes, texting the wrong people. After the tracker went live, that same process takes 30 minutes or less.

Time Spent on Showing Feedback Collection Per Day
Before
2 to 3 hrs
After
30 min
83% reduction in time spent
83%
Reduction in time spent collecting showing feedbacks daily
20+
Showings handled on peak days without missing a single follow-up
3
Days to build the entire system, during spare minutes on the clock
0
Wrong-agent messages sent after the system went live
Time Reclaimed Per Day
83% time saved
30 min after the system
2 to 3 hrs before the system
On a 20-showing day, that's nearly an entire shift's worth of time given back to work that actually moves the business forward.

What it felt like when it worked.

The first morning after I turned it on, showings started coming in the way they always did. But instead of scrambling through notes, I opened the tracker and everything was already there. Agent names. Listing addresses. Phone numbers pulled from the archive. Follow-up messages pre-written. Status columns clean and ready to mark.

I remember just sitting there for a second looking at it. Three days of quiet work during spare moments on the clock, and the most painful part of my daily routine had become the easiest.

Nobody had asked me to do it. The SOP said to keep using the old way. But I knew the old way wasn't going to hold, and I wasn't willing to be the person who let things fall through the cracks just because that's how it had always been done.

Zero manual sorting
Every showing notification filtered, labeled, and parsed automatically from the moment it arrives in the inbox.
📋
No more duplicate entries
Duplicate check runs on every new showing before it touches the tracker. The same showing can't appear twice.
📞
Agent contacts verified once
The archive table means a showing agent's number is looked up manually exactly one time, then saved permanently for every future showing.
🧠
Human review stays in the loop
Nothing moves from holding to the tracker without a human check. Listings that went pending don't get chased for feedback that nobody needs.