Back to All Guides
Premium AI Feature

AI Copilot Complete Guide

Master XShift AI Copilot: 13 conversational commands, employee insights, cost optimization, pattern detection, voice-to-text, and intelligent automation. HEAD_MANAGER and MANAGER only.

15 min read
13 AI Commands
5 Feature Tabs

Accessing AI Copilot

How to access and who can use AI Copilot

Access Requirements

  • Available to HEAD_MANAGER and MANAGER roles only
  • EMPLOYEE role cannot access AI Copilot
  • Navigate to: /{orgId}/ai-copilot
  • Link in left sidebar navigation: "AI Copilot" with bot icon
  • Page title: "🤖 AI Copilot - Your Intelligent Scheduling Assistant"
  • Requires organization data: shifts, employees, clock entries
  • Works best with 2+ weeks of historical data
  • Default tab: "Ask AI" (chat interface)

AI Copilot Interface - 5 Main Tabs

Overview of the 5 main features accessible via tabs

Tab Navigation

  • Desktop: 5 tabs shown horizontally at top
  • Mobile: 5 tabs in scrollable horizontal bar
  • Active tab highlighted in indigo/purple color

  • TAB 1: Ask AI (Chat) 💬
  • - Icon: Chat bubble
  • - Label: "Ask AI"
  • - Conversational interface with 13 AI commands
  • - Voice-to-text input support
  • - 15 quick action template buttons

  • TAB 2: Overview 📊
  • - Icon: Sparkles
  • - Label: "Overview"
  • - Summary dashboard with 3 metric cards
  • - Shows: AI-analyzed employees, cost opportunities, patterns found
  • - Data stats: total shifts, employees, clock-ins, weeks of data

  • TAB 3: Employee Insights 👥
  • - Icon: User group
  • - Desktop label: "Employee Insights"
  • - Mobile label: "Employees"
  • - Performance analysis per employee
  • - Shows reliability %, best shift times, total shifts

  • TAB 4: Cost Optimizer 💰
  • - Icon: Dollar sign
  • - Desktop label: "Cost Optimizer"
  • - Mobile label: "Cost"
  • - AI-detected cost-saving opportunities
  • - Estimated savings per week/month

  • TAB 5: Pattern Detection 🔍
  • - Icon: Bar chart
  • - Desktop label: "Pattern Detection"
  • - Mobile label: "Patterns"
  • - Identifies workforce trends and anomalies
  • - Confidence scores and impact ratings

Ask AI - Conversational Commands (13 Actions)

All 13 AI actions you can perform via natural language

1. Create Shift

  • Command: "Create a shift for [date] from [start time] to [end time] at [location]"
  • Function: create_shift
  • Parameters:
  • - date: YYYY-MM-DD format (e.g., "2025-12-25")
  • - startTime: HH:MM 24-hour format (e.g., "09:00", "14:30")
  • - endTime: HH:MM 24-hour format (e.g., "17:00", "22:00")
  • - locationName: Name of location
  • - required: Number of employees needed (default: 1)
  • Example: "Create a shift for 2025-12-25 from 09:00 to 17:00 at Downtown Store"
  • Response: "✓ Shift created successfully! It has been added to your schedule."
  • Status: Draft if requirePublishApproval enabled, published otherwise
  • Employees notified via email if published

2. Create Recurring Shifts

  • Command: "Create recurring shifts every [days of week] from [start time] to [end time] at [location] for the next [number] days"
  • Function: create_recurring_shift
  • Parameters:
  • - name: Pattern name (e.g., "Monday Morning Shift")
  • - startTime: HH:MM format
  • - endTime: HH:MM format
  • - locationName: Location name
  • - pattern: "daily", "weekly", "monthly", or "custom_frequency"
  • - durationDays: Number of days to generate (e.g., 30, 90)
  • - daysOfWeek: For weekly - [0-6] where 0=Sunday, 6=Saturday
  • - customFrequency: For custom - repeat every X days
  • - required: Employees needed per shift (default: 1)
  • Example: "Create recurring shifts every Monday and Wednesday from 09:00 to 17:00 at Main Office for the next 30 days"
  • Response: "✓ Recurring shift pattern created successfully! X shifts have been added to your schedule."
  • Supports: Daily, weekly (specific days), monthly, custom intervals

