The Duty Schedule module manages on-call rotations, routes urgent notifications to the right personnel, and gives voice agents the ability to reach on-duty staff automatically during a call.
A schedule entry assigns a staff member to an on-call window. Each entry has a start and end date/time, a priority (lower number = higher priority), and links to a personnel record.
When multiple people overlap in a window, they are all considered on-duty and ordered by priority.
The personnel roster stores staff members with first name, last name, email, phone, and specialties. Phone numbers are used for SMS notifications from voice agents.
Specialties are labeled skills or roles (e.g. HVAC, Electrical, Network Security) assigned to personnel. Voice agents can request a specific specialty when sending a notification, and the system will prefer personnel who have that specialty.
When a voice agent uses the duty-notify-confirm tool, the system:
Plain-text scheduling rules are stored per tenant and injected into the AI assistant's system context on every conversation. This lets teams encode recurring policies (e.g. "Always contact the HVAC-specialty technician first for heating or cooling issues") without repeating them in every message.
The assistant proactively suggests saving policies it detects in conversation.
Three tools are available for voice agents to interact with the Duty Schedule module. They can be enabled per campaign in the campaign settings under the Tools tab.
| Tool | Purpose |
|---|---|
duty-check |
Look up who is currently on duty |
duty-notify |
Send a notification to on-duty staff (fire and forget) |
duty-notify-confirm |
Send a notification and track SMS confirmation with escalation |
See Voice Agent Tools for full parameter and response documentation.
duty-notify-confirm flow.