AI voice agents for K-12 schools and districts answer parent calls about absences, enrollment, buses and the calendar, and place same-day absence calls. General answers come from district documents. Anything about one student waits until the parent or guardian passes the district's own check, and nurse, custody, safety and discipline calls go to staff.
Key Takeaways
- A phone number finds the family. Only the district's approved check verifies the caller.
- A daily absence is part of the education record, so verify first.
- Self-hosting with open-weight models keeps student call data on district servers.
This guide covers the district calls a voice agent can take and the privacy and calling rules behind them. We show how each runs in Dograh, the open-source AI voice agent platform we build, which reads your student information system. You can self-host it or run it on Dograh Cloud.
What a district phone line hears
Most calls to a school or district line fall into a short list, and almost every one ties back to the student information system (SIS). Parents call to report an absence, ask which documents registration needs, check a bus route, find out whether school is open, reach the nurse or change who picks a child up after school. Some of these anyone may ask. Others are about one child, and those need the SIS.
The agent never answers a student question from memory. During the call, an HTTP API tool asks the SIS, or the middleware in front of it, for exactly what the call needs, and the agent says only what comes back. A second tool writes back what the parent reported. Dograh has no built-in SIS connector, so each tool points at an API your SIS or middleware already offers. Pre-Call Data Fetch can look up the family by the calling number once the call connects, and the caller hears ringing meanwhile. That finds a likely family. It does not prove who is calling.
Attendance is where most districts start. AEI's Return to Learn Tracker found chronic absenteeism held at 15% nationally in 2018 and 2019, stood at 24% in 2024 and improved by less than one percentage point in 2025 in the states with data for that year. Behind each of those students is a string of single absences, and someone at the school has to find out the reason for every one.
General questions and questions about one student
Every call splits into two kinds, questions anyone may ask and questions about one student. General questions come from the district's own documents. Upload the calendar, bell times, registration checklist and bus policy to the Knowledge Base as PDF, DOCX, DOC, TXT or JSON files, up to 5 MB each. The agent answers these before any check, because nothing in them is about a child.
Questions about one student follow the Family Educational Rights and Privacy Act (FERPA). Under FERPA's rule on disclosing records, a school must use reasonable methods to confirm a parent's identity before it shares personal information from a student's education records. FERPA's definitions leave a student's daily attendance out of directory information, so today's absence is part of the education record. Generally, that means the agent confirms who it is talking to before it names the child or the absence.
The check is the district's own. A phone number or the parent's name only finds the family. So the agent asks for something a stranger would not know, such as a PIN the family set at enrollment or details on file, and the parent says it aloud. The agent sends the answer to the SIS, which replies pass or fail. Tools attach to each step of the call flow separately, so put the tools that read a student's record only on the step after the check.
Passing the check does not settle which parent may hear what. FERPA's rule on parents' rights gives either parent full rights unless the school has a court order or other legally binding document that says otherwise. The agent never decides custody. If the SIS flags a restriction on the student, or the caller is not on the student's contact list, the call goes to the office. Colleges work differently, because the rights sit with the student. AI Voice Agents for Edtech and Universities covers that case.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Attendance and absence calls, both ways
Attendance runs in two directions. The school calls home about an unexplained absence, and parents call in to report one.
The outbound call starts once attendance is entered in the SIS. The Greeting Text names only the school, because whoever answers hears it. The agent asks for the parent, runs the check, and only then names the child and asks for the reason. It records the reason as the parent stated it and never decides whether the absence is excused. That stays with the school's attendance staff.
The inbound line takes the same record from the other side. A parent calls to say a child is sick, and the agent writes the absence, with the reason as stated and the expected return date, to the SIS. It confirms nothing about the student that the parent did not say.
If an outbound call reaches voicemail, the message holds only the school's name and a number to call back. AI voice agents for attendance and absence notification calls covers both call flows, retries and the same-day rules some states set.
Enrollment, buses and the school calendar
Enrollment season brings the most general questions, and the district's documents answer most of them. A family moving into the district wants to know which documents registration needs and when the next registration window opens. The Knowledge Base answers all of that with no check. If your district offers an address lookup for school zones, the agent can ask it during the call, so the agent reads back the school your system returns instead of guessing from a map.
Bus questions split the same way as everything else. Route policy, eligibility distances and late-bus rules come from documents. A specific child's stop or pickup time is a student question, so it waits for the check and comes from the SIS or the transport system.
Some enrollment calls need a person from the start. A family without stable housing has rights under the McKinney-Vento Homeless Assistance Act, and those conversations belong with the district's liaison. A parent with custody papers to file needs the registrar. In both cases the agent writes the caller's details to your system and transfers the call or books a callback.
Calls that always go to a person
Some calls the agent never handles itself. These are the nurse and anything about health, pickup and custody changes, safety concerns, and discipline.
Each of these gets its own pathway in the call flow. When the caller's words match it, Transition Speech plays fixed words, such as "I'm connecting you to the school office now." Use a recorded clip instead if the agent runs on a speech-to-speech model, where text transition lines do not play. Choosing the pathway is the language model reading its written condition, so test it with real phrasing from parents.
The hand-off then follows a fixed order. The agent writes the caller's words and the time of the call to your system. Transfer Call then hands the call over on Twilio, Telnyx, Plivo, Cloudonix or Asterisk ARI. Dograh calls the destination first and connects the caller only when someone answers. On Twilio, it can play a short spoken introduction to both people before connecting them. No summary goes with the call by default, which is why the details are written first. If nobody answers within the 30-second default, the parent stays with the agent. Tell it in the prompt to give the office's direct number and write an urgent callback request to your system.
A pickup change is a request the office approves. The agent never grants it. Emergencies get fixed words too. For a medical emergency, the line is "hang up and call 911." For anyone in danger, such as a threat or a fire, it is "get to safety and call 911." AI Voice Agents for Student Support shows the same pattern for a crisis line.
Closure days and the calls that follow
Closure and emergency alerts go out from the district's mass-notification system, and the voice agent takes the calls that come back.
Dograh has no SMS tool and is not built to blast a whole district. It runs 10 concurrent calls by default. Self-hosted teams can raise that with DEFAULT_ORG_CONCURRENCY_LIMIT, with servers and the phone provider setting the practical ceiling, and Dograh Cloud customers who need more than 10 can ask the team for more.
The agent helps with the rush of questions after the alert, such as whether the bus is running or when the doors open tomorrow. Keep the day's status on a page or endpoint your team updates, and let the agent read it during the call. The answer then changes the moment the notice does.
Families who speak other languages
Many district families speak a language other than English at home, and the agent can answer them in it. In the agent's Model tab, set the language to "Multilingual (Auto-detect)". The Language Hints below it cover English, Spanish, French, German, Hindi, Italian, Japanese, Dutch, Portuguese and Russian, and they work only with Dograh's models or Deepgram Flux. Greeting Text plays before Dograh can hear the caller's language, so write it in both, for example "Hello, hola".
For languages outside that list, such as Vietnamese or Haitian Creole, check your speech-to-text and voice providers' own language pages before promising them to families. If the agent is unsure which language it heard, it should ask a short question offering the likely choices, and transfer to bilingual staff when it still cannot tell. Add school names, program names and local street names to the agent's Dictionary in Settings, so speech-to-text spells them right.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Calling rules for school calls
Calls from a school fall under the Telephone Consumer Protection Act (TCPA), and the Federal Communications Commission (FCC) has said how the law applies to schools.
The FCC's 2016 ruling on school calls lets a school place automated calls to a family's mobile number without prior consent when the call has an emergency purpose, such as a weather closure, a fire, a health risk, a threat or an unexcused absence. A message is not an emergency just because a school sends it. Other calls rely on the consent a parent gives by handing over the number, and that consent covers calls closely related to the school's educational mission or official activities. The FCC also encourages schools to tell families the full range of calls they may receive, and a parent can take consent back in any reasonable way, spoken or written.
The same rules reach a voice agent's calls. In its February 2024 ruling, the FCC said AI-generated voices count as artificial voices under the TCPA.
In practice, a same-day absence call generally sits inside the emergency purpose, while an attendance-improvement campaign or an event reminder needs the consent given with the number. A parent who says "stop calling me" on a call has opted out. The agent writes that to the SIS, and your next call list leaves the number out.
If you want to tell callers they're speaking with an automated assistant, or your location requires it by law, write it in the Greeting Text along with the school's name, and have counsel confirm your calling rules.
Where student call data goes
The fewer companies that hear a parent's call, the easier FERPA's test for outside providers is to meet. FERPA lets a school share records with an outside provider as a school official only when, among other conditions, the provider is under the school's direct control in how it uses and keeps those records. On a hosted voice platform, a parent's call is heard by the platform, a speech-to-text company, a language model company, a voice company and the phone carrier. Each one generally has to fit inside that test. Bringing your own keys (BYOK) to a hosted platform changes whose contract covers the models, not where the audio goes.

