Skip to content

Quote Follow-Up Digest: A Zapier Email Every Morning That Lists the Quotes to Chase

For Franchise Owner-Operator (Service Business)s ·

Tools:Zapier, Google Sheets, Gmail
Time to build:1 to 2 hours
Difficulty:Advanced
Prerequisites:The "Quote Follow-Up" spreadsheet from the Level 2 guide on building a Quotes tracker with Gemini in Google Sheets. This guide repeats the layout and every formula, so you can also build it from here.
ZapierGoogle SheetsGmail

What This Builds

A quote that goes quiet is easy to lose. You sent it on a Tuesday, the week filled up, and by the next Wednesday nobody remembers which leads never answered. This build puts a short email in your inbox each morning with the lead codes that are due for a follow-up and a count of quotes that have no sent date.

The sheet does the counting. Zapier carries two cells to your inbox, so the email arrives every day, even on a day when nothing is due. There is no AI step. The email goes to you alone. You open your brand's CRM or scheduling app and make the calls yourself, and the Zap never contacts a customer.

Prerequisites

  • A Google account that holds the sheet and a Gmail address you send from. If your franchisor runs the Google account or has rules about outside apps, check with your franchise business consultant before connecting Zapier.
  • A Professional plan or better ($29.99/month). The Zap has a trigger plus two actions, which makes three steps, and Zapier's free plan allows two-step Zaps only. Check Zapier's plan page before you build.
  • Total ongoing cost of the finished build: the Zapier plan above. Google Sheets and Gmail add nothing on a Google account you already have. Each run uses two tasks (the lookup and the email), so about 60 tasks in a 30-day month if it runs every day. Zapier counts only successful action steps as tasks.
  • Comfort pasting a formula and copying it down a column.
  • Your brand's policy on customer information read, and an answer on whether lead codes may pass through an outside tool at all (see "What Zapier Sees and Keeps" below).
  • One number that is your own choice: how many days after a quote goes out you want it flagged. This guide states no follow-up rule. Your operations manual or your own judgment sets it.

The Concept

Think of a whiteboard in the office with one line written on it: how many quotes need a call, and which ones. The sheet rewrites that line whenever a date changes. Zapier is a courier who reads the line every morning and drops a copy in your inbox.

The line is always there, and that matters because of how Zapier's search step behaves. A lookup that finds zero rows halts the Zap ("Safely halted" in Zap History). No later step runs and no email goes out. If the Zap searched your Quotes tab for "quotes due", a day with none due would return nothing and send nothing, and you could not tell a quiet day from a broken Zap. By searching for one Summary row whose Key is always summary, the lookup always finds its row. The email arrives every day, and on a clear day it says "none".

The Zap has no AI step, no formatting step and no loop. The sheet decides what is flagged and Zapier only moves text.

What Zapier Sees and Keeps

Zapier handles whatever the Zap reads, and Zap History stores the data of each step. The lookup step stores the whole Summary row, and the Gmail step stores the subject and body. In this build that means lead codes, a service label, dates, a count and your follow-up setting.

Keep everything else out of the sheet. A lead is a code such as "L-104" and nothing more. Never enter a customer's name, phone number, address, gate code, email, quote amount or any note about their home or health. Those details stay in your brand's required system. Because lead codes still come from your franchisor's system, check your brand's policy on customer information, and ask your franchise business consultant whether codes may flow through an outside tool. If the answer is no, stop after Part 3 and read the Summary tab each morning instead.


Build It Step by Step

Part 1: Lay Out the Two Tabs

Create a new spreadsheet named Quote Follow-Up. Name one tab exactly Quotes and another exactly Summary. Tab names are case-sensitive in formulas, so match them. This digest has its own spreadsheet because its columns differ from your other digests.

On Quotes, row 1 holds the headers and each quote gets one row from row 2 down.

ColumnHeaderWhat goes in it
ALead codeA code such as L-104 (format the column as plain text)
BServiceA short label such as "Deep clean"
CQuote sent dateTyped as a date
DFollow-up doneDropdown: yes, no
EBookedDropdown: yes, no
FFlagFormula

Add the dropdowns with Data, then Data validation, then Add rule. Pick Dropdown and enter yes and no for D2:D301 and again for E2:E301. Format C as a date. If you built this sheet from the Level 2 guide, it already matches.

