What it does
No-Show Guard is a Python application that automates appointment confirmation calls for small businesses — clinics, salons, and other service providers. It places outbound confirmation calls roughly 24 hours before an appointment using CALL-E, lets the customer Confirm, Reschedule, or Cancel through a natural conversation, and logs the structured outcome to a local SQLite database with an auto-generated daily summary report.
Why we built it
Missed appointments cost small businesses real money and time. Staff often don't have the bandwidth to manually call every customer to confirm. No-Show Guard automates that entire workflow.
How we built it
The app is a small, installable Python package:
- call_agent.py — integrates with the official
calle-aiSDK, callingCalleClient.calls.create_and_wait()at runtime with a configurable task prompt and an enforcedresult_schema. - scheduler.py — picks appointments due for a confirmation call (~24 hours out), plus any no-answer retries (max 2, 2 hours apart).
- db.py — stores appointments and call outcomes in SQLite.
- report.py — generates a daily summary (console table + CSV).
- prompts.py — the agent's call script and structured result schema, kept in one place so the agent's behavior is easy to tweak.
Challenges we ran into
Debugging outbound call behavior on a new beta platform was the biggest challenge — working through phone number formatting (E.164), understanding the call lifecycle, and confirming outcomes via the CALL-E dashboard and raw call records. We verified the full pipeline end-to-end with real phone calls before submitting.
What's next
- Configurable business hours / call windows
- SMS fallback for no-answer appointments
- Multi-language prompt support
Log in or sign up for Devpost to join the conversation.