3. Auto-Assign All Shifts

  • Command: "Auto-assign employees to all open shifts"
  • Function: auto_assign_all_shifts
  • Parameters:
  • - preserveExisting: Keep existing assignments (default: true)
  • How it works:
  • - Uses round-robin algorithm for fair distribution
  • - Only assigns to existing shifts (does not create new ones)
  • - Checks employee availability and conflicts
  • - Respects role requirements if enabled
  • - Distributes evenly across all employees
  • Example: "Auto-assign employees to all open shifts"
  • Response: "✓ Successfully assigned X employees to shifts! All affected employees and managers have been notified via email."
  • IMPORTANT: Must have existing shifts created first
  • Use "create_shift" or "create_recurring_shift" if no shifts exist

4. Generate Schedule (Advanced)

  • Command: "Generate schedule from [start date] to [end date] with [FAIR or MAX] mode"
  • Function: generate_schedule
  • Parameters:
  • - cycleStart: Start date YYYY-MM-DD
  • - cycleEnd: End date YYYY-MM-DD
  • - mode: "FAIR" or "MAX"
  • FAIR Mode (Fair Rotation):
  • - Distributes shifts evenly among ALL employees
  • - Everyone gets similar hours
  • - Best for: Teams where equal distribution is priority
  • MAX Mode (Maximize Hours):
  • - Prioritizes employees who want more hours
  • - Fills schedules for high-availability employees first
  • - Best for: Part-time heavy teams, flexible workforce
  • Example: "Generate schedule from 2025-12-01 to 2025-12-07 with FAIR mode"
  • Response: "✓ Successfully generated schedule! Assigned X shift slots with a total of Y hours using [Fair Rotation/Maximize Hours] mode."
  • Respects: Availability, role requirements, PTO, conflicts
  • IMPORTANT: Only assigns to existing shifts in date range

5. Assign Employees to Shift

  • Command: "Assign [employee name] to the [morning/afternoon/evening] shift on [date] at [location]"
  • Function: assign_employees_to_shift
  • Parameters:
  • - employeeNames: Array of names (e.g., ["John Smith", "Sarah Johnson"])
  • - targetDate: YYYY-MM-DD or "today"/"tomorrow"
  • - shiftStartTime: HH:MM or "morning shift"/"evening shift"
  • - locationName: Optional location to identify shift
  • Time descriptions supported:
  • - "morning shift" = 6am-12pm range
  • - "afternoon shift" = 12pm-5pm range
  • - "evening shift" = 5pm-11pm range
  • Example: "Assign John Smith and Sarah to the morning shift on 2025-12-01 at Downtown"
  • Response: "✓ Successfully assigned [names] to the shift on [date] at [time]!"
  • Smart matching: Fuzzy matches employee names
  • IMPORTANT: Shift must already exist

6. Create Announcement

  • Command: "Create an announcement titled '[title]' about [topic/message]"
  • Function: create_announcement
  • Parameters:
  • - title: Brief title (e.g., "Store Closing Early")
  • - message: Full announcement content
  • Example: "Create an announcement titled 'Holiday Hours' about store closing at 5pm on Christmas Eve"
  • Response: "✓ Announcement posted successfully! Employees will be notified via email (if enabled)."
  • Posted to: All employees in organization
  • Visible in: Employee dashboard announcements section
  • Email notifications: Sent if emailNotifyAnnouncements enabled in settings

7. Send Message

  • Command: "Send a direct message to [employee name]: [message]"
  • Function: send_message
  • Parameters:
  • - recipientName: Employee name (first, last, or full)
  • - message: Message content
  • Example: "Send a direct message to John Smith: Can you cover the evening shift tomorrow?"
  • Response: "✓ Message sent successfully to [First Last]!"
  • Delivery: In-app messaging system
  • Recipient sees: Message in their employee dashboard Messages tab
  • Smart matching: Fuzzy matches employee names (first, last, or full)
  • Use case: Quick communication without leaving AI Copilot

