Documentation

User guides for BusyBee Scheduling

Getting Started

BusyBee Scheduling is a shift management system designed to help institutions organize and assign staff to games and events. Whether you're assigning shifts or accepting assignments, this guide will walk you through the process.

Account Setup

For New Users: Click "Register" on the login page to create your account. After registration, you'll receive an email verification link—click it to confirm your email address. You will also be prompted to set up Multi-Factor Authentication (MFA) to secure your account.

For Admin-Created Users: Your account administrator will create an account for you and send a temporary password via email. Use this password to sign in for the first time. You'll be required to change your password and set up MFA.

Multi-Factor Authentication (MFA)

MFA adds an extra layer of security to your account. When you sign in, after entering your password, you'll be asked to enter a verification code.

  • Email OTP: A 6-digit code is sent to your email (default method).
  • TOTP (Authenticator App): Use an authenticator app like Duo Authenticator, Google Authenticator, or Microsoft Authenticator for codes that refresh every 30 seconds. You can switch to this method in your MFA Settings.

You can manage your MFA settings anytime from your user menu under "MFA Settings."

For Staff Members (Assignees)

Viewing Your Shifts

Click "My Shifts" in the main navigation to see all shifts assigned to you. Your shifts are organized by game date and show their current status:

  • Pending — Your response is needed (accept or reject).
  • Accepted — You've confirmed the shift.
  • Rejected — You've declined the shift.
Accepting or Rejecting a Shift

Click on any pending shift to view details including the game date, time, location, and role. Then choose to accept or reject:

  • Accept: Confirm you'll work the shift.
  • Reject: Decline the shift and provide a reason for declining.

Your assigner will be notified immediately of your decision, and you'll receive a confirmation email.

Managing Availability Blocks

Use availability blocks to mark periods when you cannot work. This helps your assigner avoid assigning shifts during your unavailable times (and stopping rejections).

To add a block: Click "Add Availability Block" from your user menu, then specify:

  • Start and end dates/times
  • Block type (Firm Block — no shifts | Preference — try to avoid)
  • Optional description (e.g., "Class Schedule", "Vacation")

To delete a block: Go to "My Profile," find the block, and click delete.

Your Profile

Click "My Profile" in your user menu to view and manage your account information, MFA settings, availability blocks, and assigned roles.

For Administrators (Assigners)

Core Workflow
  1. Define your Sports (e.g., Basketball, Volleyball)
  2. Create Roles for staff (e.g., Scorekeeper, Statistician)
  3. Add and manage Users (staff members)
  4. Create Games with assigned staff in Shifts
  5. Review shift acceptance rates and generate Reports
Setting Up Sports

Sports represent the types of events at your institution. Go to Settings → Sports to:

  • Create a Sport: Provide a name, abbreviation, and optional color for easy identification.
  • Edit a Sport: Update details anytime.
  • Delete a Sport: Only if no games or sport-specific roles reference it.

Optionally, add colors for sports.

Setting Up Roles

Roles define the positions staff can fill. Go to Settings → Roles to:

  • Create a Role: Provide a name and optionally link to a specific sport or assign a color.
  • Edit a Role: Update role details, description, or associated sport.
  • Delete a Role: Only if no shifts use it. First remove staff from the role.

Roles can be created for a specific sport or a generic role that applies to all sports.

Multiple shifts with the same role can be assigned in a game. For example, you can assign multiple statisticians to one game.

Need help coming up with roles? We suggest starting with statisticians, photographers, stream operators, and managers. You can add more roles as you need.

Managing Users

Go to Users to manage your staff. You can:

  • Create a User: Click "Create User," enter their email, name, role (assigner or assignee), and a temporary password. They'll receive setup instructions via email.
  • View User Details: Click a user's name to see their profile, assigned roles, availability blocks, and shift history.
  • Assign Roles to Users: On a user's detail page, add roles they can fill.
  • Remove Roles: Click the role to remove it from a user.
  • Deactivate Users: Choose the switch to deactivate a user without deleting them.
  • Break-Glass Access: Mark a user as break-glass to allow them to function as an assigner in emergencies (toggle on their detail page).
Creating Games

Click Games → Create Game and fill in:

  • Sport type
  • Home and away team names
  • Game date and start time (end time defaults to 2 hours later if not specified)
  • Location
  • Whether it's a home game
  • Optional notes

After creating a game, you can edit its details or view assigned shifts. When you change the time or location, all assigned staff are notified via email.

Creating and Managing Shifts

