AI-Generated Google Apps Script for Real Estate Agents

Paste your sheet's column headings into an AI, describe the email you want, and install the script in minutes. A step-by-step build for agents running listings in Google Sheets.

If you keep your listings or open-home feedback in Google Sheets, you can get an AI like Claude or Gemini to write a Google Apps Script that emails a weekly vendor report or a thank-you to each open-home attendee — without writing a line of code yourself. You describe the sheet and the outcome in plain English, paste the generated script into the Apps Script editor attached to your sheet, authorise it, and test it on a copy. The whole thing takes an afternoon.

This guide is for Brisbane and wider Australian agents and property managers who are comfortable in Google Sheets but have never touched a script. We will build one real example end to end, show the exact prompts to type, and — the part most tutorials skip — show you how to fix the script when it breaks, because the first version usually does.

What we are building, and why Apps Script

Google Apps Script is free automation that lives inside your Google account. It can read a sheet, loop through the rows, and send email through your own Gmail. That makes it a natural fit when your data already sits in Sheets and you just want something to happen to it on a schedule.

Our worked example: a sheet of current listings with a weekly vendor update, where the script emails each vendor a short summary every Monday morning. The same pattern — read rows, build a message, send — covers open-home thank-yous, price-reduction alerts, or an internal end-of-week report. If you would rather connect apps than write scripts, our rundown of no-code tools for real estate agencies covers Zapier and similar; Apps Script wins when everything already lives in Google.

New to the whole idea of describing software to an AI instead of coding it? Start with our plain-English explainer on what vibe coding is, then come back here for the build.

Before you start: use dummy data, not vendor data

This matters, so it goes first. Do not build or test on a sheet containing real client names, emails or sale prices. Make a copy, replace the contents with made-up data, and get it working there. Vendor names, contact details and property addresses are personal information, and the OAIC's general guidance is clear that you should not feed personal information into publicly available chatbots.

When you prompt the AI, describe your columns in the abstract — "a column of vendor email addresses" — rather than pasting the real list. The AI only needs the shape of your data to write the script. Once the script is finished and running inside your own Google account, it processes your real sheet locally; it never sends that data back to the AI. If you want the full picture on where the line sits, read whether AI is safe for client data under the Privacy Act. This is general guidance, not legal advice.

Set up your dummy sheet

Create a new Google Sheet and add a header row in row 1 with these columns:

  • A: Vendor Name
  • B: Vendor Email
  • C: Property Address
  • D: Enquiries This Week
  • E: Inspections This Week
  • F: Next Open Home

Fill rows 2 to 4 with obviously fake data — "Sam Test", "test1@example.com", "1 Example St", and some numbers. This is what you will test against.

How to get Gemini or Claude to write the Apps Script for you

Open Gemini (free tier at gemini.google.com) or Claude (free tier at claude.ai). Either works well for this. Paste a prompt like the one below — notice it describes the columns and the exact outcome, and tells the AI which tool to write for.

I want a Google Apps Script for a Google Sheet. The sheet has these columns in row 1: Vendor Name, Vendor Email, Property Address, Enquiries This Week, Inspections This Week, Next Open Home. Data starts in row 2. Write a function that loops through each row and sends an email to the Vendor Email address. The subject should be "Weekly update for [Property Address]". The body should greet the vendor by name and summarise the enquiries, inspections and next open home date in a short, friendly message. Use plain GmailApp or MailApp. Add comments so I understand each part.

The AI will return roughly 20–30 lines of script. You do not need to read all of it, but the core line that sends the email will look something like this:

MailApp.sendEmail(email, subject, body);

That one line is the whole point — this is Google Apps Script sending email from a sheet. Everything else just gathers the right values to put into it.

Install and authorise the script

Follow these steps in order:

  1. In your sheet, click Extensions > Apps Script. A new editor tab opens.
  2. Delete any sample code already in the editor.
  3. Paste the script the AI gave you.
  4. Click the Save icon, then give the project a name like "Vendor Report".
  5. Choose your function from the dropdown at the top (it will have the name the AI gave it, e.g. sendVendorReports) and click Run.

The first time you run it, Google stops you with an authorisation screen. This is normal and it is the part that makes people nervous.

The Apps Script authorisation warning — what to do

You will see "Authorization required", then after choosing your Google account a screen headed "Google hasn't verified this app". That warning appears because you are the developer of an unverified project — it is not a sign anything is wrong. To proceed: click Advanced, then Go to [your project name] (unsafe), then Allow. You are granting your own script permission to read your sheet and send email as you.

Only click through this for a script you created yourself or pasted from a source you trust. Never authorise a script someone emailed you without reading what it does.

Test on the copy before it touches a vendor

