Skip to content

Weekly Investor Follow-Up Digest: One Monday Email of Meetings Still Owed a Follow-Up

For Investment Fund Managers ·

Tools:Zapier, Google Sheets, Gmail
Time to build:1 to 2 hours
Difficulty:Advanced
Prerequisites:Comfortable with Google Sheets formulas and with building a Zap. No Level 3 guide is required.
Zapier

What This Builds

The follow-up after an investor meeting is the piece most likely to slip, because the meeting felt finished when it ended. This build keeps one line per meeting in a small sheet and sends you one email every Monday listing the meetings where a follow-up is owed, none has gone out and more than your chosen number of days have passed. Lines with no meeting date are counted so they get fixed. The outcome it serves is no investor waiting longer than you intended for the note you promised.

Prerequisites

  • A Google spreadsheet named "Investor Follow-Ups", separate from any other tracker
  • A Zapier account on a paid plan, because the Zap has three steps and the free plan allows two-step Zaps only. The plan is Professional ($29.99/month). That is the total ongoing cost, since the Google account is one you already have.
  • A Google account connected to Zapier for Sheets and Gmail
  • A check of your firm's policy on meeting codes in an outside automation tool, with your CCO

The Concept

A restaurant kitchen runs on tickets, and a ticket that has sat too long gets noticed. This sheet is the ticket rail for your follow-ups. Each meeting is a ticket, and the Monday email calls out the ones that waited too long. You write the follow-ups, and the sheet keeps the count of days.

One technical point shapes the design. A Zapier search step that finds no row halts the Zap. Zap History shows the run as safely halted, and no email is sent. A quiet week would then look exactly like a broken Zap. So the Zap searches a Summary tab with one row that always exists. Its Key cell says summary, and formulas fill the rest of the row from the Meetings tab. A quiet week produces an email that says none and zero. There is no AI step, no Formatter step, no loop, no second lookup and no row trigger, and nothing in this build reads from or writes to your portfolio, order, risk, performance or CRM system.

The number of days before a meeting is chased is your own choice, typed into the sheet. This guide states no standard for how fast a follow-up must go out. The Zap never emails an investor. You write each follow-up in your firm's own email, under your firm's review rules for investor communications, and the digest is a backstop that never replaces your CRM.

Data caution. The sheet holds meeting codes (such as MT-26-031), dates and yes or no only. Investor names, consultant names, the content of the meeting, account numbers and fee terms stay in your firm's systems, and the key from a meeting code to an investor lives in your CRM and nowhere in this sheet. Material non-public information never goes into any AI tool, and this build has no AI step, but the same discipline applies to Zapier and the sheet. Undisclosed holdings, trade ideas and orders, your models, investor and client names, account numbers, fee terms, side letters and consultant scores stay in your firm's systems. Zapier is an outside tool, so ask your CCO whether your firm's policy allows these codes to pass through it and how business use of outside tools is recorded. Check Zapier's own pages for how long Zap History is kept and for its data settings. If the answer is no, use the sheet as a manual Monday checklist and skip the Zap.


Build It Step by Step

Part 1: Build the Meetings tab

Name the first tab Meetings. Lay out the columns first.

ColumnHeaderContent
AMeeting codeYour short code, such as MT-26-031
BMeeting dateA real date
CFollow-up owedDropdown: yes, no
DFollow-up sentDropdown: yes, no
EFlagFormula, filled down to row 301

Format column B as a date (Format, then Number, then Date, or the closest match). Type dates as yyyy-mm-dd. Add the dropdown to C2 through D301 (Insert, then Dropdown, or Data, then Data validation, with the list yes and no). Menu names change, so look for the closest match.

E2, filled down to row 301:

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

Read the formula from the outside in, then run each case through it:

  • A blank row (no meeting code) returns blank, so rows filled down past your last meeting stay empty.
  • A meeting where no follow-up is owed (Follow-up owed is not yes) returns blank.
  • A meeting where the follow-up is already sent returns blank.
  • A meeting owed a follow-up, not sent, with no meeting date returns MISSING DATE. The date check comes before any date arithmetic, so a blank date never reaches the subtraction.
  • A meeting owed a follow-up, not sent, where the days since the meeting are more than Days before chasing returns FOLLOW UP OVERDUE. A meeting exactly that many days ago does not count, because the test is greater than and not greater than or equal.
  • Everything else returns blank.

