AI voice agents for document-collection reminders call existing clients about a document their case still needs. After verifying the client, the agent names the document and why it matters, hears what is holding it up and records the promised date. The firm's own system sends a secure upload link, and calls stop once the document arrives.
Key Takeaways
- Verify the client before naming the matter or the document.
- The firm's own system sends the upload link; no document comes through the call.
- One call per document per week, and stop when it arrives.
This post is part of our guide to AI voice agents for law firms. The guide's section "During the matter: document-collection reminders" treats chasing a missing document as part of the duty to keep the client informed: the call names the document and why, and the firm's own system sends the upload link. Here is that call in full, built on Dograh, an open-source, self-hostable voice agent platform.
A missing document is a communication problem
Most missing documents come from a client who was never told clearly which one and why, and that makes the reminder part of a lawyer's duty. In its July 2026 annual report, Minnesota's lawyer discipline office named communication as the top area for private discipline, with complaints up to 1,572 in 2025 from 1,278 in 2024. That is one state's regulator, and the pattern is easy to recognise.
Rule 1.4 asks a lawyer to "keep the client reasonably informed about the status of the matter". A file stuck on a missing medical record or a pay stub is a status the client should hear about.
Our view, from building these calls in insurance claims, is that clients rarely hold documents back on purpose. They miss them because nobody said plainly which document was needed and why. A call that says both does more than another email with the same checklist.
What the call does that an email cannot
The call is for the client the written reminders did not reach. The firm's own system sends the first reminders by text or email, with the upload link. The call comes when those go unanswered or the deadline is close.
On a call, the client can say what is wrong. The record may sit with a doctor who has not replied, or the client may not know which of two forms the firm meant. The agent writes that reason to the file, so the paralegal knows whether to chase the client or the third party. The same pattern, applied to policyholders, is in AI Voice Agents for Claims Document Collection in Insurance.
How the reminder call runs
The firm's case system starts the call, the agent verifies the client, and the document never travels through the call.
The firm's system starts one call through the API Trigger, or a day's list as a campaign. Our post on API Triggers shows how a system starts a call with the client's details. The call opens with the Greeting Text, fixed words Dograh plays exactly as written, naming the firm and nothing about the matter. If you want to tell clients they're speaking with an automated assistant, or your location requires it by law, say that there as well.
A phone number does not prove who answered. Before the agent mentions the matter or the document, it asks for a check the firm approves, such as date of birth plus a reference the firm gave the client, and sends both to the firm's system through an HTTP API tool. If the check fails, the agent asks the client to call the firm and ends politely. Even a reminder can reveal that someone has a lawyer, which is part of why AI Voice Agents for Law Firm Intake treats every caller as confidential from the first sentence.
Once verified, the agent names the document and why the case needs it by a given date, both read from the firm's system. It asks whether anything is in the way. Then an HTTP API tool asks the firm's own system to send its secure upload link by text or email. Dograh sends no texts itself, and the agent never takes a document or reads its contents on the call.

The agent records the date the client promised, as the client stated it. When the call ends, a Webhook node writes the outcome and the reason to the case file, and Dograh retries it automatically on a temporary failure. Questions about the case go to a person: Transfer Call works on Twilio only and passes no summary, so the agent writes the question to the file first, and if nobody answers within the 30-second default, the caller stays with the agent; tell it in the prompt to offer a callback and write the request through an HTTP API tool.
A cadence that never feels like collections
Reminders work when they are few and stop on time, so the firm sets a cap and a stop rule. A sensible default is no more than one call per document per week, stopping when the document arrives.
Dograh's Campaigns have no per-contact call cap, so the firm's own list enforces that. Campaign retries can cover unanswered calls and voicemail, and a retry never calls back someone who answered. A contact cannot be removed from a running campaign; the campaign itself can only be paused and resumed, so a client who uploads overnight could still get the next morning's call. Starting calls from the firm's system through the API Trigger, or uploading a small fresh list each day, keeps finished files out.
Voicemail needs care. Anyone at that number may hear it, so the message gives only the firm's name and a callback number, never the matter or the document. In Settings, under "Enable voicemail and screening handling", set "When voicemail is detected" to "Leave a message" with that short text, or to "Disconnect the call".
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Consent and recording on client calls
Existing clients still need to agree to automated calls. This section is general information, not legal advice.
In its February 2024 ruling, FCC 24-17, the Federal Communications Commission confirmed that the Telephone Consumer Protection Act (TCPA) limits on "artificial or prerecorded voice" calls cover "current AI technologies that generate human voices". Such calls generally need the called party's prior express consent. The natural place to ask is the engagement letter, with the answer recorded in the firm's system. A client who asks on a call to stop is written to that system at once, because Dograh keeps no do-not-call list of its own.
Calls are recorded and transcribed, and transcripts keep everything said. So the agent never asks a client to read out a document or a password. If your state requires every party's consent to record, say in the greeting that the call is recorded. Confirm your own wording with counsel.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Where it runs and where to start
A reminder that names only the document and its due date carries few case facts, so it can run on Dograh Cloud or with your own model keys while privileged intake runs in-house. Start with one matter type that needs many documents, such as personal injury files waiting on medical records, and read the first week of transcripts for the reasons clients give.
Prospective clients are a different call: AI voice agents for legal appointment scheduling covers booking and consultation reminders. Self-hosted Dograh has no per-minute platform fee (servers, model keys and phone minutes still cost); Dograh Cloud has a 1¢-a-minute platform fee.
Glossary
- Secure upload link
- A one-client link from the firm's own document system for sending files. The voice agent asks the firm's system to send it; the document itself never passes through the call.
- Engagement letter
- The written agreement that starts the client relationship. It is the natural place to ask the client's consent to automated reminder calls and record it.
- Prior express consent
- Under the TCPA, the called party's permission before a call using an artificial or prerecorded voice. FCC 24-17 confirmed this covers AI-generated voices, so reminder calls generally need it.
- API Trigger
- A Dograh endpoint the firm's case system calls to start one outbound call with that client's details. Starting calls this way lets finished files drop out at once.

