See which clients still owe you documents every morning
One board showing every onboarding client's paperwork status, what is still missing, and how long you have waited, with a chase email that names only the gaps.
Build me an internal app that my client onboarding team opens every morning to see which clients still owe us paperwork, instead of digging through Box folders and email threads to work it out. The whole app exists to answer one question fast: who is missing what, and how long have we been waiting on it.
The main surface is a board with one row per client. Each row shows the client name, a completion state of all received, partially received, or nothing yet, a progress count in the form 4 of 7 received, the names of the specific documents still outstanding, the number of days we have been waiting on the oldest outstanding document, and the staff member who owns that client. Sort the board so the most overdue client is at the top, ranked by the age of the oldest missing document. Give the three completion states a clear visual treatment so a partially received client reads differently at a glance from one who has sent nothing at all.
The client list comes from HubSpot. Use List Companies, or Search Companies when the user is searching or filtering, and narrow it to companies sitting in an onboarding stage. Use List Owners to populate an owner filter so each staff member can cut the board down to just their own clients, and remember the last owner filter each user picked so the board opens on their own clients next time.
For each client, a handler works out document status from Box. Use List Folder Items on that client's folder, and Search Content when a document might sit in a subfolder or was filed somewhere unexpected. Compare what is present against a checklist of required document names for that client's engagement type. Matching has to tolerate loose file naming, so W2_2025_final.pdf satisfies a W-2 requirement and bank stmt jan.pdf satisfies a bank statement requirement. Ignore case, punctuation, underscores, years, and filler words like final, signed, copy and scan when matching. Never mark a requirement satisfied on a silent guess: always show which file matched it so a human can sanity check the match.
The checklist is configurable and persisted in the app. Let the user define engagement types, for example bookkeeping, tax, and payroll, set the list of required document names for each type, and assign an engagement type per client. A bookkeeping client and a tax client must be able to require completely different paperwork. Also persist the mapping of HubSpot company to Box folder id, because folder names will not always match the company name exactly, and let the user correct that mapping from inside the app.
Clicking a client opens a detail view listing every required document for their engagement type as either present or missing. For a present document, show the matched file name, when it arrived, and a link that opens it directly in Box, using Get File Information to pull the file details and link. For a missing document, show how many days it has been outstanding.
From the app the team needs these actions. Create Folder to spin up the standard folder structure for a brand new client. Upload File so staff can drop in a document a client emailed them, filed into that client's folder. Add Shared Link to Folder to generate a collection link with an expiration date to send to the client. Gmail Send a Message to fire the chase email. HubSpot Create Note plus Create Task to log the chase against the company record so it shows up on the CRM timeline, with the task given a sensible follow up due date.
Bake in one hard rule: the chase email never lists documents we already have. Build the email body from the live missing list at the moment of sending, never from a cached or stale list, and name each outstanding document specifically rather than sending a generic nudge, so it reads like we are still waiting on your 2025 W-2 rather than please send your documents. Asking a client for something they already sent is the thing that annoys them most. If every document is in, the chase action should be unavailable rather than sending an empty reminder. Show the drafted email to the user before it sends so they can edit it first.
Finally, record when a chase was last sent for each client and show that on the board, so two people do not chase the same client on the same morning.
What does this prompt do?
- Opens to a board with one row per onboarding client showing whether their paperwork is all in, partly in, or not started yet, a running count like 4 of 7 received, and the exact documents still outstanding.
- Sorts the board by how long you have been waiting on the oldest missing item, so the most overdue clients sit at the top and nobody quietly slips through.
- Matches loosely named files against your checklist, so a file saved as W2_2025_final still counts as the W-2 you asked for instead of showing up as missing.
- Sends a chase email that lists only the documents you are still waiting on, then logs the chase as a note and a follow up task against the client record in your CRM.
What do I need to use this?
- A Box account holding your client folders
- A HubSpot login with your client companies and the stage they are in
- A Gmail account to send chase emails from
- A list of which documents each type of client engagement requires
How can I customize it?
- Edit the required document checklist per engagement type, so a bookkeeping client and a tax client get asked for completely different paperwork.
- Change which onboarding stages appear on the board and how many days of waiting counts as overdue.
- Adjust how long the client upload links stay valid and reword the chase email to match your firm's tone.
FAQs
Will this work if our file names are messy?
Does it email clients automatically?
Can each person see only their own clients?
What if a brand new client has no folder yet?
Can we use a different CRM instead of HubSpot?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.
A calibration board that lines up every candidate's answer to the same question, hides names until your panel has scored, and writes the agreed rating back.
Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.
Open one board every morning to see every outstanding quote by age and value, decide on each one, and send follow-ups only after you approve them.
Know exactly who still owes you paperwork.
Open one board each morning, see every outstanding document across your onboarding clients, and chase the right people without asking for anything twice.