On Summary, row 1 holds the headers and row 2 holds the one data row.

CellHeader (row 1)Row 2 holds
A1KeyThe word summary, typed exactly in lowercase (cell A2)
B1Follow Up CountFormula (cell B2)
C1Follow Up CodesFormula (cell C2)
D1Missing Date CountFormula (cell D2)

Below those, put your setting: type Follow up after (days) in A4 and a number in B4, for example 3. Keep a number in B4 at all times.

Part 2: Paste the Formulas

Flag, cell F2 on Quotes. Paste it and copy it down to row 301. That leaves room for 300 quotes.

Copy and paste this
=IF(A2="","",IF(OR(D2="yes",E2="yes"),"",IF(C2="","MISSING DATE",IF(TODAY()-C2>=Summary!$B$4,"FOLLOW UP",""))))

The formula reads left to right and stops at the first test that is true.

  • Lead code empty: blank. This is why a formula filled down to row 301 stays silent on empty rows.
  • Follow-up done or Booked is yes: blank. A finished quote never appears.
  • Sent date empty: "MISSING DATE".
  • Days since the quote went out (today minus the sent date) at least the setting in Summary!$B$4: "FOLLOW UP".
  • Anything else: blank.

Follow Up Count, Summary!B2

Copy and paste this
=COUNTIF(Quotes!F2:F301,"FOLLOW UP")

Follow Up Codes, Summary!C2

Copy and paste this
=IFERROR(TEXTJOIN(", ",TRUE,FILTER(Quotes!A2:A301,Quotes!F2:F301="FOLLOW UP")),"none")

Both ranges inside FILTER run from row 2 to row 301, so they are the same height. FILTER keeps the lead code of every flagged row and TEXTJOIN strings them together with a comma and a space. When nothing is flagged, FILTER returns an error and IFERROR puts "none" in the cell.

Missing Date Count, Summary!D2

Copy and paste this
=COUNTIF(Quotes!F2:F301,"MISSING DATE")

The counts read the labels the Flag column writes for filled rows. Empty rows return blank, so they are never counted.

Re-read each formula once after pasting. Count the opening and closing parentheses, confirm every range ends at row 301 and confirm the tab names match.

Part 3: Keep Calculation on Automatic

TODAY() changes every new day. Google's calculation settings page lists only two choices, Automatic and Manual, and no scheduled recalculation. In the sheet, open File, then Settings, then the Calculation tab, and keep the mode on Automatic. If the counts in an email look stale, open the sheet before the run and check that the Flag column matches today's date.

Part 4: Build the Zap

In Zapier, create a new Zap with three steps.

  1. Trigger. Choose the app Schedule by Zapier and the event Every Day. Set Time of Day to a morning time before you start your calls. Set Trigger on weekends? to match your own week. Leave the timezone override alone unless your account is set to a different timezone.
  2. Action. Choose Google Sheets and the event Lookup Spreadsheet Row. Connect your Google account. Choose the Quote Follow-Up spreadsheet and the Summary tab. Set the lookup column to Key and the lookup value to summary. Add no other condition. The sheet already did the work, and you want a lookup that always finds its row.
  3. Action. Choose Gmail and the event Send Email. In To, enter your own address and nobody else's. Build Subject in this order: the text Quotes to follow up: followed by the Follow Up Count field from step 2. Build Body in this order, using the fields from step 2 where the square brackets are:
Copy and paste this
Follow up today: [Follow Up Codes]. Quotes missing a sent date: [Missing Date Count]. Open the Quotes tab for details.

Zapier lists the Summary columns as fields named after your row 1 headers. If a header is missing from the field list, run the lookup test again so Zapier reloads the headers.

Test each step. The lookup test should return the summary row with the count and the codes. The email test should reach your inbox. Then turn the Zap on.

Part 5: Test and Refine

Add a dummy quote with a sent date older than your setting, Follow-up done set to no and Booked set to no. Confirm that Flag reads FOLLOW UP and that the count rises by one. Then set Booked to yes and confirm the row drops out. Delete the dummy row when you finish.


Real Example: A Wednesday Morning at BrightNest Cleaning (invented)

