Skip to content

Automation Recipe: Catch New Listings and Get a First-Pass Underwriting Screen Before Anyone Else

For Real Estate Investors ·

Tools:Zapier + ChatGPT
Time to build:90-120 minutes
Difficulty:Advanced
Prerequisites:Comfortable checking deal numbers with ChatGPT (Level 1). See the Level 1 guide "Check Your Deal Numbers Before You Make an Offer." Total ongoing cost: $29.99/month for the Professional plan plus $20/month for the Plus plan.
ZapierChatGPT

What This Builds

A new listing that matches your buy box hits the market at 9am on a Tuesday. By the time you open your email at lunch, three other investors have already called the agent. This automation watches your listing alert inbox the moment a new email lands, pulls the numbers out of it, runs a first-pass underwriting screen, and drops a row into a tracking sheet, all before you've finished your coffee.

Prerequisites

  • A Professional account: zapier.com
  • A Plus account connected through Zapier's AI action (no separate API key needed)
  • A listing alert email source already set up (MLS email alerts, Zillow, Redfin, or a wholesaler list) landing in a dedicated inbox or label
  • A Google Sheet with columns for address, asking price, estimated rent, quick cap rate, and a go or no-go flag
  • Your buy-box criteria written down (target cap rate, price range, property type, area)

The Concept

Think of this automation as a junior analyst who never sleeps and never gets distracted. Every time a new listing email hits your inbox, it reads the numbers, does the same quick math you'd do by hand, and writes the result down in a shared tracking sheet. You still make the actual go or no-go call. It just makes sure you're looking at the numbers in minutes instead of hours, before the property is already under contract with someone else.


Build It Step by Step

Part 1: Set Up the Trigger

Log into zapier.com and click Create Zap. For the trigger, search for Gmail and choose the New Email event. Connect your Gmail account and set the Label or mailbox field to the label you use for listing alerts (create one first if you route these emails automatically with a Gmail filter).

Test the trigger. Zapier pulls in a sample email so you can see what fields are available: subject line, sender, and body text.

Part 2: Add the AI Underwriting Step

Click the + button to add a step. Search for ChatGPT (OpenAI) and choose the Analyze Text action (the current recommended action, not the older Conversation action).

In the Text to Be Analyzed field, insert the email body field from your trigger. For Model, pick GPT-5.6 Sol. For Analysis Type, choose the free-text or custom option and paste a prompt close to this:

Copy and paste this
You are screening a new real estate listing email against my buy box.
Buy box: [target cap rate], [price range], [property type], [target area].

Pull the asking price, estimated monthly rent (or estimate one if not stated,
labeled as an estimate), property type, and address from this email.
Calculate a quick gross cap rate using: (estimated annual rent x 0.5) / asking price,
as a rough expense assumption, not a full underwriting model.

Respond in exactly this format:
ADDRESS: [address]
ASKING_PRICE: [price]
EST_MONTHLY_RENT: [rent, and note if estimated]
QUICK_CAP_RATE: [percentage]
FLAG: [GO if quick cap rate meets or beats my target, LOOK CLOSER if within one
point, PASS if well below target]
NOTES: [one sentence on anything unusual, like a description mentioning major
repairs needed]

Email:
[insert email body]

Test the step and check that ChatGPT returns the structured format above, not a paragraph.

Part 3: Write the Result to Your Tracking Sheet

Add another action step. Search for Google Sheets and choose Create Spreadsheet Row. Connect your account. Then select the Drive, Spreadsheet, and Worksheet where you keep your deal tracker.

Map each field from the ChatGPT step (address, asking price, estimated rent, quick cap rate, flag, notes) to the matching column in your sheet.

Part 4: Get Notified Immediately

Add a third action: Gmail → Send Email to yourself, or a Filter step first so you only get texted for listings flagged GO. Include the address, quick cap rate, and flag in the message so you can decide whether to call the agent from your phone.

Turn the Zap on.


Real Example: The Tuesday Duplex

Setup: The Zap has been live for a month, watching a Gmail label fed by MLS alerts for duplexes and triplexes in the target zip codes.

Input: An MLS alert email lands for a duplex listed with an asking price and rent estimate in the listing description.

Output: Within a couple of minutes, ChatGPT pulls the address and numbers, calculates a quick gross cap rate against the buy box, flags it GO, and a new row appears in the tracking sheet. A text notification arrives with the address and the flag.

Time saved: What used to mean noticing the listing hours later in a crowded inbox, or missing it entirely, now surfaces automatically with a first-pass number attached, while the listing is still fresh.


What to Do When It Breaks

  • ChatGPT can't find the numbers in the email → Some alert emails bury the price and rent behind a "View Listing" link instead of including them in the body. Check the raw email in Gmail and adjust your prompt to tell ChatGPT what to do when a field is missing: return "NOT FOUND" rather than guessing.
  • The Zap stops firing and you don't notice → This is the failure you're least likely to catch on your own, since no error email means no reminder that something's wrong. Check your Zap's history page once a week, or add a simple daily digest Zap that emails you a count of rows added to the tracker in the last 24 hours, so a silent zero jumps out.
  • Every listing gets flagged GO → Your prompt's rent estimate is probably too generous when the email doesn't state rent. Tighten the instruction to be conservative on estimated rent, or require ChatGPT to flag anything with an estimated (versus stated) rent as LOOK CLOSER instead of GO.
  • Duplicate rows for the same listing → Some alert services resend the same listing with minor changes. Add a Zapier filter step checking whether the address already exists in your sheet before writing a new row, or accept occasional duplicates and clean the sheet weekly.

Variations

  • Simpler version: Skip the Google Sheet and just have Zapier text you the ChatGPT summary directly. You lose the running log but the alert still arrives fast.
  • Extended version: Add a second AI step that also runs the numbers through a more conservative expense assumption, so your tracker shows both a quick optimistic cap rate and a conservative one side by side. Chain a follow-up step that automatically opens a browser tab or sends you the listing's DealCheck import link if you use a Level 3 dedicated underwriting tool for the properties that pass this first screen.

What to Do Next

  • This week: Build the Zap with just the trigger, the ChatGPT step, and a notification. Skip the tracking sheet until you trust the numbers.
  • This month: Add the Google Sheet logging step and start tracking how many GO flags actually turn into offers.
  • Advanced: Feed a month of tracked listings back into ChatGPT and ask it to spot patterns in which flagged deals you actually pursued, to sharpen your buy-box criteria over time.

Advanced guide for real estate investor professionals. These techniques use more sophisticated AI features that may require paid subscriptions.