8. Create Employee

  • Command: "Create an employee named [First] [Last] with email [email] as an [EMPLOYEE/MANAGER]"
  • Function: create_employee
  • Parameters:
  • - email: Employee email (used for login)
  • - firstName: First name
  • - lastName: Last name
  • - userRole: "EMPLOYEE" or "MANAGER"
  • - password: Temporary password (default: "Welcome2025!" if not provided)
  • Example: "Create an employee named John Smith with email john@example.com as an EMPLOYEE"
  • Response: "✓ Employee account created successfully for [First Last]! Login: [email] / Password: [password]"
  • IMPORTANT: Share login credentials with new employee
  • Default password: "Welcome2025!" (minimum 8 characters)
  • Employee receives: Welcome email with login instructions
  • Next steps: Employee should log in and set up MFA (if HEAD_MANAGER)

9. Create Location

  • Command: "Create a location named '[name]' at [address]"
  • Function: create_location
  • Parameters:
  • - name: Location name (e.g., "Downtown Store", "West Branch")
  • - address: Physical address (optional)
  • - timezone: Timezone (optional, defaults to America/New_York)
  • Example: "Create a location named 'Downtown Store' at 123 Main St, New York, NY"
  • Response: "✓ Location '[name]' created successfully!"
  • Timezone options: America/New_York, America/Chicago, America/Denver, America/Los_Angeles, etc.
  • Use case: Multi-location businesses
  • After creation: Location available in shift creation dropdown
  • Can set staffing requirements: /{orgId}/settings/staffing-rules

10. Manage PTO Requests

  • Command: "Approve all pending PTO requests" or "Show all pending PTO requests by type"
  • Function: manage_pto_requests
  • Parameters:
  • - action: "approve" or "deny"
  • - scope: "all", "filtered", or "single"
  • - requestId: For single request
  • - filters: For filtered scope
  • Filtering options:
  • - employeeNames: Filter by names (e.g., ["John Smith"])
  • - excludeEmployees: Exclude names (e.g., ["Sarah"])
  • - startDateFrom: Requests starting after date
  • - startDateTo: Requests starting before date
  • - ptoType: "VACATION", "SICK", "PERSONAL", "UNPAID"
  • - minDays: Minimum request length
  • - maxDays: Maximum request length
  • - reason: Optional approval/denial comment
  • Example 1: "Approve all pending PTO requests"
  • Example 2: "Approve all vacation requests for December"
  • Example 3: "Deny PTO requests from John Smith"
  • Response: "✓ [Action] complete! Processed X requests. ✉️ Employees will be notified via email."
  • Bulk actions: Can approve/deny multiple requests at once
  • Preview mode: Shows matched requests before confirming

11. List Schedule Templates

  • Command: "List all my saved schedule templates"
  • Function: list_schedule_templates
  • Parameters:
  • - searchTerm: Optional search filter
  • Example: "List all my saved schedule templates"
  • Response: Shows all saved templates with:
  • - Template name
  • - Description
  • - Total shifts captured
  • - Duration in days
  • - Created date
  • Use case: Review available templates before applying
  • Templates include: All shifts, assignments, times, locations from saved date range

12. Apply Schedule Template

  • Command: "Apply the '[template name]' template starting [YYYY-MM-DD]"
  • Function: apply_schedule_template
  • Parameters:
  • - templateName: Name of saved template (fuzzy matched)
  • - startDate: Date to begin applying template (YYYY-MM-DD)
  • - locationFilter: Optional - only apply for specific locations
  • - daysFilter: Optional - "weekdays only", "weekends only", etc.
  • Example: "Apply the 'Holiday Week' template starting 2025-12-20"
  • Response: "✓ Success! I created X shifts from the '[name]' template. The shifts are now [draft/published]."
  • How it works:
  • - Takes template pattern and creates shifts starting from target date
  • - Preserves shift times, locations, required counts
  • - Does NOT copy employee assignments (assigns fresh)
  • - Respects requirePublishApproval setting
  • Use case: Recurring weekly/monthly schedules, holiday patterns

13. Save Schedule Template

  • Command: "Save my schedule from [start date] to [end date] as a template named '[name]'"
  • Function: save_schedule_template
  • Parameters:
  • - name: Template name (e.g., "Holiday Week 2024")
  • - description: Optional description
  • - startDate: Start of date range (YYYY-MM-DD)
  • - endDate: End of date range (YYYY-MM-DD)
  • Example: "Save my schedule from 2025-12-01 to 2025-12-07 as a template named 'First Week December'"
  • Response: "✓ Template saved successfully! I captured X shifts over Y days as '[name]'. You can now apply this template to future dates."
  • What gets saved:
  • - All shifts in date range
  • - Shift times and locations
  • - Required employee counts
  • - Pattern duration
  • What does NOT get saved: Employee assignments (apply fresh each time)
  • Use case: Save busy weeks, holiday schedules, recurring patterns

