quietwork labs

RentOps Sheets Sync: Setup Guide

Updated 2026-09-26

Short answer

About 15 minutes. Make your copy, choose Sheets Sync › Start Sheets Sync…, then in AppFolio schedule each report as CSV, daily, to the Gmail address the setup window shows. The next morning, each report is in its own tab.

1. Make your copy

Open the copy link from your email (purchase email for the full version, sign-up email for Lite) and choose Make a copy. The copy and its script belong to your Google account; we can't see it.

2. Start Sheets Sync

Choose Sheets Sync › Start Sheets Sync… (Lite: Set up…). Approve access and tick every box. Enter your license key (full version). The window shows the Gmail address your reports should go to.

3. Schedule your reports in AppFolio

  1. Open a saved report under Reporting and choose Actions › Schedule, or go to Reporting › Scheduled Reports › New Scheduled Report.
  2. Set Format to CSV and Frequency to Daily.
  3. Put your Gmail address in Recipients.
  4. Give it a subject that matches the Reports tab, for example Sheets Sync: Rent Roll.

For the cleanest data, save reports without grouping or subtotals, and use AppFolio's filters for what you want (for example, open work orders only). Total rows are kept in the tab but ignored by alerts.

4. List your reports

On the Reports tab, keep one row per scheduled report: a name, the subject text to look for, and an optional tab name. Tick Keep daily history to add every day's data to a dated "History" tab, handy for trends like vacancy or delinquency over time. If AppFolio re-sends the same report on the same day, the copy is skipped.

5. Add alerts (optional)

On the Alerts tab, each rule names a report, a column (exactly as in the report tab's header), a condition and a value. Conditions: greater than, at least, less than, at most, equals, does not equal, contains, does not contain, is empty, is not empty, more than N days ago, and within the next N days. Tick Only new matches to hear about each row once; set the report's Row key column (for example Unit) so rows are recognised from day to day. Use Sheets Sync › Test alert rules now to try them against the current data.

Lite vs. full version

Lite imports one report when you choose Import latest report now, so you can see your own data come through. The full version checks Gmail every hour, imports every report, keeps daily history, skips duplicates and emails alerts.

Permissions, in plain English

Google asks toWhy
See and edit this spreadsheetWrite report data. This spreadsheet only.
View your email messages and settings (read-only)Find AppFolio's report emails and read the CSV. It can't change or delete email.
Send email on your behalf (full version)Alert emails.
Run when you're not present (full version)The hourly check.
Display content in prompts and sidebarsThe setup window.
Connect to an external service (full version)Check your license key with quietworklabs.com. Only the key is sent.

Frequently asked questions

The Reports tab says “No report email found yet”.+

It shows the exact Gmail search it used. Check that the AppFolio schedule's subject contains the text in the “Email subject contains” column, that it went to the right Gmail address, and that it isn't in Spam: Gmail search skips Spam and Trash, so add a filter for AppFolio's emails with “Never send it to Spam”.

It says the email has an .xlsx or .pdf file but no CSV.+

Edit the scheduled report in AppFolio and set Format to CSV. Sheets Sync reads CSV only, so every column arrives exactly as AppFolio exports it.

Google says “Google hasn’t verified this app”. Is that safe?+

Yes. The script lives in your own copy of the spreadsheet, so you are its owner. Google shows this screen for scripts in personal Gmail accounts that read email. Choose Advanced, then Go to Sheets Sync. On Google Workspace accounts it usually doesn't appear.

It says “Access blocked” on our Google Workspace account.+

Your Workspace admin restricts apps. Ask them to open Admin console › Security › Access and data control › API controls and tick “Trust internal, domain-owned apps”, or allow this app.

A history tab stopped growing.+

Google Sheets allows 10 million cells per spreadsheet. Sheets Sync stops adding history before that and logs a warning. Lower “Keep daily history for (days)” on Settings, or untick history for reports you don't need dated copies of.

Does it change anything in AppFolio or in my Gmail?+

No. It reads report emails and never changes, labels or deletes them. It has no access to AppFolio itself. We're not affiliated with AppFolio.

Your AppFolio reports, every morning.

RentOps Sheets Sync imports your scheduled reports into Google Sheets, keeps the history and emails alerts. It runs in your own Google account. One-time purchase, no calls.

One email on launch day with the launch price. No spam.

How it works →