Employee Assignments
Your command center for directing warehouse workers — assign tasks, lock devices, and monitor progress in real time.
org-owner org-admin team-leadOpen this page from Management → Employee Assignments in the admin navigation. It lets managers pre-assign specific tasks to individual workers or entire teams. Instead of workers choosing what to work on, you decide exactly who does what — and their device is configured automatically when they log in.
Access requires the task-assignment.manage permission, which is granted to the org-owner, org-admin, and team-lead roles.
Why Use It?
- Direct control — Assign scanning, picking, and put-away tasks to specific people.
- Zero setup for workers — When a worker scans their badge, the screen is already configured for their task. No context selection needed.
- Lock devices — Workers can only work on their assigned task — they can't switch to other screens.
- Real-time monitoring — See who's working, who's idle, and track progress across your warehouse.
- Team efficiency — Assign tasks to entire teams at once, with automatic conflict detection for shared lots and pick lists.
Page Layout
The Employee Assignments page has three sections:
- Stats bar (top) — Five key metrics across the top of the page.
- Workers & Assignments tables (bottom) — Two side-by-side tables showing worker status and all assignments.
- Create Assignment button (in the page header) — Opens a modal for creating new task assignments.
You can also create assignments scoped to a single auction from the Assignments tab on any auction's edit page. The auction is pre-bound so you don't have to pick it again.
Stats Overview
Five stat cards at the top of the page provide a real-time snapshot. They refresh automatically every 15 seconds.
| Stat | What It Shows |
|---|---|
| Active Workers | Number of workers currently online (not offline). Includes active, idle, and paused workers. |
| Tasks Active | Assignments currently in "assigned", "in progress", or "paused" status. |
| In Queue | Unassigned tasks waiting to be picked up or assigned to a worker. |
| Items Today | Total items processed across all workers and task types today. |
| Avg Items/Hr | Average items-per-hour rate across all active workers today. |
Creating Assignments
org-owner org-admin team-leadClick the Create Assignment button in the page header to open the assignment form modal. The form fields change dynamically based on the task type you select.
Step 1: Select Task Type
Choose one of the three task types the form supports: Scanning, Picking, or Put Away. Each type shows different scope fields relevant to that workflow. See the Task Types Reference below for details on each.
Step 2: Select Warehouse
Optionally select a warehouse to scope location fields. When a warehouse is selected, the Location dropdown only shows locations within that warehouse.
Step 3: Choose Assignment Mode
Three options:
- Specific Users — A multi-select dropdown appears. Select one or more workers. An individual assignment is created for each selected worker.
- Entire Team — A team dropdown appears. All active members of the selected team receive an assignment. Members who already have an active assignment are skipped.
- Add to Queue — No worker is assigned immediately. The task goes into the queue and can be assigned later from the Assignments table.
Step 4: Configure Scope
Based on the task type, additional fields appear:
- Scanning — Auction, Vendor, Lot Mode (Lot Per Item / Manual Lot Control / Specific Lot), and (when Lot Mode is Specific Lot) the target Lot. Optionally a Location.
- Picking — Pick List selection.
- Put Away — Source Lot, target Location.
Step 5: Set Options
- Priority — Low, Normal, High, or Urgent. Higher priority tasks are picked up first when the next queued task is requested.
- Target Item Count — Optional. If set, the assignment auto-completes when the worker's completed count reaches this number.
- Scheduled Start / End — Optional. Time-box the assignment to a shift window. Active assignments past their
scheduled_endare automatically marked expired by a scheduled job. - Lock worker to this task — Defaults to on. When enabled, the worker is constrained to their assigned task in the mobile/scanning app.
- Instructions / Notes — Free-text instructions shown to the worker on their device.
Step 6: Create
Click Create Assignment. The Workers and Assignments tables refresh to show the new assignment(s).
When assigning to multiple users or a team, workers who already have an active assignment are automatically skipped. You'll see a notification showing how many were created and the reasons any were skipped.
Task Types Reference
The Create Assignment form currently exposes three task types. Here's what each one configures and how the worker experiences it.
| Task Type | Admin Configures | Worker Experience |
|---|---|---|
| Scanning | Auction, Vendor, Lot Mode, Lot (when "Specific Lot"), Location | Scan screen opens pre-configured. No context selection. Scanned items go to the assigned auction/vendor/lot. |
| Picking | Pick List | Pick list auto-claimed. Worker scans items from the list immediately. |
| Put Away | Source Lot, target Location | Put-away screen opens. Worker puts items from the assigned lot into the target location. |
The underlying TaskAssignment model also defines cataloging, manifest receiving, quality check, pallet management, and cycle count types. These are reserved for future workflows and are not currently selectable from the Create Assignment form.
Workers Table
The Workers table (bottom-left, heading "Workers") shows all active users in your organization and their current status. It polls every 15 seconds.
Status Indicators
- Active — Worker has an in-progress assignment and is sending heartbeats.
- On Break — Worker has paused their assignment.
- Idle — Worker has a session but no active task.
- Offline — Worker hasn't sent a heartbeat in 10+ minutes, or has logged out. The
workers:mark-stalescheduled command transitions stale sessions to offline.
Table Columns
- Worker — The user's name.
- Status — Color-coded badge showing their current status.
- Task — Badge showing the type of task they're assigned to (Scanning, Picking, etc.), or blank if unassigned.
- Scope — Summary of the assignment (e.g., "Spring Sale / Goodwill / Lot: V-001").
- Progress — Items completed vs. target count (e.g., "45/200"), or just a count if no target is set.
Assignments Table
The Assignments table (bottom-right, heading "Assignments") shows all task assignments. Use the status filter and the "Active Only" toggle to switch between assigned, in-progress, paused, queued, completed, and cancelled views. Expired assignments are not exposed in the filter dropdown; clear the "Active Only" toggle and the status filter to surface them in the unfiltered list.
Assignment Actions
Each assignment row exposes action buttons (visible based on current status):
- Pause — Pauses an in-progress assignment. The worker sees a "paused" state on their device. (Only shown while the assignment is "In Progress".)
- Resume — Resumes a paused assignment. (Only shown while the assignment is "Paused".)
- Reassign — Opens a dialog to select a new worker. The current assignment is cancelled and a new one is created for the new worker with the same configuration.
- Complete — Manually marks the assignment as done. Use this when a task is finished before reaching its target count.
- Cancel — Cancels the assignment entirely. The worker's session returns to idle.
- Assign (queued tasks only) — Assigns a queued task to a specific worker.
Filtering
The status dropdown above the table defaults to Assigned, and the Active Only filter is on by default. Because filters combine with AND, the initial view shows only assignments whose status is assigned. To see in-progress and paused work, clear the status dropdown (the "Active Only" toggle alone keeps the view scoped to assigned, in-progress, and paused). Change either filter to surface queued, completed, or cancelled rows.
Cancelling or reassigning an assignment while a worker is mid-task does not delete the items they've already processed. Any items already scanned, picked, or put away remain in the system; only the assignment row is closed out.
Worker Experience
Here's what happens from the worker's perspective when they have an active assignment.
Logging In
- Worker scans their login barcode badge (or enters email/password).
- The login response includes any active assignment for that user.
- If an assignment exists, the app uses its task type and scope to open the correct screen with the assigned context pre-applied.
Locked Mode
When an assignment has Lock enabled, the mobile/scanning app constrains the worker to the assigned task — they cannot change auction/vendor/lot context or switch to a different workflow while the assignment is active.
Taking a Break
Workers can pause their assignment from the app; the assignment status moves to Paused and the admin sees the worker's status change to "On Break" in the Workers table. Resuming returns the assignment to In Progress.
Assignment Completion
- Target count reached — If a target count was set, the assignment auto-completes once
completed_countreaches the target. (SeeTaskAssignmentService::incrementProgress().) - Manual completion — An admin can mark it complete from the Assignments table.
- Expiry — Active assignments whose
scheduled_endhas passed are transitioned to Expired by theassignments:expire-stalescheduled command.
Reassignment
When an admin reassigns a task, the current assignment is cancelled and a new one with the same configuration is created for the new worker. Any items already processed are preserved.
Logging Out
When a worker logs out via the API while their assignment is in progress, the assignment is automatically paused (not cancelled), and their worker session is marked offline. The admin can reassign the paused task or wait for the worker to log back in.
Team Assignments
org-owner org-admin team-leadWhen you select Entire Team as the assignment mode, ListerLeo creates individual assignments for each active member of the selected team.
How It Works
- Select "Entire Team" in the Assign To dropdown.
- Choose the team from the Team dropdown.
- Configure the task type and scope as usual.
- Click Create Assignment.
- One assignment is created for each active member of the team.
- Members who already have an active assignment are automatically skipped, and the existing assignment is named in the warning.
After creation, you'll see a notification like: "5 assignment(s) created for team (2 skipped)", with the names and reasons of any skipped workers listed in the notification body.
Team assignments work great for shift planning. Before a shift starts, assign the day's work to each team — scanning team gets their auction/vendor, picking team gets their pick lists. Workers just scan their badge and start.
Tips & Best Practices
When assigning scanning tasks, "Lot Per Item" mode creates a new lot for each scanned item automatically. This is the fastest workflow for large receiving shipments where each item needs its own lot.
Setting a target count (e.g., 200 items) gives you a clear "completed / target" readout in both the Workers and Assignments tables (e.g., 45/200). It also auto-completes the assignment when the target is reached, so the worker doesn't have to mark it done manually.
Create assignments with "Add to Queue" before a shift starts. Then quickly assign them to workers as they arrive by clicking "Assign" in the Assignments table.
The service detects two specific conflict cases: assigning a second scanner to the same lot when Lot Mode is "Specific Lot", and assigning a pick list that already has an active assignment. "Lot Per Item" mode does not raise conflicts since each scan creates its own lot.
Workers without assignments continue to work exactly as before — they choose their own context. Employee Assignments is additive; it doesn't break the existing workflow for users who aren't assigned.