Quick Action Buttons (15 Templates)

Pre-filled command templates for faster input

Quick Action Bar

  • Location: Above chat input field in Ask AI tab
  • Layout: Horizontal scrollable row of colored buttons
  • Function: Clicking fills chat input with template text
  • User must: Fill in bracketed placeholders before sending

  • 1. Create Shift (Indigo button)
  • Template: "Create a shift for [date] from [start time] to [end time] at [location]"
  • Placeholders: [date], [start time], [end time], [location]

  • 2. Create Recurring Shifts (Purple button)
  • Template: "Create recurring shifts every [days of week] from [start time] to [end time] at [location] for the next [number] days"
  • Placeholders: [days of week], [start time], [end time], [location], [number]

  • 3. Send Message (Pink button)
  • Template: "Send a direct message to [employee name]: [message]"
  • Placeholders: [employee name], [message]

  • 4. Create Employee (Cyan button)
  • Template: "Create an employee named [First] [Last] with email [email] as an [EMPLOYEE/MANAGER]"
  • Placeholders: [First], [Last], [email], [EMPLOYEE/MANAGER]

  • 5. Create Location (Green button)
  • Template: "Create a location named '[name]' at [address]"
  • Placeholders: [name], [address]

  • 6. Create Announcement (Blue button)
  • Template: "Create an announcement titled '[title]' about [topic/message]"
  • Placeholders: [title], [topic/message]

  • 7. Auto-Assign All Shifts (Orange button)
  • Template: "Auto-assign employees to all open shifts"
  • No placeholders - ready to send

  • 8. Generate Schedule (Teal button)
  • Template: "Generate schedule from [start date YYYY-MM-DD] to [end date YYYY-MM-DD] with [FAIR or MAX] mode"
  • Placeholders: [start date], [end date], [FAIR or MAX]

  • 9. Assign to Shift (Amber button)
  • Template: "Assign [employee name] to the [morning/afternoon/evening] shift on [date] at [location]"
  • Placeholders: [employee name], [morning/afternoon/evening], [date], [location]

  • 10. Approve All PTO (Emerald button)
  • Template: "Approve all pending PTO requests"
  • No placeholders - ready to send

  • 11. Show PTO Requests (Purple button)
  • Template: "Show all pending PTO requests by type"
  • No placeholders - ready to send

  • 12. List Templates (Violet button)
  • Template: "List all my saved schedule templates"
  • No placeholders - ready to send

  • 13. Apply Template (Fuchsia button)
  • Template: "Apply the '[template name]' template starting [YYYY-MM-DD]"
  • Placeholders: [template name], [YYYY-MM-DD]

  • 14. Save Template (Rose button)
  • Template: "Save my schedule from [start date YYYY-MM-DD] to [end date YYYY-MM-DD] as a template named '[template name]'"
  • Placeholders: [start date], [end date], [template name]

  • 15. Clear Chat (Gray button - bottom left)
  • Function: Clears all chat messages
  • Text: "Clear"
  • Starts fresh conversation

Voice-to-Text Input

Speak your commands instead of typing

Voice Input Feature

  • Technology: Web Speech API (browser-native)
  • Supported browsers: Chrome, Edge (Chromium-based)
  • Not supported: Firefox, Safari (shows unsupported message)
  • Location: Microphone button next to chat input field
  • Icon: Microphone icon (Heroicons)

  • How to use:
  • 1. Click microphone button
  • 2. Browser requests microphone permission (popup)
  • 3. Grant permission ("Allow")
  • 4. Button changes to red (recording active)
  • 5. Speak your command naturally
  • 6. Live transcription shows in gray text (interim)
  • 7. Stop speaking - auto-stops after pause
  • 8. Final text appears in input field
  • 9. Press Enter or Send button to submit

  • Recording states:
  • - Default: Gray microphone icon
  • - Recording: Red microphone icon
  • - Listening: Placeholder shows "Listening..."
  • - Transcribing: Shows interim gray text

  • Settings:
  • - Language: English (en-US)
  • - Continuous: No (stops after user finishes)
  • - Interim results: Yes (shows live transcription)
  • - Max alternatives: 1

  • Error handling:
  • - "not-allowed" → "Microphone permission denied. Please enable it in browser settings."
  • - "no-speech" → "No speech detected. Please try again."
  • - "audio-capture" → "No microphone found. Please connect a microphone."
  • - "network" → "Network error. Please check your connection."
  • - "aborted" → "Recording stopped."

  • Tips:
  • - Speak clearly at normal pace
  • - Pause between commands
  • - Review transcription before sending
  • - Can edit text after voice input
  • - Works with all 13 AI commands

