AI voice agents for post-surgery follow-up calls in vet clinics phone the owner the day after surgery, verify them, then ask the vets' fixed questions, such as whether the pet is eating and how the incision looks. Answers are recorded as said. Worrying answers go to a vet technician, and the agent never gives medical advice.
Key Takeaways
- Your vets write the questions and the worry list, and the agent only asks and routes.
- Confirm the owner before naming the pet or the surgery.
- Worrying answers reach a vet technician, with the answers already written to the record.
This post is part of our guide to AI voice agents for veterinary clinics. The guide's section "Post-surgery follow-up: fixed questions" sums up this call in one line: it asks the clinic's fixed check-in questions, and any worrying answer goes to a vet technician, with no medical advice from the agent. Here is that call in full, run in Dograh, an open-source, self-hostable voice agent platform.
Why vet clinics make post-surgery follow-up calls
The first days at home are when problems show up, and a call catches them while they are small. A call-back procedure template from VetPracticePro sets a common rhythm: the vet calls the night of discharge, or a registered veterinary technician (RVT) calls 24 hours after surgery, and the technician calls again at 3 days.
An agent can make those routine calls on time, but it cannot judge the answers. The federal definition of a veterinarian-client-patient relationship expects the vet to be "readily available for followup in case of adverse reactions or failure of the regimen of therapy". The judgement stays with the vet and the technicians. The agent collects the answers and routes the worrying ones fast.
If your practice system already sends a text check-in, keep it, since Dograh has no SMS tool. A call suits bigger surgeries and owners who rarely answer texts.
Who gets called, and when
The call list comes from the practice management system (PMS), not from Dograh. Your system can start each call through the API Trigger 24 hours after that pet went home; the trigger dials at once. Or upload the day's discharges as a list to Campaigns. A campaign dials inside calling hours set in one time zone, and retries a missed call 0 to 10 times, 2 by default. The 3-day call is a second trigger or a second list.
Consent comes before the first call. The FCC's calling rule bars calls to a mobile number made "using an automatic telephone dialing system or an artificial or prerecorded voice" without "the prior express consent of the called party", and in February 2024 the Federal Communications Commission (FCC) ruled that AI-generated voices count as artificial voices. The rule's carve-outs for "health care" messages cover calls "made by, or on behalf of, a 'covered entity'" under HIPAA, and a vet clinic is generally not one. So ask for consent to follow-up calls at discharge. This is general information, not legal advice; confirm your position with counsel.
Dograh keeps no do-not-call list. When a caller opts out, an HTTP API tool writes it to your own list, and you remove those numbers before the next campaign upload. The do_not_call call tag records the request but never blocks a later call.
Voicemail handling is off by default. Turn it on under Voicemail & Screening in the agent's Settings, where "Disconnect the call" is preselected. If you choose "Leave a message" instead, keep it to the clinic's name and a number to call back. Never name the pet or the surgery in a voicemail, because anyone in the household can play it.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
How the call runs: verify, then the questions
The call opens with Greeting Text, the fixed line Dograh plays word for word as the call connects. It plays before anyone is verified, so it names the clinic and asks for the owner, nothing more: "Hello, this is Riverside Vet Clinic calling for {{owner_name | the pet's owner}}." If you want to tell owners they're speaking with an automated assistant, or your location requires it by law, say that there too.
Next comes the check. A phone number and the owner's name find the record, but neither proves who is speaking. So the agent asks for an approved check, such as the postcode on file or the last digits of the account number. Only after it passes does the agent name the pet and the surgery. If the check fails, or someone else answered, the agent leaves the clinic's number and says nothing about the pet.
Then come the questions. Your vets write them. A typical list asks whether the pet is eating and drinking, how the incision looks, whether there has been any vomiting, how much energy the pet has and whether the pain medicine was given as prescribed. Exact wording holds only where Dograh speaks fixed text, so write each question word for word in the node prompt and tell the agent to ask them in order, one at a time. It may still phrase a question slightly differently, so a QA node checks on the transcript that every question was asked.
Turn on Enable Variable Extraction on that node and add one variable per question. Extraction is an AI step: it records each answer as the owner stated it, while the transcript and recording keep the exact words.
Worrying answers go to a vet technician
Your vets also write the worry list: the answers that need a person today, such as a swollen or leaking incision, no food for a full day, repeated vomiting or a pet that will not get up. Put the list in the node prompt and tell the agent to treat any answer on it, and any answer it cannot place, as worrying. Spotting one is still the language model reading your list, and it can misread an answer, so test it with the way owners really talk.
On a worrying answer, the agent hands over. Transfer Call works on Twilio, Telnyx and Asterisk ARI. It passes no summary by default; on Twilio it can play a short spoken introduction to both people. Write the details to your system with an HTTP API tool before the transfer. Here that is a note in the PMS the technician will see.

Point Transfer Call at the technician line. If the technician on duty changes by shift, choose the resolver instead. The Transfer Call tool's Dynamic HTTP Resolver asks the clinic's system who is on call and dials that number. Have the system always return a number, falling back to a fixed one when no one is on the rota. If nobody answers, the caller stays with the agent; tell it in the prompt to offer a callback. The callback request is written through an HTTP API tool.
If the owner describes a sign on the clinic's emergency list, such as collapse or trouble breathing, the call moves to an emergency pathway whose Transition Speech plays the clinic's fixed line: "If your pet is having an emergency, please call your nearest emergency vet now." Never tell an owner to call 911 about a pet. AI voice agents for after-hours vet triage calls covers that line and the on-call path in full.
If the owner asks whether something is normal, a pathway plays a fixed line as Transition Speech, "I can't advise on that, but I can put you through to our veterinary team," then transfers. Hospitals use the same pattern for people, set out in AI voice agents for post-discharge follow-up.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
After the call: the record and the review
After every call, the Webhook node sends the answers, the outcome and the transcript link to your PMS, so the 3-day call starts from what the owner said.
Read every call that reached a technician, and run QA on a random sample of the rest. QA scores each step of the call separately, so a skipped question shows up on the step where it happened. Automated QA for voice agents explains how to set the sample.
Self-hosting keeps owner data, recordings and transcripts on servers the clinic or group runs. Dograh is the orchestration layer: it runs the call flow, tools and telephony, and the speech and language models are a separate layer you choose. The call audio stays in-house only when the speech and language models run on your own servers too. 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
- Worry list
- The answers the clinic's vets mark as needing a person the same day, such as a swollen incision or no food for a full day. The agent only recognises them and routes the call; the list itself is the vets' decision.
- Registered veterinary technician (RVT)
- The clinic technician who usually makes post-surgery call-backs. In this setup, worrying answers are put through to the technician line, with the owner's answers already written to the practice system.
- Transition Speech
- Fixed text or a recorded clip that Dograh plays word for word when a call moves along a pathway. It carries the lines that must never change, such as the emergency vet line or the no-advice line.
- Veterinarian-client-patient relationship (VCPR)
- The federal standard in 21 CFR 530.3(i) for when a vet knows an animal well enough to make medical decisions about it. It includes being readily available for follow-up, which is why judging a recovery stays with the vet.