The count drops when the platform and the models run on servers the district controls. Self-hosted, student data never reaches Dograh. As the orchestration layer, Dograh runs the call flow, tools and telephony, and the speech and language models are a separate layer you choose. To keep the audio in-house, run open-weight models on your own servers, such as Qwen3.8 27B for language, Parakeet TDT 0.6B v2 for speech-to-text and Magpie TTS for the voice. The phone carrier stays on the call either way, and so does your cloud provider if the servers run in one. The self-hosting guide covers the install.
Recordings and transcripts need a plan of their own. Dograh has no retention setting and deletes nothing automatically, so your team deletes old calls from its own storage on the district's schedule. Self-hosted, recording can be switched off only server-wide, and transcripts are still saved. Call-Recording Consent Laws and How to Configure Your Agent covers when a recording needs consent. Check your own data privacy agreement and FERPA obligations with counsel before any vendor handles student records.
Which school call to automate first
Start with general questions answered from district documents, because they need no check and carry no student data. Next, add the inbound absence line, which writes to the SIS but tells the caller nothing new. Outbound absence calls come last, once the check works on a real phone line. Test there rather than in the browser, because most phone calls still reach the agent as 8 kHz audio while a browser test runs at 16 kHz, and browser tests cannot run Transfer Call. 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.
The attendance call above has its own deep dive:
Glossary
- Student information system (SIS)
- The district's system of record for enrollment, attendance, contacts and schedules. Every answer about one student should be read from it during the call, after the caller passes the district's check.
- Education record
- Under FERPA, a record directly related to a student and kept by the school. A student's daily attendance is part of it, not directory information, so naming today's absence to an unverified caller generally counts as sharing it.
- Emergency purpose
- The TCPA exception that lets a caller place automated calls without prior consent. The FCC's 2016 ruling names school calls about closures, threats, health risks and unexcused absences. Routine announcements do not qualify.
- Direct control
- FERPA's condition for treating an outside provider as a school official: the school controls how the provider uses and keeps education records. Every company that hears or stores a parent's call generally has to meet it.