The five closing parentheses at the end match the five IF functions still open.

Part 2: Build the Summary tab

Add a second tab named Summary. Type these cells first.

CellContent
A1 to D1Key, Overdue Count, Overdue Items, Missing Date Count
A2The word summary, in lowercase
A4Days before chasing
B45

B2:

Copy and paste this
=COUNTIF(Meetings!E2:E301,"FOLLOW UP OVERDUE")

C2:

Copy and paste this
=IFERROR(TEXTJOIN(", ",TRUE,FILTER(Meetings!A2:A301&" (met "&TEXT(Meetings!B2:B301,"yyyy-mm-dd")&")",Meetings!E2:E301="FOLLOW UP OVERDUE")),"none")

D2:

Copy and paste this
=COUNTIF(Meetings!E2:E301,"MISSING DATE")

Check the parentheses in each formula before you move on. Every range inside the FILTER runs from row 2 to row 301, so the heights match. The dates sit inside TEXT() so they join as 2026-11-05 and not as a serial number. A row only reaches the list when it carries the flag, and that flag needs a date, so TEXT() never sees a blank date for a listed row. IFERROR turns the empty-result error into the word none. The counts look for the exact flag words, so rows the formula fills down past your last entry are never counted.

The value in B4 is a starting choice, and it is yours to change. It is your own working window and not a rule.

Keep Calculation Mode on Automatic (File, Settings, Calculation). Google's calculation settings page offers Automatic and Manual only, with no scheduled recalculation, and TODAY() depends on recalculation. If a count looks stale, open the sheet before relying on the email. The spreadsheet's time zone (File, Settings, General) also decides what TODAY() means.

Part 3: Load the test rows

The rows below are invented. They assume a pretend TODAY() of Monday 2026-10-26 and B4 = 5. On another day, keep the same offsets from your real today and retype the dates.

Meeting codeMeeting dateFollow-up owedFollow-up sentDays since the meeting on the invented todayExpected flag
MT-26-0312026-10-19yesno7FOLLOW UP OVERDUE
MT-26-0322026-10-21yesno5blank (boundary, not more than 5)
MT-26-0332026-10-20yesno6FOLLOW UP OVERDUE
MT-26-0342026-10-14yesyes12blank (sent)
MT-26-0352026-10-12nono14blank (nothing owed)
MT-26-036noneyesnononeMISSING DATE

The Summary row should then read:

CellExpected value
B22
C2MT-26-031 (met 2026-10-19), MT-26-033 (met 2026-10-20)
D21

MT-26-032 shows the boundary: five days is not more than five, so it waits until next week. MT-26-034 was sent, so it drops off. MT-26-035 owes nothing, whatever its age. MT-26-036 has no meeting date and is counted as missing.

If C2 shows one item only, or the same date for every item, the first argument of the FILTER is not being read as an array in your sheet. Wrap the text-joining part of the FILTER (the part that joins codes and dates, before the final condition) in ARRAYFORMULA and compare again. The values above are the check.

Part 4: Create the Zap

  1. In Zapier, create a new Zap.
  2. Choose Schedule by Zapier as the trigger and the Every Week event.
  3. Choose Monday for Day of the Week and set the Time of Day for the email. Leave Timezone Override alone unless your spreadsheet uses a different time zone.
  4. Add an action. Choose Google Sheets and the Lookup Spreadsheet Row event.
  5. Connect your Google account if asked. Pick the spreadsheet Investor Follow-Ups and the worksheet Summary.
  6. For Lookup column choose Key (column A). Labels may be worded a little differently.
  7. For Lookup value type summary, in lowercase.
  8. Leave Supporting lookup column, Supporting lookup value, Search from last row and Row count at their defaults.
  9. Add a second action. Choose Gmail and the Send Email event.
  10. In To, type your own address only. The digest goes to you and no one else.
  11. Type the subject Follow-ups still owed.
  12. Type the body below. Replace each bracketed name with the field of that name from the Google Sheets step, using Zapier's field picker.