Employee Performance Insights (Tab 3)

AI-powered employee performance analysis

Performance Metrics

  • Data source: Real-time from database (not AI-generated)
  • Analyzes: Last 100 shifts + all clock entries per employee
  • Updates: Every time you visit AI Copilot page
  • Cached: 15 minutes for fast loading

  • Per-Employee Card shows:
  • - Employee name
  • - Reliability percentage (clock-ins / total shifts assigned)
  • - Total shifts assigned
  • - Total clock-ins recorded
  • - Best shift types (Morning/Afternoon/Evening/Any)
  • - Optimal times (e.g., "6am-12pm", "12pm-5pm", "5pm-11pm")
  • - AI insights (2 bullet points)

  • Reliability calculation:
  • - 90%+ → "Excellent reliability at X%" (green badge)
  • - 70-89% → "Good reliability at X%" (blue badge)
  • - 50-69% → "Moderate reliability at X% - may need support" (yellow badge)
  • - <50% → "X% reliability - requires attention" (red badge)

  • Best shift times determined by:
  • - Morning: Most shifts between 6am-12pm
  • - Afternoon: Most shifts between 12pm-5pm
  • - Evening: Most shifts between 5pm-11pm
  • - Any/Flexible: Equal distribution or no pattern

  • AI insights examples:
  • - "John has excellent reliability at 95%"
  • - "Assigned to 45 shifts - experienced"
  • - "New employee with 3 shifts"
  • - "No shifts assigned yet"

  • If no data:
  • - Shows: "Not enough data yet" message
  • - Reason: Need shifts, employees, clock-ins to analyze
  • - Recommendation: "Create some shifts and track employee attendance to see AI insights"

Cost Optimizer (Tab 4)

AI-detected cost-saving opportunities

Cost Optimization Analysis

  • Powered by: OpenAI GPT-5.2 analyzing schedule patterns
  • Scans: Last 100 shifts + employee data + clock entries
  • Updates: Generated in background on page load
  • Cache: 15 minutes localStorage cache

  • Each opportunity card shows:
  • - Type badge (e.g., "Overtime Reduction", "Shift Consolidation")
  • - Description of the issue
  • - Estimated savings ("$X per week/month")
  • - Complexity badge:
  • * Easy (green) - Simple to implement
  • * Medium (yellow) - Requires some planning
  • * Hard (red) - Major changes needed
  • - Step-by-step implementation guide

  • Example opportunities:
  • - "Overtime Reduction: Reduce overtime by X hours/week by adjusting shift patterns"
  • Savings: "$500 per week"
  • Steps: ["Identify employees with frequent overtime", "Split long shifts", etc.]

  • - "Shift Consolidation: Combine understaffed shifts to reduce labor costs"
  • Savings: "$300 per month"
  • Steps: ["Review shift coverage", "Merge adjacent shifts", etc.]

  • - "Peak Hour Staffing: Adjust staffing levels to match peak/slow hours"
  • Savings: "$200 per week"
  • Steps: ["Analyze busiest hours", "Shift more staff to peak times", etc.]

  • If no opportunities found:
  • - Shows: "No cost optimization opportunities found at this time"
  • - Message: "Your scheduling appears efficient! AI will continue monitoring for improvements."

  • Data requirements:
  • - Minimum 2 weeks of shift data
  • - Employee assignments and clock-ins
  • - More data = better analysis

Pattern Detection (Tab 5)

AI identifies workforce trends and anomalies

