Smart Schedule¶
Smart Schedule is WFM's automatic schedule generation feature. It uses an AI optimisation algorithm (Timefold) to assign employees to shifts while respecting all constraints - needs, contracts, skills, and preferences.
How it works¶
Smart Schedule:
- Creates the day structure for the entire period
- Loads staffing requirements (needs) for each day
- Runs the optimisation algorithm to find the best assignment
- Assigns employees to shifts while satisfying requirements and respecting contracts
The algorithm considers:
- Staffing needs (minimum agents per skill per time slot)
- Employee contracts (working hours, days, breaks)
- Skills and proficiency levels
- Shift constraints (valid days, employee allowlists)
- Minimum rest periods between shifts
- Employee preferences (if configured)
Generate a schedule¶
- Open the schedule detail (created via Creating a Schedule).
- Click the Smart Schedule button in the top bar.
- Wait for the calculation to complete (typically a few seconds).
- Review the generated schedule.
The schedule is now in Calculated state with shifts assigned to employees.
What Smart Schedule considers¶
Needs¶
Smart Schedule tries to satisfy all defined needs. If a need requires 5 agents with the Sales skill from 9:00-17:00, the system assigns shifts to meet this requirement.
Contracts¶
The system respects all contract constraints:
- Maximum hours per day/week/month
- Working days
- Required breaks
- Minimum rest periods
- Holiday and night shift permissions
Skills¶
Employees are assigned to shifts based on their skills. The system matches employee skills with the needs' required skills.
Skills combinations¶
If employees have skills combinations defined, the system can assign multiple skills to a single shift, reducing the total number of required shifts.
Shift constraints¶
The system only uses shifts that are:
- Active and valid for the period
- Allowed at the workplace
- Permitted for the specific employee (if a whitelist is defined)
After generation¶
Once Smart Schedule completes, you can:
- Review the schedule in the grid view
- Make manual adjustments by dragging shifts or editing cells
- Validate the schedule to check for constraint violations
- Fill gaps to add more shifts where needs aren't fully met
- Publish when the schedule is ready
Fill Gaps¶
If you make manual changes and some needs are no longer satisfied, use Fill Gaps to add shifts only where needed.
- Click Fill Gaps in the right panel.
- The solver adds shifts to cover unmet needs.
- Existing assignments are preserved.
This is useful for incremental adjustments without regenerating the entire schedule.
Regenerate Needs¶
If staffing requirements change after you've started scheduling:
- Click Regenerate Needs in the right panel.
- The system reloads needs from the current definitions.
- Run Smart Schedule or Fill Gaps again.
Validation¶
The right panel shows validation results. The system checks:
- Contract compliance (hours, breaks, rest periods)
- Need coverage (are all requirements met?)
- Skill requirements (do assigned employees have the required skills?)
Validation errors are highlighted and should be resolved before publishing.
Tips¶
- Define realistic needs - overly strict requirements may make it impossible to find a valid schedule.
- Make sure contracts accurately reflect actual working conditions.
- Use skills combinations to allow more flexibility in shift assignments.
- Review and adjust the generated schedule before publishing.
- If the algorithm can't satisfy all needs, consider adding more employees or adjusting requirements.
Troubleshooting¶
| Issue | Solution |
|---|---|
| Schedule generation takes too long | Reduce the number of employees or simplify constraints |
| Needs not fully covered | Add more employees with the required skills, or reduce the need minimums |
| Contract violations | Adjust contracts or reduce assigned shifts |
| No shifts generated for an employee | Check that the employee has assigned skills and allowed shifts |