Skip to content

Renewal Reminders: A Weekly Email Listing the Permits, Licenses, Inspections and Insurance You Need to Start On

For Restaurant Owner-Operators ·

Tools:Zapier + Google Sheets + Gmail
Time to build:1 to 2 hours
Difficulty:Advanced
Prerequisites:You can open a Google Sheet, type in cells and paste a formula. You know which permits, licenses, inspections and insurance policies your restaurant carries.
ZapierGoogle Workspace

What This Builds

Every week an email arrives in your own inbox that lists only the items that need action: renewals you should start now, renewals that are past due, and items where you have not entered a date. On a quiet week it says "Nothing to renew this week". You keep one list in a Google Sheet, and the sheet works out what is due. Today those dates probably live in your memory, in an email folder and on paper in a drawer.

The email goes to you and nobody else. Nothing is sent to an agency, an insurer, a vendor or your staff. This is a reminder to you, and it does not renew anything.

Prerequisites

  • A Google account with Sheets and Gmail (a regular Google account or a Google Workspace account both work)
  • A Zapier account on Professional ($29.99/month). Zapier's free plan allows two-step Zaps only, and this Zap has three steps (the trigger, a sheet lookup and a Gmail send), so a paid plan is needed. That is the whole ongoing cost, because Sheets and Gmail are already in your Google account.
  • A list of what applies to your restaurant, with each renewal date and who issues it. Requirements and renewal periods vary by state, county and city. This guide does not tell you what you need or how often you renew. Check with each issuing agency, your insurance agent and your accountant, and read each renewal notice for its dates and instructions.

The Concept

Think of the sheet as a wall calendar that marks its own urgent items in red. Zapier is the person who reads you the red items every week. A person who reads "nothing is red this week" is more reassuring than silence, because you know the reader showed up.

Zapier's lookup step has a trap. If it searches for rows and finds none, the Zap halts, and no email is sent. A quiet week with nothing due would be exactly such a week. So this build looks up one Summary row that always exists. That row holds either the list of items needing action or the sentence "Nothing to renew this week". The Zap sends the email every week, and when a Monday passes with no email you know something is wrong with the Zap and not with your paperwork.


Build It Step by Step

Part 1: Decide what goes in the sheet

Keep the sheet to names and dates. Do not type permit numbers, policy numbers, account numbers, your EIN or login details. A line such as "General liability insurance" with the insurer's name and a date is enough. The Summary row will pass through Zapier, and permit and policy names will show up in Zap History (see Part 5).

Part 2: Build the Renewals tab

Create a new Google Sheet. Rename the first tab Renewals. Put these headers in row 1.

ColumnHeaderFilled byWhat goes in it
AItemYouWhat is renewing, in plain words
BIssued ByYouThe agency, insurer or vendor
CRenewal DateYouThe date it renews, as a date
DLead DaysYouHow many days before the renewal date you want to start
EStart ByFormulaRenewal Date minus Lead Days
FDays LeftFormulaRenewal Date minus today
GStageFormulaMissing date, PAST DUE, Start now or Later
HDigest LineFormulaOne line of text for the email

You set Lead Days for each item. Take it from the renewal notice or from the issuing agency's instructions. If you do not know, ask the agency or your insurance agent. Enter a whole number. A blank Lead Days is treated as zero, which means "start on the renewal date itself", so always fill it in.

Enter the rows starting at row 2, one item per row, with no blank rows between items. Paste each formula into row 2 and fill it down to row 200 by copying the cell and pasting into the cells below. Rows with no Item stay blank.

E2, Start By (format the column as a date)

Copy and paste this
=IF(ISNUMBER(C2),C2-N(D2),"")

If C2 is a real date, subtract the lead days. If it is blank or text, show nothing. N() turns a blank Lead Days into zero.

F2, Days Left (format the column as a plain number)

Copy and paste this
=IF(ISNUMBER(C2),C2-TODAY(),"")

Negative means the date has passed.

G2, Stage