Pattern Analysis

  • Powered by: OpenAI GPT-5.2 pattern recognition
  • Analyzes: Shift patterns, employee behavior, scheduling trends
  • Confidence scoring: 60%+ required to display
  • Impact rating: High, Medium, Low

  • Each pattern card shows:
  • - Pattern title
  • - Detailed description with specific data
  • - Confidence badge (e.g., "85% Confidence")
  • - Impact badge:
  • * High (red) - Significant impact on operations
  • * Medium (yellow) - Moderate impact
  • * Low (blue) - Minor impact
  • - Actionable tag: Shows if action can be taken

  • Example patterns detected:
  • - "Weekend Shift Preference: 60% of employees prefer weekend shifts over weekdays"
  • Confidence: 85%
  • Impact: Medium
  • Actionable: Yes

  • - "Morning Shift Gap: Consistent understaffing in 6am-9am shifts"
  • Confidence: 92%
  • Impact: High
  • Actionable: Yes

  • - "PTO Request Spike: 40% increase in PTO requests during summer months"
  • Confidence: 78%
  • Impact: Medium
  • Actionable: No (informational)

  • - "Late Clock-Ins Trend: Employee X consistently clocks in 10+ min late"
  • Confidence: 95%
  • Impact: Low
  • Actionable: Yes

  • Pattern types detected:
  • - Scheduling patterns (recurring gaps, overstaffing)
  • - Employee behavior (preferences, reliability trends)
  • - Seasonal trends (busy periods, PTO patterns)
  • - Anomalies (unusual spikes, drops)

  • If no patterns found:
  • - Shows: "No significant patterns detected yet"
  • - Message: "AI needs more historical data. Keep using XShift and patterns will emerge!"

  • Use cases:
  • - Identify scheduling inefficiencies
  • - Predict busy periods
  • - Spot employee issues early
  • - Plan staffing adjustments

Overview Dashboard (Tab 2)

Summary of AI-generated insights

Overview Metrics

  • 3 metric cards in gradient backgrounds:

  • Card 1: Employee Insights (Indigo gradient)
  • - Icon: User group
  • - Number: Count of AI-analyzed employees
  • - Label: "AI-analyzed employees"
  • - Shows: How many employees have performance data

  • Card 2: Cost Opportunities (Green gradient)
  • - Icon: Dollar sign
  • - Number: Count of cost-saving opportunities found
  • - Label: "Optimization suggestions"
  • - Shows: How many cost opportunities detected

  • Card 3: Patterns Found (Purple/Pink gradient)
  • - Icon: Lightning bolt
  • - Number: Count of patterns detected
  • - Label: "AI-detected insights"
  • - Shows: How many workforce patterns identified

  • Data Stats Section:
  • - Total Shifts analyzed
  • - Total Employees in organization
  • - Total Clock-Ins recorded
  • - Data Weeks: How many weeks of historical data

  • Top Insights Preview:
  • - Shows first 5 insights from AI analysis
  • - Each with confidence % and impact level
  • - Quick glance at most important findings

  • Purpose: Quick overview before diving into specific tabs
  • Updates: Refreshed each time page loads
  • Background generation: Data loads in background while you work

Chat Interface & User Experience

How to interact with AI Copilot chat

Chat Features

  • Interface: ChatGPT-style conversational UI
  • Message history: Persists during session, clears on page reload
  • Input methods: Text typing, voice-to-text, quick action buttons

  • Chat window:
  • - White background (light mode), gray (dark mode)
  • - Rounded corners with shadow
  • - Scrollable message history
  • - Auto-scrolls to latest message
  • - Max height: 500px

  • Message bubbles:
  • - User messages: Right-aligned, indigo background
  • - AI responses: Left-aligned, gray background
  • - AI icon: Robot emoji 🤖
  • - User icon: Your initials

  • Empty state (no messages):
  • - Chat bubble icon in center
  • - Text: "Ask me anything about your workforce!"
  • - Example prompts shown:
  • * "How many shifts do I have this week?"
  • * "Which employees have the most hours?"
  • * "Create a shift for tomorrow 9am-5pm"
  • * "Show me all pending PTO requests"
  • - Clicking example fills chat input

  • Input field features:
  • - Placeholder: "Ask about your employees, schedules, costs..."
  • - Changes to "Listening..." during voice input
  • - Press Enter to send
  • - Disabled while AI is processing
  • - Shows loading indicator: "AI is thinking..."

  • Buttons:
  • - Clear button (left): Clears all messages
  • - Microphone button (right): Voice input
  • - Send button (right): Submit message

  • Action confirmations:
  • - Some actions show preview before executing
  • - Example: PTO bulk approval shows matched requests
  • - "Confirm" and "Cancel" buttons appear

  • Response types:
  • - Success: ✓ checkmark with confirmation
  • - Error: ❌ with error message
  • - Info: 💡 with details
  • - Action needed: Shows preview + confirm buttons

