Garage Door OS Docs
Jobs & Scheduling

Job Pipeline Board

Drag jobs between status columns on a Kanban board.
4 min read

Job Pipeline Board

Move jobs across status columns on a drag-and-drop Kanban board for a quick operational picture — with enterprise transition rules, required-field prompts, customer-contact gates, optimistic moves, and persisted column order.

Overview

The Job Board at /jobs/board groups jobs into columns by status: Draft, Scheduled, In Progress, On Hold, Completed, and Cancelled. Drag cards between columns to update status without opening each job. Cards can also be reordered within a column; that order is saved.

How to access

  • Jobs → view toggle Board/jobs/board
  • Or navigate directly to /jobs/board
Requires jobs:view to open; status changes require jobs:update (cancel requires jobs:delete / manage).

What you can do today

  • See up to 500 jobs across six status columns (sorted by board order, then schedule).
  • Drag and drop a job card to another allowed status column.
  • Reorder cards within a column; order persists for the team.
  • Click a card to open /jobs/:id.
  • Refresh the board after external changes.
  • New Job shortcut to /jobs/new.
  • Open a message drawer or place a call from a card (telephony when configured).
  • After a successful move, use Undo when the reverse status transition is allowed.

Transition rules

Only workflow edges are allowed (same rules as job detail / API):
FromTo
DRAFTSCHEDULED, CANCELLED
SCHEDULEDIN_PROGRESS, CANCELLED
IN_PROGRESSON_HOLD, COMPLETED
ON_HOLDIN_PROGRESS, CANCELLED
Invalid columns show a visual reject while dragging. Completed and Cancelled cards are not draggable.

Required fields

If a move needs missing data, a modal collects it before the status change:
  • DRAFT → SCHEDULED: customer, scheduled date, service address
  • SCHEDULED → IN_PROGRESS: assigned technician (start time auto-fills)
  • IN_PROGRESS → ON_HOLD: hold notes
  • IN_PROGRESS → COMPLETED: end time / completed date auto-fill

Customer contact gate

Before SCHEDULED → IN_PROGRESS or IN_PROGRESS → COMPLETED, ServiceFlow requires recorded customer contact. Contact counts when:
  • An outbound SMS/email is sent for the job, or
  • A call is linked / placed from the board, or
  • You choose Mark as contacted in the transition modal

Prerequisites

  • jobs:view permission.
  • jobs:update to move cards (status changes).
  • jobs:delete (or manage) to cancel via the board.

Step-by-step

Move jobs on the board

  1. Go to Jobs and select Board, or open /jobs/board.
  2. Locate the job card in its current column.
  3. Drag the card to a valid target status column (invalid columns are highlighted as not allowed).
  4. If required fields or customer contact are missing, complete the modal, then confirm.
  5. The card moves immediately; a success toast appears (with Undo when reversible).

Reorder within a column

  1. Drag a card above or below another card in the same status column.
  2. Release — the new order is saved for everyone on the board.

Start from the board

  1. Click New Job to open /jobs/new.
  2. After creation, return to the board — the job appears in Draft or Scheduled depending on how you saved it.

Current limitations

  • The board loads a large page size (500 jobs); very high-volume shops may need list filters elsewhere first.
  • Contact rules for start/complete are fixed for this release (not per-business configurable yet).
  • Mobile layout stacks columns; drag may be less convenient on small screens — use the status menu or job detail if needed.

Related features