Copy and paste this
=IF(A2="","",IF(NOT(ISNUMBER(C2)),"Missing date",IF(F2<0,"PAST DUE",IF(TODAY()>=E2,"Start now","Later"))))

H2, Digest Line

Copy and paste this
=IF(A2="","",A2&" | "&B2&" | due "&IF(ISNUMBER(C2),TEXT(C2,"yyyy-mm-dd"),"date missing")&" | "&G2)

The date is wrapped in TEXT(C2,"yyyy-mm-dd") so it does not turn into a serial number inside the text.

Walk the Stage formula through each of the four cases. Today is 2026-10-01 in these examples. The items are invented for practice. Your list depends on where you operate, so check with each agency before you decide what belongs on it.

ItemIssued ByRenewal DateLead DaysStart ByDays LeftStage
Health permitcounty health department2026-12-15602026-10-1675Later
Liquor licensestate liquor authority2026-10-20452026-09-0519Start now
Property insuranceinsurance company2026-09-25302026-08-26-6PAST DUE
Fire inspectionfire marshalblank30blankblankMissing date
  1. Missing date. The fire inspection row has an Item but no Renewal Date. ISNUMBER(C2) is false, so G says Missing date. This also catches a date typed as words such as "next spring".
  2. PAST DUE. The property insurance date was 2026-09-25, so Days Left is 2026-09-25 minus 2026-10-01, which is minus 6. Below zero means PAST DUE.
  3. Start now. The liquor license has 19 days left, and its Start By date of 2026-09-05 is already behind us, so today is on or after Start By.
  4. Later. The health permit has 75 days left and a Start By of 2026-10-16, which has not arrived yet. On 2026-10-16 it flips to Start now by itself.

An item due today has zero Days Left. That is not below zero, so it shows Start now and not PAST DUE until tomorrow.

When you renew an item: type the NEW renewal date in column C. The row returns to Later by itself, because the new date is far away. Do not delete the row. A PAST DUE row stays in the email every week until you enter a new date, which is the point.

The digest lines for the example table are:

Copy and paste this
Liquor license | state liquor authority | due 2026-10-20 | Start now
Property insurance | insurance company | due 2026-09-25 | PAST DUE
Fire inspection | fire marshal | due date missing | Missing date

The health permit is not listed this week because its Stage is Later.

Part 3: Build the Summary tab

Add a second tab named Summary. Row 1 holds three headers. Row 2 is the only data row.

ColumnHeaderRow 2 holds
AKeyThe word summary, typed exactly, lowercase
BAction CountFormula: how many items need action
CDigest LinesFormula: the lines for those items, one per row of text

A2: type summary

B2, Action Count

Copy and paste this
=COUNTIFS(Renewals!G2:G200,"Start now")+COUNTIFS(Renewals!G2:G200,"PAST DUE")+COUNTIFS(Renewals!G2:G200,"Missing date")

C2, Digest Lines

Copy and paste this
=IFERROR(TEXTJOIN(CHAR(10),TRUE,FILTER(Renewals!H2:H200,(Renewals!G2:G200="Start now")+(Renewals!G2:G200="PAST DUE")+(Renewals!G2:G200="Missing date"))),"Nothing to renew this week")

FILTER keeps the Digest Lines whose Stage is one of the three action stages. Every range runs from row 2 to row 200, so they are all the same height, which FILTER requires. TEXTJOIN puts the kept lines together with a line break between them, and the TRUE skips empties. When nothing matches, FILTER returns an error, and IFERROR swaps in "Nothing to renew this week".

Walk the Summary through two situations. With the example table, B2 is 3 and C2 holds the three lines above. After you renew all three action items and enter new dates, B2 is 0 and C2 reads "Nothing to renew this week".

Part 4: Build the Zap

In Zapier, create a new Zap with three steps.

  1. Trigger: Schedule by Zapier, Every Week. Choose a day and a morning time that suits you.
  2. Action: Google Sheets, Lookup Spreadsheet Row. Connect your Google account, then choose your spreadsheet and the Summary tab. For the lookup column choose Key and for the lookup value type summary. The row always exists, so the step always finds it. Do not add any date comparison to this step. The sheet already did that work.
  3. Action: Gmail, Send Email. Put your own address in the To field, and only your own. For the subject, type Renewal reminders and then insert the Action Count field from step 2. For the body, insert the Digest Lines field from step 2.

