Schedule Management
Schedule Management
This guide is a deep dive into Slotflow’s scheduling system — availability rules, schedule overrides (blocks and opens), and recurrence patterns. By the end, you’ll know how to model any real-world scheduling scenario.
The two layers
Slotflow uses a two-layer scheduling model:
- Availability rules — the base weekly schedule (e.g., “Monday-Friday, 9am-5pm”)
- Schedule overrides — exceptions to the base schedule (vacations, overtime, recurring meetings)
The slot engine combines both layers to compute what’s actually available on any given day.
Setting availability rules
Availability rules define the human’s repeating weekly schedule:
Important details:
- Times are in the human’s timezone (set when creating the human). Slotflow handles UTC conversion and DST automatically.
meeting_durationscontrols what durations agents can book. If a human only takes 30-minute meetings, set[30].- This is a full replace — send all fields every time. There’s no partial update.
Common availability patterns
Standard 9-5 weekdays:
Part-time (Mon/Wed/Fri mornings):
Full week including weekends:
Schedule overrides
Overrides handle everything the base schedule can’t — vacations, holidays, recurring internal meetings, overtime, special events.
Block overrides (remove availability)
All-day vacation
Date ranges are stored as a single override, not one per day.
Time-specific block
Block a 2-hour window on a specific date:
The human is still available the rest of the day — only the 2-4pm window is blocked.
Recurring weekly block
Block every Tuesday 2-3pm for a team standup:
The start_date is when the recurrence begins. The override applies every Tuesday from that date onward.
Bi-weekly block
Block every other Monday morning for sprint planning:
Monthly block
Block the first Friday of every month for an all-hands:
Open overrides (add availability)
Open overrides let you add availability outside the base schedule — weekends, evenings, or any time that isn’t covered by the weekly rules.
Saturday overtime
If the human’s base schedule is Monday-Friday, this adds Saturday 10am-2pm every week.
One-time evening event
One-time availability on April 10th from 6-8pm, outside normal working hours.
How overrides interact with base schedule
The slot engine evaluates overrides in this order for each day:
- All-day blocks — if matched, the entire day is skipped (no slots generated)
- Base schedule — generate candidate slots from working days/hours
- Time-specific blocks — remove slots that overlap with block windows
- Open overrides — add extra slots from open windows (even on non-working days)
- Deduplication — remove duplicate slots if open windows overlap base schedule
- Booking conflicts — filter out slots occupied by confirmed bookings
Block overrides always take precedence over the base schedule. Open overrides add availability regardless of the base schedule.
Managing overrides
List all overrides for a human
Delete an override
Deleting an override immediately changes slot availability. If you delete a block, those time slots become bookable again.
Real-world example
Here’s a complete setup for a sales rep named Sarah:
With this setup, Sarah’s availability for a typical week looks like:
- Monday: 9-5pm (minus 9-10am on bi-weekly Mondays for pipeline review)
- Tuesday: 9-2pm + 3-5pm (team standup blocks 2-3pm every week)
- Wednesday-Friday: 9-5pm (full base schedule)
- Saturday: 10am-1pm (overtime window)
- Sunday: No availability
Key takeaways
- Availability rules are your base weekly schedule — set them once, they repeat forever
- Block overrides remove time — use for vacations, holidays, internal meetings
- Open overrides add time — use for overtime, special events, weekend hours
- Date ranges are single rows — a 2-week vacation is one override, not 14
- Recurrence handles repeating patterns — weekly standups, bi-weekly sprints, monthly all-hands
- Blocks win over base schedule — an all-day block cancels everything, including open overrides for that day