Document Request Digest: A Zapier Automation That Emails You Every Monday
For Fraud Examiner / Financial Investigators ·
What This Builds
Document requests stall cases quietly. A bank, an accounts payable team or a records custodian sits on a request, and nobody notices until the case is already late. This build puts the list in front of you every Monday morning without anyone opening the tracker.
An email lands in your own inbox with the past due requests, the ones due inside your look-ahead window and the ones with no due date. The subject line carries two counts, so you know before opening it whether the week starts clean. The sheet does the thinking and Zapier carries one cell to your inbox. There is no AI step, so nothing from your cases goes to an AI vendor. The email goes to you and never to a record holder. How to follow up is your call, made with your supervisor and under your unit's procedures.
Prerequisites
- A Google account that holds the sheet and a Gmail address you are allowed to send from. If your employer runs Google Workspace, ask IT whether outside apps such as Zapier may connect to it.
- A Professional plan or better ($29.99/month). The Zap has a trigger plus two actions, which is three steps, and Zapier's free plan allows two-step Zaps only. Check Zapier's current 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 weekly run uses two tasks (the lookup and the email), so roughly 8 to 10 tasks a month. Zapier counts only successful action steps as tasks. Triggers, a search that halts and failed actions are not counted.
- Comfort writing a spreadsheet formula and copying it down a column.
- Your employer's AI and data policy read, and an answer on whether Zapier is an approved tool for even this coded data (see "What Zapier Sees and Keeps" below).
- Your own judgment about the Look Ahead Days setting. Pick it from how your unit follows up on requests. This guide states no deadline rule.
The Concept
Picture a noticeboard with one card pinned to it. The sheet rewrites the card whenever a request changes. Zapier is a courier who walks to the board every Monday, copies the card and drops it in your inbox.
The card 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 the Requests tab for "past due and not received", a clean week would return nothing and no email, and you could not tell a clean week from a broken Zap. By searching for one Summary row whose Key is always "summary", the lookup always finds a row. The email arrives every week, even when the card says nothing needs you.
The Zap has no AI step, no formatting step and no loop. The sheet decides what is flagged. 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 request codes, case codes, short holder labels, dates and status values.
Keep everything else out of the sheet. Use codes such as "R-07" and "2026-014", and short labels such as "Bank B" or "AP". Never enter a subject's, witness's, customer's or colleague's name. Never enter an account, card, claim or policy number, an amount, an allegation, a finding or a description of the case. Case details stay in your case management system. Even coded data belongs to your employer, so check the AI and data policy and whether Zapier is an approved tool before you connect it. If it is not approved, stop after Part 3 and use the sheet alone: the Summary tab works as a dashboard you open on Monday.
Build It Step by Step
Part 1: Check the Requests Tab and Add the Summary Tab
Use the spreadsheet from the Level 2 guide, or create a new one. Name one tab exactly Requests and another exactly Summary. Tab names are case-sensitive in formulas, so match them. This digest gets its own spreadsheet because its columns differ from your other digests.
On Requests, row 1 holds the headers and each request gets one row from row 2 down.
| Column | Header | What goes in it |
|---|---|---|
| A | Request | Code such as R-07 |
| B | Case | Code such as 2026-014 (format the column as plain text) |
| C | Holder | A short label such as Bank B or AP. Never a person's name |
| D | Requested Date | Typed as a date |
| E | Due Date | The date you set from your own procedures, typed as a date. May be blank |
| F | Received | Dropdown: Yes, No |
| G | Days Left | Formula |
| H | Flag | Formula |
| I | Digest Line | Formula |
Add the Received dropdown with Data, then Data validation, then Add rule. Pick Dropdown and enter Yes and No for F2:F201. Format D and E as dates and G as a plain number. If your Level 2 tracker already has a Days Left column in G, replace it with the formula below so the letters match.
On Summary, row 1 holds these headers and row 2 holds the one data row.
| Cell | Header (row 1) | Row 2 holds |
|---|---|---|
| A1 | Key | The text summary, typed exactly in lowercase |
| B1 | Look Ahead Days | A number you choose, for example 7 |
| C1 | Action Count | Formula |
| D1 | Past Due Count | Formula |
| E1 | Digest Lines | Formula |
Keep a number in B2 at all times. A blank cell is read as 0, and the window then shrinks to requests due today.
Part 2: Add the Formulas
Paste each formula into row 2 of its column and copy it down to row 201. That leaves room for 200 requests. Every range below ends at row 201, so extend them all together if you ever need more rows.
Days Left, cell G2
=IF(OR(A2="",E2=""),"",E2-TODAY())
Blank when there is no request code or no due date. Otherwise the due date minus today, so a due date in the past gives a negative number.
Flag, cell H2
=IF(A2="","",IF(F2="Yes","Received",IF(E2="","Missing date",IF(G2<0,"PAST DUE",IF(G2<=Summary!$B$2,"DUE SOON","Waiting")))))
The formula reads left to right and stops at the first test that is true.
- Request empty: blank. This is why a formula filled down to row 201 stays silent on empty rows.
- Received is Yes: "Received".
- Due Date empty: "Missing date".
- Days Left below 0: "PAST DUE".
- Days Left at most Look Ahead Days (Summary!$B$2): "DUE SOON".
- Anything else: "Waiting".
Received is tested first so a request that arrived late never shows as PAST DUE. Once the records are in hand, the old due date no longer needs your attention. A row where Received is still blank is treated as not received.
Digest Line, cell I2
=IF(A2="","",A2&" | "&B2&" | "&C2&" | "&IF(E2="","no due date","due "&TEXT(E2,"yyyy-mm-dd")&", "&IF(G2<0,-G2&IF(G2=-1," day"," days")&" past",IF(G2=0,"today","in "&G2&IF(G2=1," day"," days"))))&" | "&H2)
The line reads Request | Case | Holder | due date with a day count | Flag. The date is wrapped in TEXT so it prints as 2027-02-15 and not as a serial number. A blank due date prints "no due date", and a blank row returns blank.
Action Count, Summary!C2
=COUNTIF(Requests!$H$2:$H$201,"PAST DUE")+COUNTIF(Requests!$H$2:$H$201,"DUE SOON")+COUNTIF(Requests!$H$2:$H$201,"Missing date")
Past Due Count, Summary!D2
=COUNTIF(Requests!$H$2:$H$201,"PAST DUE")
Both count the labels the Flag column writes for filled rows. Empty rows return blank, so they are never counted.
Digest Lines, Summary!E2
=IFERROR(TEXTJOIN(CHAR(10),TRUE,FILTER(Requests!$I$2:$I$201,(Requests!$H$2:$H$201="PAST DUE")+(Requests!$H$2:$H$201="DUE SOON")+(Requests!$H$2:$H$201="Missing date"))),"No requests past due or due in the look-ahead window")
The four ranges inside FILTER all run from row 2 to row 201, so they are the same height. FILTER keeps the Digest Line of every row whose Flag is one of the three action labels, and TEXTJOIN stacks those lines with a line break between them. When nothing matches, FILTER returns an error and IFERROR substitutes the fallback sentence, so the cell is never empty.
Re-read each formula once after pasting. Count the opening and closing parentheses, confirm every range ends at row 201 and confirm the tab names match.
Part 3: Keep Calculation on Automatic
TODAY() recalculates as the sheet is used. 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 Days Left matches today's date.
Part 4: Build the Zap
In Zapier, create a new Zap with three steps.
- Trigger. Choose the app Schedule by Zapier and the event Every Week. Pick Monday and a morning time.
- Action. Choose Google Sheets and the event Lookup Spreadsheet Row. Connect your Google account. Choose the 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. - Action. Choose Gmail and the event Send Email. In To, enter your own address and nobody else's. In Subject, build the line in this order: the text
Request digest:, the Action Count field from step 2, the textto act on,, the Past Due Count field and the textpast due. In Body, insert the Digest Lines field from step 2. If the action offers a Body type setting, choose plain text so the line breaks from the sheet survive.
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 counts and the digest text. The email test should reach your inbox. Then turn the Zap on.
Part 5: Test and Refine
Add a dummy request with a due date in the past and Received set to No. Confirm that Flag reads PAST DUE, that both counts rise by one and that the line appears in Digest Lines. Then set Received to Yes and confirm that the line disappears. Delete the dummy row when done.
Real Example: A Monday in February
Invented setup: today is Monday 2027-02-22 and Look Ahead Days is 7, so a request is DUE SOON when it is due on or before 2027-03-01. Every code, holder and date below is invented.
| Request | Case | Holder | Requested Date | Due Date | Received |
|---|---|---|---|---|---|
| R-07 | 2026-014 | Bank B | 2027-02-01 | 2027-02-15 | No |
| R-11 | 2026-014 | AP | 2027-02-08 | 2027-03-01 | No |
| R-12 | 2026-019 | HR | 2027-02-15 | 2027-03-08 | No |
| R-13 | 2026-019 | Vendor V-12 | 2027-02-10 | blank | No |
| R-05 | 2026-011 | Bank B | 2027-01-25 | 2027-02-10 | Yes |
| (row 7) | blank row |
Working through the Flag formula:
- R-07: Days Left is 2027-02-15 minus 2027-02-22, which is -7. Not received, date present, below 0, so PAST DUE.
- R-11: February 2027 has 28 days, so 2027-02-22 to 2027-02-28 is 6 days and one more reaches 2027-03-01, which makes 7. Not below 0, and 7 is at most 7, so DUE SOON. This is the boundary case.
- R-12: 2027-03-08 is 14 days out (6 plus 8). Above 7, so Waiting.
- R-13: no due date, so Missing date. Days Left is blank, but the date test comes before the day count.
- R-05: Received is Yes, so Received, although its due date is 12 days past. This is why that test comes first.
- Row 7: no request code, so every formula returns blank and nothing is counted.
Counts: PAST DUE is 1 (R-07), DUE SOON is 1 (R-11) and Missing date is 1 (R-13). Action Count is 1 + 1 + 1 = 3. Past Due Count is 1.
The Digest Lines cell holds three lines in sheet order:
R-07 | 2026-014 | Bank B | due 2027-02-15, 7 days past | PAST DUE
R-11 | 2026-014 | AP | due 2027-03-01, in 7 days | DUE SOON
R-13 | 2026-019 | Vendor V-12 | no due date | Missing date
The email arrives with the subject "Request digest: 3 to act on, 1 past due" and those three lines in the body. If every request were Received or Waiting, both counts would be 0 and the body would read "No requests past due or due in the look-ahead window". The email still arrives.
Setup: one spreadsheet, one Zap, three steps. Input: the Monday schedule and the rows you keep current. Output: one email to you with two counts in the subject and the requests that need a look in the body. Time saved: an estimated 10 to 20 minutes a week of opening and scanning the tracker. The digest is only as current as your last edit, so logging receipts and due dates is the price.
What to Do When It Breaks
- No email arrived on Monday. 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 someone renamed the Key cell, changed its text or moved the Summary tab. Restore the text
summaryin A2 exactly. A run that never appears at all 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 on Monday. 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 that Days Left matches today's date arithmetic.
- A request you know is late is missing. The digest only reflects the rows. Check that the request has a row, that the due date is a real date and not text, and that Received is not Yes.
- Dates show as long numbers. A date was joined without TEXT. Re-paste the Digest Line formula exactly.
- A formula shows #REF! or #NAME?. A tab was renamed. Rename it back, or fix the tab name inside the formulas.
- Line breaks collapse in the email. Switch the Gmail step to plain text if it offers a body type, and re-test.
Variations
- Simpler version: skip Zapier and open the Summary tab each Monday. The counts and lines are the same.
- Extended version: add a Google Form for logging a new request. Form answers land on their own responses tab, and you copy each one into Requests yourself. Never point a Form at the Requests tab, because it would overwrite your formulas. The Zap still runs on its schedule.
- A second weekday: copy the Zap and set the copy to run on another day.
What to Do Next
- This week: build the Summary tab and test with dummy rows. Then switch the Zap on and read the first real email against your tracker.
- This month: adjust Look Ahead Days after you see how the Monday emails compare with how your holders actually respond.
- Advanced: build the sister digests for case aging and for your own milestones, each in its own spreadsheet with its own Summary tab.
Advanced guide for fraud examiners and financial investigators. The digest flags dates you have typed. It does not set a due date, judge a record holder or decide how to follow up. Your supervisor, legal counsel and your unit's procedures decide that. Zapier and Google may change their screens, so follow the labels you see.