Skip to main content

AI Schedule Generation

The AI Schedule Generation feature uses artificial intelligence to automatically fill open shifts on your schedule. Instead of manually assigning each employ...

Written by Ryan VanVuren

The AI Schedule Generation feature uses artificial intelligence to automatically fill open shifts on your schedule. Instead of manually assigning each employee to each shift, AI analyzes your team's availability, hours preferences, roles, and your optimization priorities to generate a complete schedule in under a minute.

Uploaded image

The AI Schedule Generation button appears in your schedule calendar header.


Who Can Use AI Scheduling?

AI Schedule Generation is available to stores on a Premium or Premium+ subscription.


How It Works

AI scheduling follows a simple three-step flow: Configure, Generate, Review & Apply.

  1. You tell the AI what matters most (cost, fairness, coverage, seniority)

  2. The AI analyzes all open shifts, employee availability, hours targets, and role qualifications

  3. You review every suggestion before anything is applied to your schedule

Tip: AI will never overwrite shifts you've already assigned manually. It only fills open (unassigned) shifts.


Step 1: Open the AI Configuration

  1. Navigate to the Schedule Calendar and select the week you want to schedule

  2. Click the Generate with AI button in the calendar header (robot icon)

Uploaded image

The configuration modal opens with your generation settings.


Step 2: Configure Your Priorities

Uploaded image

The configuration modal has several sections:

Usage Counter

At the top, you'll see how many AI runs you've used this pay period. The default limit is 5 runs per pay period, which resets automatically.

Schedule Week

This shows which week will be scheduled (matching your calendar selection) and how many open shifts need to be filled. This is informational and cannot be changed here — navigate to a different week on the calendar to change it.

Optimization Priorities

This is the most important setting. Drag and drop the four priorities to rank them from most to least important:

Priority

What It Does

Labor Cost

Assigns lower-rate employees when possible to minimize payroll

Hours Fairness

Distributes hours evenly so everyone gets close to their requested hours

Seniority

Prefers employees with more tenure for shift assignments

Position Coverage

Ensures each shift is filled by someone qualified for that role

The item at the top (rank 1) gets the highest weight. Drag the handle on the left side of each item to reorder.

Tip: For most stores, keeping Position Coverage in the top two ensures you always have the right roles covered. Pair it with Labor Cost to optimize spending, or Hours Fairness to keep your team happy.

Custom Instructions (Optional)

Add any special considerations in the text box (up to 500 characters). For example:

  • "Sarah prefers morning shifts"

  • "Need extra coverage on Saturday"

  • "Don't schedule new hires for opening shifts"

The AI reads these instructions and factors them into its decisions.

Owner Scheduling

By default, store owners are excluded from AI scheduling. Use the toggle switches to include specific owners. Each owner shows their availability status:

  • Available — Has open capacity for the week

  • Partial — Available some days but not others

  • Unavailable — At max hours or no availability set

  • No Data — No availability records exist

Additional Options

  • Email me when schedule is ready — Get notified when generation completes (useful if you navigate away)

  • Save these settings as defaults — Your priorities, custom instructions, and owner preferences will be remembered for next time


Step 3: Generate the Schedule

Click Generate Schedule to start. The modal closes and a status indicator appears in the calendar header showing "AI is generating schedule..."

Uploaded image

Generation typically takes 30-60 seconds. You can:

  • Continue working on other tasks

  • Navigate to other pages

  • The schedule will be ready when you return

If you need to stop a generation in progress, click the X button next to the status indicator.

Tip: If you already have AI-generated shifts for this week and generate again, you'll see a warning that existing AI assignments will be replaced. Manually-assigned shifts are never affected.


Step 4: Review AI Suggestions

When generation completes, the AI Schedule Suggestions panel opens automatically. If you navigated away, return to the schedule calendar and the suggestions will load.

Uploaded image

Summary Statistics

At the top, four metrics give you a quick overview:

Metric

Description

Shifts Filled

How many open shifts the AI successfully assigned

Remaining Open

Shifts the AI couldn't fill (no qualified/available employees)

Total Hours

Combined hours across all suggested assignments

Est. Labor Cost

Projected labor cost for the suggested assignments

AI Schedule Summary

