Inspiration
After a disaster or outage, someone has to phone every affected resident to confirm they're safe. It's slow, manual, one-line-at-a-time work, and the most vulnerable people end up waiting the longest. We wanted an agent that could make those calls at scale and get help moving on its own.
What it does
TriageLine places welfare-check calls to many residents at once through CALL-E, asks whether they're safe and what they need, verifies and triages the answers by urgency, and automatically escalates anyone in trouble to a follow-up call with a GP. It also handles a dependency-chained referral flow (clinic to GP to insurer to booked) where each call reveals the next step.
How we built it
The core is a call-graph engine in TypeScript that runs two topologies over one executor: fan-out (many independent calls in parallel) and chain (each call's result spawns the next). On top of CALL-E we added three layers: verification (gates on confidence and checks that claims appear in the transcript), a consent policy (never agree to a fee, halt and flag if one comes up), and language auto-retry (re-dial in another locale on a language barrier).
Challenges we ran into
The main challenge was testing at scale with real phone calls. Real calls cost from a limited quota, take minutes each, and aren't repeatable, which made it impractical to exercise every path (voicemail, language barrier, low confidence, escalation) live. We validated the integration with a few genuine CALL-E calls and confirmed the full flow works end to end, then built a mock CALL-E client so we could demonstrate the multi-recipient orchestration at scale without burning the quota. The live and hybrid modes still place real calls.
Accomplishments that we're proud of
One engine cleanly drives two very different call topologies. The verification layer means we never trust a result blindly, the policy layer enforces real consent boundaries, and a welfare check doesn't just log a problem, it escalates and acts on its own. The whole thing is watchable live as the agent reasons.
What we learned
CALL-E handles the hard telephony (IVR, hold, voicemail, multilingual conversation), which let us focus on the layer that adds value: deciding who to call, trusting what comes back, and acting between calls. We also learned to design for a no-call default, so the system is safe to develop and demo without side effects.
What's next for TriageLine
A live dependency-graph visualization, richer human-in-the-loop actions (retry, reassign), and confirming local phone lines for more regions with the CALL-E team so it can run real welfare campaigns at full scale.
Log in or sign up for Devpost to join the conversation.