Track and chase missing client documents in Dropbox

By General Input

One board showing every client's document checklist, what has landed, what is still missing, and how many times you have chased them.

Integrations

  • Dropbox
  • Send Email

Type

App

Categories

  • Operations

Build me an app for chasing clients for the documents I need from them, built on top of Dropbox file requests. The problem it solves: a Dropbox file request is a single upload box, so it cannot list the individual documents I asked for and cannot show me a checklist. If a client uploads four of the seven things I asked for, I have to open the folder and work out which three are missing, and with ten or twenty active clients that becomes a job in itself.

The main surface is a collection board with one row per client. Each row shows the client name, their required document checklist with a tick or a blank per item, a simple counter like 4 of 7 received, the names of the items still outstanding, the deadline, how many days overdue they are, the date I last chased them, and how many times I have chased them in total. Sort the board so the most overdue client sits at the top, then clients approaching their deadline, then clients with no deadline set, and put complete clients in their own section at the bottom. Expanding a row shows the full checklist item by item alongside the files that have actually landed in that client's upload folder, so I can see the matching for myself.

Reading the data from Dropbox: use List File Requests to pull every open file request, and Get File Request for each one to read its title, destination folder path, deadline, and upload URL. Use List Folder on each destination folder to see what the client has actually uploaded, including file names and upload timestamps. Use Count File Requests for the header stats strip, alongside app-computed counts of how many clients are overdue, how many are still waiting, and how many are complete. Handle Dropbox pagination when a folder or the request list has more results than one page.

The checklist itself has to be app-side persistence, because Dropbox has no concept of per item requirements inside a file request. Store, per client: the list of required document names, which checklist item each uploaded file has been matched to, any flags raised against a file, the chase count, the date last chased, and the latest draft chase email. Link each stored client record to its Dropbox file request by ID so the board can always refresh live from Dropbox without losing my checklist.

Actions I need from the board. Add a new client: I type the client name, contact email, the list of documents I need from them, a destination folder, and a deadline, and the app creates the Dropbox upload request with Create File Request and saves the checklist against it. Send a chase email: opens the drafted email for that client, which names the exact documents still outstanding, states the deadline, and includes the upload link, and sends it with the Send Email integration, then increments the chase count and stamps the last chased date on the row. Close out a finished client: removes their request with Delete File Requests. Dropbox only deletes closed requests, so if it refuses because the request is still open, show me a clear message telling me to close it in Dropbox first rather than a raw error.

Add a Match uploads to checklist button that runs a background agent, either for a single client or for every open client on the board. The agent reads the destination folder contents with List Folder, reasons over the uploaded file names against that client's checklist, and ticks off the items they clearly satisfy. It flags anything ambiguous, anything that looks like a duplicate of a document already received, and anything that is clearly the wrong document, for example a photo of a receipt where a signed contract was expected. Ambiguous files are never silently ticked off: they stay unticked with a flag and a one line explanation so I make the call. The agent then drafts the per client chase email naming only the genuinely missing items, in a polite professional tone, with the deadline and the upload link included. Its output writes back into the app so the row updates, the flags appear on the expanded row, and the draft email is waiting for me to review and send. Sending always stays a separate human click; the agent never emails anyone by itself.

A couple of details to get right. Show the last run time of the matching agent so I know how fresh the ticks are, and show a spinner or progress state on rows while it is running. Keep a short chase history per client, so I can see the dates of previous chases rather than just a count. Emails send from a General Input address whose inbox is not monitored, so the drafted email should sign off with my name and tell the client to reply to my own address, not to the sender address.

Related prompts

Explore more prompts
Audit every Dropbox shared link and lock down risky onesTurn a Dropbox folder of PDFs into approved spreadsheet rowsLog Dropbox support calls to Zendesk with Azure SpeechTurn new WordPress posts into podcast-style audio in DropboxTurn morning voice memos into Linear issues every weekdayTurn new podcast episodes into Notion show notes and SRT filesSecurity questionnaire drafterAnswer Slack questions from every tool you connectDraft customer support replies grounded in your appsWeekly stalled deals email for every HubSpot owner