Document Request Chaser
The documents you are still waiting on, aged, with the chase already drafted.
What it does
Reads your DocumentRequests Google Sheet, keeps only the rows still marked outstanding, groups them by client, and ages each one. Clients are ordered worst-first by their oldest outstanding item, and each gets an escalation tier:
| oldest item | tier |
|---|---|
| 3+ days | nudge — friendly reminder |
| 10+ days | follow up — second request |
| 21+ days | escalate — partner call |
For any client past the nudge threshold it also drafts the request, naming the specific missing items.
What it does NOT do
It never contacts a client. The digest and every draft go to your staff. A person reads, edits and sends.
This is deliberate, and it is the one design decision worth defending. An automated chase that goes out after the client already emailed the file — or that names the wrong document — costs more goodwill than the workflow saves in time. It also keeps the firm on the right side of its own client-communication standards: nothing leaves under the firm's name without a human behind it.
If you want it to send directly anyway, see Customization. Read that section before you do.
Setup
1. Google Sheet
Tab DocumentRequests with this header:
| client_id | client_name | contact | item | requested_date | received_date | status | last_reminder | reminder_count | notes |
|---|---|---|---|---|---|---|---|---|---|
- One row per requested item, not per client — that is what makes the draft name the right documents
statusvalues:outstanding|received|waived- Set
statustoreceivedand fillreceived_datewhen a file arrives; the row drops out of the chase - Dates in
YYYY-MM-DD
2. Credential + contact
Replace the placeholders:
- <<GOOGLE_WORKSPACE_CREDENTIAL>> — Google Workspace credential with Sheets read scope
- <<DOCUMENT_REQUESTS_SHEET_ID>> — the sheet ID from its URL
- <<PREPARER_PUBLISHER>> — who owns the chase and receives the drafts
3. Schedule
Daily during season, weekly outside it.
Customization
- Tiers.
NUDGE,FOLLOWandESCALATEat the top of thecomposetask, in days. - Draft wording. The
DRAFT:lines incompose. Firms with a house style should replace this outright — it is intentionally plain. - Per-client language. Add a
languagecolumn and have the assistant translate the draft before it reaches staff. A Spanish- or Portuguese-speaking client base makes this the highest-value change on this list. - Sending directly (not recommended). Add a
messagetask per client using column C as the recipient. If you do: gate it onreminder_count, never send more than once per item per week, and exclude any client whose row changed in the last 24 hours — that is the "they already sent it" case.
Source
workflow.iml