Dograh

AI Voice Agents for Attendance & Absence Notification Calls: Ask Why

AI Voice Agents for Attendance & Absence Notification Calls: Ask Why
Use CaseOctober 29, 2026·8 min read

AI Voice Agents for Attendance & Absence Notification Calls: Ask Why

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

AI voice agents for attendance and absence notification calls phone a parent after an unexplained absence, verify the parent or guardian, then name the child and ask for the reason. They run a line where parents report absences. The agent records the reason as stated in the student information system and never decides whether an absence is excused.

Key Takeaways

  • The greeting names only the school. The child's name waits for the check.
  • The agent records the reason as stated and never decides excused or unexcused.
  • Unexcused-absence calls count as emergency calls under the FCC's school ruling.

This post is part of our guide to AI voice agents for K-12 schools and districts. Below, we cover the one rule for calls in both directions, which is to verify the parent before naming the child. Then we walk through each call in Dograh, the open-source AI voice agent platform we build.

Why the same-day absence call matters

An unexplained absence is a question the school needs answered the same day, and only a parent can answer it. The call matters most for the other times, when a child left home and never reached school. Some states set the deadline in law. Oregon's absence notification law asks schools to tell a parent about an unplanned absence by the end of that school day, and Florida's attendance statute asks the principal or a designee to contact the parent after each unexcused absence, or one with no known reason, to find out why.

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. A call does not fix that alone. It puts each day's reason on record, so attendance staff can see a pattern early. Spotting the pattern, such as Florida's five unexcused absences in a month, is the school's job, never the agent's.

When the school calls home

The outbound call starts from the student information system (SIS) once attendance is entered. When a teacher marks a student absent and no reason is on file, your SIS or middleware calls Dograh's API Trigger with the parent's phone number and an initial_context holding the student's first name and school, plus the family's home language so the agent greets in it. A parent who already reported the absence never gets the call, because the SIS already has a reason.

A daily list is the simpler option. Export the unexplained absences as a CSV after attendance closes and upload it to Campaigns. A CSV is fixed when you upload it, so a parent who calls in after that still gets called. Keep the upload close to the calling time.

Campaigns add settings the API Trigger does not have. Calling hours are off by default. Once on, they run by weekday in one time zone per campaign. Retries run from 0 to 10, 2 by default, with a delay between 30 seconds and an hour, and "Retry on voicemail" starts switched on. Campaigns have no per-contact call cap, so your own list sets how often a family is called.

By default, 10 calls run at the same time. Self-hosted, you can raise that with DEFAULT_ORG_CONCURRENCY_LIMIT, or spread the calls across the morning. 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.

Dograh

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 absence

The call opens with Greeting Text, fixed words Dograh speaks as the call connects, and those words name the school and nothing else.

Leave the child's name out of the greeting, because whoever answers hears it, whether a sibling, a babysitter, a grandparent or the student. If you want to tell parents 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.

Next the agent asks for the parent or guardian by name. That only finds the right person. It does not verify them. So the agent asks for the district's approved check, such as a family PIN set at enrollment, and the parent says it aloud. An HTTP API tool sends the answer to the SIS, which replies pass or fail. If the check fails, the agent asks the parent to call the school and says nothing about the student. AI Voice Agents by Use Case uses the same greet, verify, disclose order for every call type.

This is stricter than many older autodialer messages, which name the child to whoever picks up. FERPA's definitions leave a student's daily attendance out of directory information, so today's absence is part of the education record. Verifying first is generally the safe default, and a voice agent can do it because it can ask a question before it says anything.

Once the check passes, the agent names the child and the date and asks for the reason and the expected return date. It records the reason as the parent stated it. The transcript and recording stay the exact record. The agent never decides whether the absence is excused. That follows your attendance policy. A second tool writes the reason to the SIS during the call.

When a parent says the child should be at school

One answer changes the whole call: "But she left for school this morning." Give that answer its own pathway. When the parent's words match it, Transition Speech plays fixed words, such as "I'm connecting you to the school office right now." The agent writes the parent's words and the time to the office system, and Transfer Call 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 note is 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. For anyone in danger, the fixed words are "get to safety and call 911". For a medical emergency, they are "hang up and call 911."

The inbound absence line

The inbound line is the same record from the other side, when a parent calls to report an absence before the school has to ask.

A school voice agent between two parents. One parent calls in to say their child is sick, and the absence is written to the attendance record with a return date. The agent calls the other parent about an absence with no reason on file, the parent passes a family PIN check, and the reason they give goes into the same record.
The agent writes down the reason as the parent states it and never decides whether an absence is excused. That stays with attendance staff. A parent who already reported on the inbound line never gets an API Trigger call, because the record already holds a reason. A list uploaded before they called still dials them.

One agent can serve every school in a district. Several phone numbers can point at the same agent through each number's "Inbound workflow" setting, and the dialled number reaches Pre-Call Data Fetch as to_number, so the agent knows which school was called. The same fetch looks up the calling number and finds a likely family.

The agent takes the report, with the reason as the parent states it and the expected return date, reads it back and writes it to the SIS. It confirms nothing the parent did not say. It never answers "yes, Maya is in Room 4" or "she was marked late yesterday". A report from a number that is not on the student's contact list is still taken, and flagged for the office to confirm.

Voicemail handling is off by default, and when you turn it on, the message carries the school's name and a number to call back.

In the agent's Settings, choose "Leave a message" under "When voicemail is detected". A text message is filled in with the call's variables like any other line, so never type the student's name into it. Anyone in the household can play it. Our post on fee and payment reminders in education follows the same rule for balances.

Consent depends on what the call is for. The FCC's 2016 ruling on school calls treats a call about an unexcused absence as having an emergency purpose, because it may concern a child who never arrived at school or left it. So a same-day unexcused-absence call to a parent's mobile number generally needs no prior consent. An attendance-improvement campaign for students who miss school often is not an emergency, and generally relies on the consent a parent gave by sharing the number with the school.

Parents can take that consent back in any reasonable way, including by saying so on the call. The agent writes the opt-out to the SIS, the next list leaves the number out, and counsel can confirm the rest of your calling rules.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Glossary

Unexplained absence
A student marked absent with no reason on file when attendance is entered. It is what triggers the same-day call, and a parent's report on the inbound line removes it before the call goes out.
Approved check
The district's own way to confirm a caller is the parent or guardian, such as a family PIN set at enrollment. The parent says it aloud, an HTTP API tool asks the SIS, and the agent hears only pass or fail.
Education record
Under FERPA, a record directly related to a student and kept by the school. Daily attendance is part of it, not directory information, which is why the agent names an absence only after the approved check.
Emergency purpose
The TCPA exception for automated calls placed without prior consent. The FCC's 2016 ruling puts school calls about unexcused absences inside it. Attendance-improvement campaigns rely on the consent given with the number instead.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.