Data Requirements & Performance

What data AI Copilot needs and how it performs

Data & Performance

  • Minimum data for AI insights:
  • - At least 2 weeks of shift history
  • - 3+ employees in organization
  • - Some clock-in records
  • - Shift assignments

  • Data sources analyzed:
  • - Last 100 shifts (ordered by date, newest first)
  • - All employees with userRole = "EMPLOYEE"
  • - Last 200 clock entries
  • - Last 50 time-off requests
  • - Employee assignments to shifts

  • Performance optimizations:
  • - 15-minute localStorage cache
  • - Background data generation
  • - Instant display from cache while fetching fresh data
  • - OpenAI API call only for insights/patterns/costs
  • - Employee performance calculated from real DB data (not AI)

  • Loading states:
  • - Initial load: Shows cached data immediately
  • - Background: "Generating insights..." badge
  • - After generation: Cache updated, fresh data displayed
  • - Typical load time: 2-5 seconds

  • AI model: OpenAI GPT-5.2
  • - Temperature: 0.7 (balanced creativity/accuracy)
  • - Max tokens: 2000 per insights generation
  • - Response format: Structured JSON
  • - Fallback: Shows empty state if AI fails

  • Data privacy:
  • - Data sent to OpenAI for analysis
  • - No personal employee data in AI prompts
  • - Only aggregated statistics shared
  • - Names anonymized in AI analysis

  • Best results when:
  • - 4+ weeks of historical data
  • - Consistent shift patterns
  • - Regular clock-in tracking
  • - Multiple employees (10+)
  • - Varied shift times and locations

Best Practices & Tips

How to get the most out of AI Copilot

Usage Tips

  • Command phrasing:
  • - Be specific with dates (use YYYY-MM-DD format)
  • - Include location names for multi-location orgs
  • - Use employee full names when possible
  • - Specify shift times clearly (24-hour format preferred)

  • Quick wins:
  • - Use quick action buttons instead of typing from scratch
  • - Use voice input for complex commands
  • - Review AI insights weekly for trends
  • - Check cost opportunities monthly

  • Scheduling workflows:
  • 1. Create shifts first (single or recurring)
  • 2. Then use auto-assign or generate schedule
  • 3. Review assignments in schedule page
  • 4. Publish when ready

  • Template workflow:
  • 1. Create and perfect a week's schedule
  • 2. Save as template with descriptive name
  • 3. Apply template to future weeks
  • 4. Saves hours of manual work

  • PTO management:
  • - Review pending requests weekly
  • - Use filters for fair approvals
  • - Check conflicts before approving
  • - Add comments for denials

  • Performance monitoring:
  • - Check Employee Insights tab monthly
  • - Address reliability issues early
  • - Assign employees to preferred shift times
  • - Recognize high performers

  • Cost optimization:
  • - Review Cost Optimizer tab monthly
  • - Implement easy wins first
  • - Track savings after changes
  • - Re-check for new opportunities

  • Common mistakes to avoid:
  • - Don't use auto-assign before creating shifts
  • - Don't generate schedule on date ranges with no shifts
  • - Don't forget to publish shifts (if requirePublishApproval enabled)
  • - Don't ignore low reliability patterns

  • Troubleshooting:
  • - If AI doesn't understand: Rephrase more specifically
  • - If no insights appear: Need more historical data
  • - If voice doesn't work: Check browser (Chrome/Edge only)
  • - If actions fail: Check error message, verify data exists

Ready to Experience AI-Powered Scheduling?

XShift AI Copilot does the heavy lifting so you can focus on running your business.

AI Schedule Generator & Automated Employee Scheduling | XShift AI