There is no AI step in this Zap. The sheet writes the lines itself, so nothing is guessed. If the lines run together in the email, look for a body type option in the Gmail step and choose plain text.

Test each step, then turn the Zap on.

Part 5: What Zapier receives and keeps

At each run Zapier reads the Summary row, so the Action Count and the Digest Lines, which hold your item names, the issuing agency or insurer names and the due dates, pass through Zapier. Zap History stores the data each step received and returned, so those permit and policy names sit in your Zapier account's history, visible to anyone with access to that Zapier account. How long it is kept depends on your plan and settings, so check Zapier's help pages. The full Renewals tab stays in Google. Nothing in this Zap contacts an agency or an insurer.

Zapier counts a task for each action step that runs successfully. The trigger is free, and an action that errors or halts does not count. This Zap uses two action steps, the lookup and the send. Check Zapier's pricing page for the current plan limits.

Part 6: Test and refine

  1. Add three or four real items and check each Stage against what you expect.
  2. Look at the Summary row. B2 and C2 should match the table.
  3. In Zapier, test the lookup step and confirm it returns Key, Action Count and Digest Lines. Test the Gmail step and look for the email.
  4. To test the quiet week, change every row to a far-off date. The email should say "Nothing to renew this week". Put the real dates back.

Real Example: A Weekly Email That Catches a Lapse

Setup: The sheet with the four example rows above and a Zap that runs every Monday morning.

Input: The Monday email for 2026-10-05, four days after the example date.

Output: The subject reads "Renewal reminders 3". The body lists the liquor license as Start now, the property insurance as PAST DUE and the fire inspection as Missing date. You phone your insurance agent about the past due policy. You start the liquor license renewal by following the authority's own instructions, and you call the fire marshal's office to find out when the next inspection is due. When you have that date, you type it into column C and the row drops out of the email. You still follow each agency's own instructions for the actual renewal.

Time saved: The hunt through email folders and drawers goes away, and the weekly check takes a minute. The larger gain is that a lapse gets noticed while you can still act on it.


What to Do When It Breaks

  • A Monday passes with no email at all (the silent failure). Zapier will not tell you when a Zap stops, so check in this order. Open Zap History in Zapier and look for that Monday's run. If there is no run, the Zap is switched off or its schedule changed. If the run says "Safely halted" at the lookup step, the Key cell no longer says summary exactly, or the Summary tab was renamed or deleted. If a step shows an error, reconnect your Google account, because connections expire. A quiet week still produces an email, so a missing email always means the Zap needs attention.
  • An item you renewed still shows PAST DUE. You have not entered the new date, or you typed it as text. Click the cell and format it as a date through the Format menu.
  • An item is missing from the email. Its Stage is probably Later. Check Lead Days. If Lead Days is too small, the item appears late.
  • You see Missing date for a row that has a date. The date is stored as text. Retype it in a form Google Sheets recognizes as a date.
  • The Summary shows an error instead of text. Check that the Renewals tab is named exactly Renewals, and that the formulas in G and H filled all the way down to row 200.

Variations

  • Simpler version: Track only the five or six items that would hurt most if missed.
  • Extended version: Add a Notes column that holds the name of the person at the agency or the insurance agent. Keep it to names of businesses and offices, not account numbers.

What to Do Next

  • This week: Fill in every item you can find a date for, then ask the issuing agencies about the rest.
  • This month: Ask your insurance agent and accountant to review the list for anything missing.
  • Advanced: Pair this with the weekly numbers digest Zap. Both follow the same Summary row pattern.

Advanced guide for restaurant owner-operators. This guide does not state what permits, licenses or insurance your restaurant needs or how often they renew. Confirm every requirement with the issuing agency. Zapier plans and step names change, so check zapier.com before you build.