What happens mid-call
When a caller says "I'd like to book a cleaning," Salva:
- Looks up the typical duration for "cleaning" in your Services tab (e.g., 60 minutes).
- Calls OpenDental's appointment-slot API for the next N days (your booking window).
- Filters down to slots that fit a 60-minute block during business hours.
- Offers two or three options out loud.
The whole thing takes under 3 seconds.
The booking window
Under Settings → Integrations → Booking window, you set how many days ahead Salva can look. Options are 3, 7, or 14 days, defaulting to 7.
Salva can only offer slots within the next 3 days. Good for practices with very tight schedules or same-week booking workflows.
Most practices work well with 7 days — enough runway to find availability without booking so far ahead that patients forget.
How services map to durations
Each entry in your Services tab has a name and a typical duration (e.g., "New patient exam — 90 minutes"). When the caller asks about a service, Salva uses that duration to size the slot query.
If a service has no duration set, Salva falls back to 60 minutes. Get this right during the onboarding flow — accurate durations mean fewer double-books and tighter scheduling.
What the AI never offers
Salva never offers:
- A slot that doesn't fit the service's duration
- A slot outside your configured business hours
- A slot already booked in OpenDental
- A slot on a holiday or closed day (per your hours config)
This is enforced at the query layer — not relying on the AI to "know" the constraints.
When there are no slots
If the query returns zero matches, Salva tells the caller honestly and offers a callback instead of inventing a time. The most common reason for zero slots is that no provider schedules have been set up in OpenDental — see OpenDental provider schedule setup for the fix.
Published May 6, 2026