Below the stats, the AI provides a plain-English explanation of its key decisions. This might include which priorities drove the assignments, why certain shifts couldn't be filled, and notable scheduling choices.

Uploaded image

Hours Distribution

Click the expand arrow to see a breakdown of hours per employee:

Column

Description

Employee

Team member name

Existing Hours

Hours already on the schedule from manual assignments

+New Hours

Additional hours from AI suggestions

Total

Combined hours for the week

OT Hours

Any overtime hours (highlighted if applicable)

This helps you spot potential overtime issues before applying the schedule.

Day-by-Day Assignments

Assignments are organized into tabs for each day of the week (Mon through Sun). Each tab shows a badge with the number of assignments for that day.


Step 5: Review Individual Assignments

Each assignment card shows:

  • Employee name and role badge (e.g., Cashier, Buyer, Shift Lead)

  • Shift time and duration

  • Estimated labor cost for that shift

  • Overtime badge if the assignment would push the employee into overtime

Why This Assignment?

Click the expandable section on any assignment to see the AI's reasoning. This explains why this specific employee was chosen — for example:

  • "Lower hourly rate and full availability for this time slot"

  • "Only qualified Shift Lead available during this window"

  • "Closest to requested hours target without triggering overtime"

Unfilled Shifts

If the AI couldn't fill a shift, it appears with an orange indicator and explains why — for example, no qualified employees available, everyone at max hours, or time-off conflicts.

Locked Shifts

Manager and owner recurring shifts appear in a grayed-out section at the bottom. These are not editable by AI and are shown for reference only.


Step 6: Select and Apply

Each assignment has a checkbox that is pre-checked by default. You can:

  • Uncheck individual assignments you don't want to apply

  • Use Select All or Select None for bulk control

  • The selection counter shows "X of Y selected"

When you're satisfied with your selections:

  1. Click Apply Selected

  2. A confirmation dialog shows how many assignments will be applied

  3. Click Confirm to commit the assignments to your schedule

The schedule calendar updates immediately with the new assignments.

Dismissing Suggestions

If you don't want to use any of the suggestions, click Dismiss All. This discards the entire suggestion set. You can generate again if you have runs remaining.


Tips for Best Results

  • Set availability first — AI can only schedule employees who have availability set for the week. Remind your team to update their availability.

  • Set hours preferences — The more accurate each employee's requested/min/max hours are, the better the AI can distribute shifts fairly.

  • Use custom instructions — The AI responds well to natural language preferences. Be specific about what you need.

  • Review overtime — Always check the hours distribution before applying, especially near the end of a pay period.

  • Iterate if needed — If the first result isn't quite right, adjust your priorities or instructions and generate again.


Frequently Asked Questions

Can AI scheduling overwrite my manual assignments?

No. AI only fills open (unassigned) shifts. Any shifts you've manually assigned are left untouched.

What happens if I generate again for the same week?

You'll see a warning that existing AI assignments will be replaced with new suggestions. Manually-assigned shifts are never affected.

How many times can I generate per week?

The default limit is 5 runs per pay period. Your usage counter is shown in the configuration modal. This resets at the start of each pay period. If you run into an issue and need more runs, just contact support.

Can I edit assignments after applying?

Yes. Once applied, AI assignments become regular shift assignments. You can edit, move, or delete them like any other shift.

Why couldn't the AI fill some shifts?

Common reasons include: no qualified employees available during that time slot, all eligible employees at max hours, or time-off conflicts. Expand the unfilled shift to see the specific reason.

Does the AI consider overtime?

Yes. The AI tracks both weekly overtime (40+ hours) and factors current pay period hours into its decisions. Assignments that would trigger overtime are flagged with an OT badge.


Troubleshooting

"You've reached the weekly generation limit"

You've used all 5 runs for the pay period. Wait until the next pay period for the counter to reset, or contact your support if you run into an issue and need more runs.

"A job is already pending for this week"

A previous generation is still processing. Wait for it to complete, or click Cancel Job to stop it and try again.

AI suggestions appear stale (yellow warning)

The schedule was modified after suggestions were generated. Review carefully — some suggestions may no longer be valid. Consider dismissing and regenerating for updated results.

Generation failed

This can happen if there are connectivity issues or no open shifts to fill. Check that you have open shifts for the selected week and try again.

Did this answer your question?