With dummy data in place, run the function and check the test inbox (use your own address in the Vendor Email column for the test rows). Read the emails as a vendor would. Is the name right? Does it break if a cell is blank? Does the date format read as an Australian date rather than US month-first?

When something is off, you do not fix the code yourself — you tell the AI what happened. That is the real skill here.

How to fix the script when it breaks

The first version almost always needs a tweak. Copy the exact red error message from the Apps Script editor and paste it back to the AI with context:

I ran the script and got this error: [paste the full error]. Here is the script I'm using: [paste the script]. What's wrong and can you give me the corrected version?

Common fixes you will hit:

  • Emails sent to blank rows. Ask: "Skip any row where Vendor Email is empty."
  • Dates showing as 03/11 instead of 11/03. Ask: "Format the Next Open Home date as day/month/year, Australian style."
  • "Exceeded maximum execution time" or quota errors. The free Gmail tier limits how many emails you can send per day. Ask the AI to explain the limit for your account type and, if needed, to batch the sends.
  • The message looks robotic. Paste the body text back and ask for a warmer, more natural tone — you are allowed to iterate on the wording as many times as it takes.

Paste error, get fix, re-run, re-test. Two or three rounds is normal.

Make it run every Monday automatically

In the Apps Script editor, click the clock icon (Triggers) in the left sidebar, then Add Trigger. Choose your function, select Time-driven, Week timer, and set it for Monday morning. Now the vendor report goes out without you opening the sheet. The same trigger approach powers automated open-home follow-up emails, which is the next script worth building once this one works.

Australian spam law: get this right before you automate marketing

A weekly vendor update to your own client about their own listing is a service message, not marketing — that is fine. But the moment a script sends promotional content, the Spam Act applies. As general guidance, marketing email to Australian recipients needs consent, accurate sender details, and a working unsubscribe option in every message. If you adapt this script to email past appraisal contacts or a prospect list, build the consent check and unsubscribe handling in first. For the broader picture on what to automate and where to keep a human in the loop, see our guide to AI email management for real estate agents.

Who owns it, and when to stop and call a developer

The script lives in your Google account, attached to that sheet. If you share the sheet, the script travels with it. The risk is shadow IT: a clever script that only one agent understands, running unseen, until they leave or the sheet gets restructured and the Monday email quietly stops. Keep a copy of the working script and the prompts in a shared folder, note what it does in your firm's AI policy, and have someone test it monthly.

Hand it to a developer once the script touches real client data at scale, integrates with your CRM or trust accounting, handles payments, or has to be right every single time. Vibe-coded scripts are perfect for internal reports and simple reminders; they are not where you put anything a compliance officer would want signed off. The risks of vibe coding in professional services are worth reading before you scale this up. And if you are weighing whether to automate a task at all or just hire for it, our take on what admin work to automate before hiring gives you a decision framework.

Once this first script is running, the pattern repeats across your whole week. Our free guide, 10 AI Workflows to Save 10+ Hours a Week, maps out the next ones worth building — so your Monday report becomes the start of a much shorter admin list.

Common questions

Can Gemini write an Apps Script for me if I don't code?

Yes. Describe your sheet's columns and the outcome you want in plain English, and Gemini or Claude will generate the full script. You paste it into the Apps Script editor, authorise it, and test. You never need to understand every line — when something breaks, you paste the error back and ask for a corrected version. Iterating in plain English is the whole skill.

Is the 'Google hasn't verified this app' warning dangerous?

Not for a script you wrote yourself. The warning appears because your project is unverified, which every personal Apps Script is. Click Advanced, then the 'Go to project (unsafe)' link, then Allow, to grant your own script permission to read your sheet and send email as you. Only click through this for scripts you created or trust completely.

Can I automate a vendor report from Google Sheets to send every week?

Yes. Once your script runs correctly on dummy data, open Triggers in the Apps Script editor, add a time-driven weekly trigger, and set it for Monday morning. The script will then loop through your listings and email each vendor automatically. Keep a backup of the script and prompts, and test it monthly so it doesn't quietly stop working.

Is it legal to send automated emails to vendors in Australia?

A service update about a vendor's own listing is fine. Marketing email is different: under the Spam Act, promotional messages to Australian recipients need consent, accurate sender details and a working unsubscribe link in every message. If you adapt a script to email prospect or past-client lists, build consent checks and unsubscribe handling in first. This is general guidance, not legal advice.

Should I use real client data when building the script with AI?

No. Build and test on a copy filled with made-up data, and describe your columns to the AI in the abstract rather than pasting real names or emails. The OAIC's general guidance is not to put personal information into public chatbots. Once the finished script runs inside your own Google account, it processes your real sheet locally without sending it back to the AI.

Want these ideas working in your firm? We build controlled AI workflows for Australian professional services firms — starting with a free automation audit.