Copy and paste this
Follow-ups overdue [Overdue Count]: [Overdue Items]
Missing meeting dates [Missing Date Count]
Backstop only. Your CRM is the record.
  1. Test the Google Sheets step. It should return the whole Summary row, with a value for each header in row 1.
  2. Test the Gmail step and read the email.
  3. Turn the Zap on.

The lookup returns the entire matching row, and that row is all Zapier sees. The Meetings tab never leaves Google. Row 4 holds your window, so it is not part of the row the lookup returns.


What leaves your sheet

Zapier receives the Summary row and the email text. That means the word summary, the Overdue Count, the Overdue Items text (meeting codes and meeting dates) and the Missing Date Count. Zap History stores the data each step received and returned, so those values stay in your Zapier account. The rest of the Meetings tab stays in Google.

Zapier bills only successful action steps as tasks. The trigger, a search that halts and a failed action are not counted. A normal run has two action steps, the lookup and the email, so check Zapier's own pages for how your plan counts them.

Use codes only. An investor name, a consultant name or anything said in the meeting does not belong in this sheet.

Real Example: Monday 2026-10-26

Setup: The six invented rows from Part 3 and B4 set to 5. Input: On Monday at the scheduled time, the Zap fires and finds the summary row. Output:

Copy and paste this
Follow-ups overdue 2: MT-26-031 (met 2026-10-19), MT-26-033 (met 2026-10-20)
Missing meeting dates 1
Backstop only. Your CRM is the record.

Check it by hand. 2026-10-19 is seven days before 2026-10-26, and 2026-10-20 is six days before it. 2026-10-21 is five days before, which is not more than five. MT-26-034 is sent. MT-26-035 owes nothing. MT-26-036 has no date. What you do next: You open your CRM, find the two investors behind MT-26-031 and MT-26-033, and write each follow-up in your firm's own email. You find the date for MT-26-036 in your calendar and type it in. The rows are invented. Real dates come from your calendar.


What to Do When It Breaks

  • A Monday passed with no email → This failure is silent, so build the habit of noticing it. Check that the Zap is switched on. Open Zap History and look for a run that Monday. A "safely halted" run means the lookup found no row, so check that A2 on the Summary tab still says summary, because a renamed Key cell stops the lookup. Check that the spreadsheet and the Summary tab still have their original names. If Zapier reports an expired Google connection, reconnect it. A Monday with no email never means that nothing needs attention.
  • A meeting never appears → Confirm column B holds a real date and not text, that Follow-up owed is yes and that Follow-up sent is not yes.
  • A sent follow-up still shows → Follow-up sent must read yes, spelled exactly that way. The dropdown prevents typos.
  • A meeting appears too early → Check Days before chasing in B4. The flag appears when the days since the meeting are more than that number.
  • You expect the Zap to send the follow-up → It does not, by design. The Zap sends the digest to you only, and you write each follow-up yourself.
  • Dates show as numbers in the email → The TEXT wrapper was removed from the formula in C2. Restore it from Part 2.
  • Counts look stale → Open the sheet and keep Calculation Mode on Automatic.

Variations

  • Simpler version: Drop the Follow-up owed column and treat every meeting as owed a follow-up.
  • Extended version: Raise the aim from a chase to a loop that closes. Add a column for whether you promised the investor something specific (yes or no), and add a count and an items cell to the Summary in the same pattern. Every new formula follows the same rules as above.

What to Do Next

  • This week: Run the test rows. Then replace them with your live entries and compare the first email with your CRM.
  • This month: Adjust Days before chasing to the pace you want to keep with investors.
  • Advanced: Pair it with the DDQ and RFP due-date digest, each in its own spreadsheet.

Advanced guide for investment fund manager professionals. This build needs a paid Zapier plan. Zapier and Google update their screens often, so if a label differs from this guide, look for the closest match and check the vendor's help pages.