Invented setup: today is Wednesday 2026-10-14 and Follow up after (days) is 3. Every code and date below is invented, and the brand is invented.

Lead codeServiceQuote sent dateFollow-up doneBooked
L-101Deep clean2026-10-06yesno
L-103Recurring clean2026-10-07nono
L-104Deep clean2026-10-09nono
L-105Move-out clean2026-10-10noyes
L-106Recurring clean2026-10-11nono
L-107Deep clean2026-10-12nono
L-108Deep cleanblanknono
(row 9)blank row

Codes do not need to be consecutive. Working through the Flag formula:

  • L-101: Follow-up done is yes, so blank.
  • L-103: 7 days since 2026-10-07. Not done, not booked, and 7 is at least 3, so FOLLOW UP.
  • L-104: 5 days since 2026-10-09, so FOLLOW UP.
  • L-105: Booked is yes, so blank.
  • L-106: 3 days since 2026-10-11. 3 is at least 3, so FOLLOW UP. This is the boundary case.
  • L-107: 2 days since 2026-10-12. Below 3, so blank.
  • L-108: no sent date, so MISSING DATE.
  • Row 9: no lead code, so blank, and it is never counted.

Summary: B2 is 3, C2 is "L-103, L-104, L-106" and D2 is 1.

The email arrives with the subject "Quotes to follow up: 3" and this body:

Copy and paste this
Follow up today: L-103, L-104, L-106. Quotes missing a sent date: 1. Open the Quotes tab for details.

If nothing were flagged, the subject would read "Quotes to follow up: 0" and the body would start "Follow up today: none." The email still arrives.

Setup: one spreadsheet, one Zap, three steps. Input: the daily schedule and the dates and dropdowns you keep current. Output: one email to you with a count in the subject and the lead codes in the body. Time saved: a few minutes a day compared with scanning a list, though the digest is only as current as your last entry. Marking Follow-up done and Booked when you act is the price.

Before you rely on it, check the flagged codes against your CRM. The sheet knows dates, not whether the customer already called you back.


What to Do When It Breaks

  • No email arrived this morning. This is the failure you will not see, because a stopped Zap makes no noise. Check that the Zap is switched on. Then open Zap History for the run. A "Safely halted" lookup means no row had Key equal to summary, usually because the Key cell was renamed, its text changed or the Summary tab moved. Restore the text summary in A2 exactly. A run that never appears usually means the Zap was turned off or the Google connection expired. Reconnect the account under your Zapier connected accounts and re-test the lookup.
  • Set a standing reminder. Put a calendar reminder for mid-morning. If no digest has arrived by then, treat that as the alarm and check the Zap that day.
  • Counts look wrong or stale. Open the sheet and confirm Calculation is on Automatic. Then check the Flag column against today's date.
  • A quote never shows up. Check that its sent date is a real date and not text, that Follow-up done and Booked are not yes and that the quote has a row. A quote you forgot to enter cannot be flagged.
  • The Follow Up Codes cell shows an error. A range was edited to a different height. Every range inside the FILTER must run from row 2 to row 301.
  • A formula shows #REF! or #NAME?. A tab was renamed. Rename it back, or fix the tab name inside the formulas.

Variations

  • Simpler version: skip Zapier and open the Summary tab each morning. The count and codes are the same.
  • Extended version: add a Google Form for logging a new quote. Form answers land on their own responses tab, and you copy each one into Quotes yourself. Never point a Form at the Quotes tab, because it would overwrite your formulas. The Zap still runs on its schedule.
  • Different window: change the number in B4 and the next run uses it. If your brand's CRM already sends its own follow-up reminders, decide which one you will trust so you do not chase the same lead twice.

What to Do Next

  • This week: build the tabs and test with dummy rows. Then switch the Zap on and compare the first real email with your CRM.
  • This month: adjust the follow-up window after you see which flags you act on.
  • Advanced: build the sister digests for recurring-customer re-service, onboarding tasks and equipment maintenance, each in its own spreadsheet with its own Summary tab.

Advanced guide for franchise owner-operators. The digest flags dates you have typed. It does not decide who to call, what to say or what to offer, and it never contacts a customer. Your operations manual and your own judgment decide that. Zapier and Google may change their screens, so follow the labels you see.