ShiftFlow is an internal tool that helps support teams manage shifts, leave, and real-time availability in one place. With flexible shift settings and built-in analytics, it removes manual coordination, improves coverage visibility, and helps teams operate smoothly every day.
ShiftFlow is an internal tool that helps support teams manage shifts, leave, and real-time availability in one place. With flexible shift settings and built-in analytics, it removes manual coordination, improves coverage visibility, and helps teams operate smoothly every day.
Support teams often struggle to track who is on which shift, who is on leave, and who is covering when someone is unavailable. This information is usually managed through spreadsheets, chat messages, or ad-hoc updates, leading to confusion, missed handovers, delayed responses, and uneven workload distribution. Managers also lack visibility into shift performance and coverage trends.
ShiftFlow provides a centralized system to define shift rules, manage leave, and monitor availability in real time.
It offers:
- Shift Settings – Create teams, define shift schedules, rotations, time zones, and coverage rules
- Leave Management – Team members can mark leave or unavailability with approval flows
- Auto Coverage Handling – Automatically suggests or assigns coverage when someone is unavailable
- Live "Who's On Now" Dashboard – Real-time view of active shifts, backups, and availability
- Notifications – Daily shift reminders and instant alerts for changes
- Analytics – Insights into coverage gaps, workload distribution, leave patterns, and shift balance
This ensures clarity, accountability, and better operational decision-making without manual follow-ups.
- Support team members
- Support managers
- Operations teams
- Create teams and define shift schedules
- Configure shift rotations and time zones
- Set up coverage rules for automatic assignment
- Auto-assign shifts with fair rotation logic
- Assign shifts for date ranges
- Edit existing shift assignments
- Team members can request leave with approval flows
- Managers can approve or reject leave requests
- Automatic coverage assignment when leave is approved
- Automatically suggests coverage when someone is unavailable
- Assigns backup users based on team availability
- Manual coverage assignment for approved leave requests
- Tracks coverage assignments and status
- Real-time view of active shifts
- Current team members on shift
- Backup assignments and coverage status
- Filter by team and date range
- Edit and remove shift assignments
- View user email addresses
- Coverage gap analysis
- Workload distribution insights
- Leave pattern tracking
- Shift balance metrics
- Total coverages (auto and manual)
- User workload statistics
- Recent activities feed
- Active shifts overview
- Quick statistics
- Team and shift setup using shift settings
- Auto-assign shifts with fair rotation for date ranges
- Leave request and approval flow
- Automatic and manual coverage assignment
- Live "Assigned Staff" dashboard with filters
- Edit and manage shift assignments
- Analytics view (coverage trends, workload balance)
- Recent activities feed on dashboard
- Upload the plugin to
/wp-content/plugins/fluent-shiftflow - Activate the plugin through the 'Plugins' menu in WordPress
- Run
composer installto install PHP dependencies - Run
npm installto install frontend dependencies - Run
npm run productionto build frontend assets - Navigate to ShiftFlow menu in WordPress admin
composer installnpm install# Development
npm run dev
# Watch mode
npm run watch
# Production
npm run productionThe plugin follows the WPFluent framework architecture:
- app/: Core application code
- Models/: Database models (Team, Shift, LeaveRequest, Coverage, etc.)
- Http/Controllers/: REST API controllers
- Services/: Business logic services
- Hooks/: WordPress hooks and handlers
- boot/: Bootstrap files
- config/: Configuration files
- database/: Database migrations
- resources/: Frontend Vue.js application
- assets/: Compiled frontend assets
The plugin creates the following database tables:
fsf_teams: Team informationfsf_team_members: Team membershipfsf_shifts: Shift definitionsfsf_shift_schedules: Scheduled shifts (includes backup_user_id, removed_due_to_leave, leave_request_id)fsf_leave_requests: Leave requestsfsf_coverages: Coverage assignmentsfsf_member_statistics: Member statistics and workload tracking
All API endpoints are available under /wp-json/fluent-shiftflow/v1/:
GET /teams- List all teamsPOST /teams- Create a teamGET /teams/{id}- Get team detailsPUT /teams/{id}- Update teamDELETE /teams/{id}- Delete team
GET /team-members- List team members (supportsteam_id,statusfilters)POST /team-members- Add team memberPUT /team-members/{id}- Update team memberDELETE /team-members/{id}- Remove team member
GET /shifts- List shifts (supportsteam_idfilter)POST /shifts- Create or update shiftPUT /shifts/{id}- Update shift
POST /shift-assignment/assign- Assign shift for a single datePOST /shift-assignment/assign-range- Assign shifts for a date range with fair rotation
GET /schedules- List schedules (supportsdate,start_date,end_date,user_id,team_id,include_cancelledfilters)POST /schedules- Create schedulePUT /schedules/{id}- Update schedule (edit user, shift, date, backup user)DELETE /schedules/{id}- Delete schedule
GET /leave- List leave requests (supportsstatus,user_idfilters)POST /leave- Create leave requestPOST /leave/{id}/approve- Approve or reject leave request
GET /coverage- List coverages (supportsdatefilter)POST /coverage- Create coverage assignment
GET /whos-on- Get current active shifts
GET /analytics/coverage- Get coverage analytics (supportsstart_date,end_date,team_idfilters)GET /analytics/workload- Get workload distribution (supportsstart_date,end_date,team_idfilters)
GET /statistics/member- Get member statistics (supportsuser_id,team_idfilters)GET /statistics/team/{team_id}- Get team statisticsPOST /statistics/recalculate- Recalculate statistics (requiresuser_id,team_id)
GET /activities- Get recent activities (shift assignments, leave requests, coverage assignments)
GET /users- List WordPress users (supportssearch,role,numberfilters)
GPLv2 or later