From a game's detail page, click "Create Shift" to assign staff. You can:

  • Assign to Specific Person: Select a role, then the person you want to fill it. An invitation will be sent immediately.
  • Create Open Shift: Leave the assignee blank; staff can view open shifts and express interest (feature pending).
  • Unassign: Remove a staff member from a shift (they're notified via email).
  • Delete Shift: Permanently remove a shift and notify assigned staff.

The system checks for scheduling conflicts and highlights staff who already have overlapping accepted shifts.

Shift Status Tracking

On the Shifts page, view all shifts and their statuses across your institution. Filter by game or sort by status to quickly see which shifts need responses.

Viewing & Canceling Games

From a game's detail page, you can update game details, cancel the game (soft cancel—history is preserved), or delete it permanently. Cancellation and deletion both notify all assigned staff via email.

Generating Reports

Go to Reports to analyze shift data. Available reports:

  • Hours Worked: Calculate total hours by assignee, sport, or role. Filter by date range and export as CSV.
  • Shift Distribution: See how shifts are distributed among staff. Identify who's being over/under-utilized.
  • Acceptance Rate: Track shift acceptance/rejection trends by staff member.

All reports can be downloaded as CSV for use in spreadsheets or other tools.

Automated Reminders

The system automatically sends shift reminders:

  • 2 days before the game
  • 1 day before the game

Reminders are sent only to staff who have accepted the shift. A configurable daily job handles this at 08:00 AM local time.

Notifications & Communication

BusyBee sends notifications via email for all shift-related events:

What Triggers Emails?
  • Shift Assignment: Staff receive an invite when assigned a shift.
  • Shift Acceptance/Rejection: Assigners are notified when staff respond.
  • Game Changes: All assigned staff are notified if time or location changes.
  • Game Cancellation: All assigned staff are notified when a game is cancelled or deleted.
  • Shift Reminders: Automatic reminders 2 days and 1 day before each shift.

Check your email spam folder if you don't see expected notifications. Add our email address to your contacts to ensure delivery.

Security & Best Practices

Account Security
  • Use a Strong Password: Mix uppercase, lowercase, numbers, and special characters. Use long passwords, and avoid reusing passwords.
  • Enable MFA: Choose between email OTP or authenticator app for maximum security.
  • Keep Your Email Updated: Use a reliable email address for account recovery.
  • Never Share Your Password: Administrators will never ask for your password.
For Administrators
  • User Access: Regularly review your user list and remove accounts that are no longer active.
  • Break-Glass Accounts: Reserve break-glass status for emergencies. It grants full admin access.
  • Data Export: Use reports to regularly audit shift assignments and staffing patterns.
  • SAML/SSO: For larger institutions, configure SAML/SSO in Settings for centralized authentication.

All data is encrypted in transit (HTTPS) and stored securely. Passwords are salted and hashed using industry-standard algorithms.

SAML/SSO Configuration

SAML (Security Assertion Markup Language) Single Sign-On (SSO) allows your institution to use a centralized identity provider (IdP) for authentication. This eliminates the need to manage separate BusyBee credentials and improves security through your organization's existing login infrastructure.

Prerequisites

To enable SAML/SSO, you need:

  • An Identity Provider (IdP): Such as Okta, Azure AD, Google Workspace, Shibboleth, or any SAML 2.0-compliant provider.
  • Access to Your IdP's Admin Console: To configure BusyBee as a trusted application.
  • Administrator Role in BusyBee: Only assigners can configure SAML settings.
Getting BusyBee's Service Provider Metadata

Your IdP administrator will need BusyBee's Service Provider (SP) metadata to set up the trust relationship. You can obtain this at:

https://your-busybee-domain.com/auth/saml/metadata

Save this metadata file or provide the URL to your IdP administrator to register BusyBee as a trusted SP.

Configuring SAML in BusyBee

To set up SAML:

  1. Sign in as an administrator (assigner)
  2. Go to Settings → SAML / SSO
  3. Fill in the required fields (see details below)
  4. Check "Enable SAML" to activate SSO for your institution
  5. Click "Save Settings"
SAML Configuration Fields

Your IdP administrator will provide these values. Common sources include your IdP's SAML configuration page or metadata file:

Entry Point URL The URL where users are redirected to sign in with your IdP. Also called "SSO URL" or "Login URL." Example: https://idp.example.com/saml/login
Issuer / Entity ID A unique identifier for your IdP (not BusyBee). Often a domain or URI. Example: https://idp.example.com
IdP Certificate The public certificate used to sign SAML responses. It's a PEM-formatted text block starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----. This is essential for verifying the IdP's digital signatures.
Attribute Mappings Map IdP user attributes to BusyBee fields (optional; defaults are usually correct):
  • Email: Usually "email" or "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
  • First Name: Usually "firstName" or "givenName"
  • Last Name: Usually "lastName" or "surname"
  • Name ID: Usually "nameID" (used for user identification)
Name ID Format The format of the unique identifier. Default is email-based (urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress). Contact your IdP admin if you're unsure.
Auto-Provision Users If enabled, users who authenticate via SAML are automatically created in BusyBee (if they don't already exist). If disabled, only pre-existing users can sign in via SAML.
Setting Up Your Identity Provider

Once SAML is configured in BusyBee, you must register BusyBee with your IdP:

Okta
  1. Go to Admin → Applications → Add Application → Create New
  2. Select "Web" and click "Next"
  3. Name: "BusyBee Scheduling"
  4. SAML URLs (Single Sign-On URL): https://your-busybee-domain.com/auth/saml/callback
  5. Audience (Entity ID): Your BusyBee domain (e.g., https://your-busybee-domain.com)
  6. Download the certificate and copy the IdP Issuer and Single Sign-On URLs
  7. Use these values in BusyBee's SAML settings
Azure AD
  1. Go to Azure AD → Enterprise Applications → New Application
  2. Select "Create your own application" → "Integrate any other application you don't find in the gallery (Non-gallery)"
  3. Name: "BusyBee Scheduling"
  4. Go to Single Sign-On → SAML
  5. Set Reply URL (Assertion Consumer Service URL): https://your-busybee-domain.com/auth/saml/callback
  6. Set Entity ID (Identifier): Your BusyBee domain
  7. Download the certificate (Base64) and copy the Login URL and Azure AD Identifier
  8. Use these values in BusyBee's SAML settings
Google Workspace
  1. Go to Google Admin Console → Apps & Services → Web and Mobile Apps
  2. Click "Add Custom SAML App"
  3. Name: "BusyBee Scheduling"
  4. Download the certificate and copy the IdP Entity ID and SSO URL
  5. In the ACS URL field, enter: https://your-busybee-domain.com/auth/saml/callback
  6. In the Entity ID field, enter: Your BusyBee domain
  7. Use the copied values in BusyBee's SAML settings

For other IdPs (Shibboleth, Okta, etc.), follow similar steps. The key values are always the Entry Point URL, Issuer, and the IdP's public certificate.

Testing SAML Configuration

After configuring SAML:

  1. Go to the BusyBee login page
  2. If SAML is enabled, you'll see an "SSO Login" option with your institution's name
  3. Click it to be redirected to your IdP's login page
  4. Sign in with your institution credentials
  5. You should be redirected back to BusyBee and logged in automatically

Troubleshooting: If login fails, check that:

  • The Entry Point URL is correct
  • The IdP certificate is properly formatted (with BEGIN/END markers)
  • Your user's email in the IdP matches (or is mapped to) their BusyBee email
  • SAML is enabled in BusyBee settings
  • The Assertion Consumer Service URL matches in both systems
Disabling SAML

Go to Settings → SAML / SSO and click "Disable SAML Single Sign-On." Users will revert to local BusyBee credentials. You can re-enable SAML anytime without losing the configuration.

Important Notes
  • MFA: SAML users bypass BusyBee's MFA because the IdP handles authentication assurance.
  • Email Matching: The email from your IdP must match the user's email in BusyBee for successful login.
  • Auto-Provisioning: If enabled, new employees who authenticate via SAML are automatically created as "assignee" users.
  • Local Login Backup: Even with SAML enabled, users can still log in with local credentials if their IdP is temporarily unavailable.

Common Questions

On the login page, click "Forgot Password?" (if available) or contact your administrator to reset your password. They can set a temporary password for you.

Yes! Go to "MFA Settings" in your user menu. You can switch between email OTP and authenticator app at any time.
MFA is required for all BusyBee accounts.

Contact your assigner immediately. They can re-assign the shift to you, which will send a new invitation that you can accept.

This depends on your institution's scheduling needs. Watch for shift invitations and set up availability blocks for times you know you're unavailable.
It's up to your assigner and your institution to come up with the policies and practices for how you use BusyBee, like how soon you need to accept or reject shifts.

Yes! You can assign the same person to multiple roles (e.g., Scorekeeper and Statistician) for the same game by creating separate shifts. The assignee will need to accept both shifts separately.

Existing assignments are not automatically cancelled. Blocks only help prevent future assignments. If a conflict exists, contact your assigner to discuss options.
Want to request this feature? Ask for it using our Feedback form!

Click the "Feedback" link in the footer to report issues. Provide as much detail as possible, including what you were doing when the issue occurred.

Check your spam folder; BusyBee notifications sometimes end up in your spam folder. Since our infrastructure is so new, some email security platforms classify our emails as "high-risk".

Right now, BusyBee is free. Completely free. As we expand, we may need to introduce low costs to cover our operating costs. As things currently stand, potential pricing works out to $0.43/user/month.

Need Help?

If you have questions not covered in this documentation:

  • Contact Your Administrator: For account or permission issues, reach out to your institution's administrator.
  • Submit Feedback: Use the "Feedback" link in the footer to report bugs or suggest improvements.
  • Check FAQs: Review the Common Questions section above for quick answers.

Last updated: June 17, 2026