Plan jobs on the scheduler board
Five views of the same schedule, and how to move work between machines and people.
The scheduler board holds every production work order your plant has open. It is one dataset drawn five ways, and switching views changes nothing about the schedule, only what you can see and what you can grab. This page covers all five views, the controls they share, and the Gantt-only controls that make dates on the board mean the same thing as dates in the plant.
Before you start
- Production Scheduler is part of the Scheduling Engine module. The tab strip renders for every organization, so seeing the Scheduler tab is not proof you are entitled to it. If you are not sure, contact IoTFlows.
- You need membership of the scheduler board. That is a board-level permission rather than an organization role. See Give people access to a scheduler board.
- The board schedules operations, so your parts need routings before anything can land on it. See Create parts and operations.
Open the board
Go to Production, then the Scheduler tab, at /production?select=scheduler.
Three words carry the whole page. A job is the order: a part and a quantity, like 400 of MS-7420 Manifold. A task is one operation of that job on one machine, like OP20 Mill on Haas VF-2, and tasks are what you see on the board. A board is the scheduler itself, with its own member list.
The board opens in whichever view you used last. On a first visit that is Table. The view is remembered in your browser rather than in the URL, so a link you paste to a colleague opens on their view, not yours.
The scheduler board at /production?select=scheduler, in List view. The same schedule is available in five views from the view pill in the control bar.
Which view answers which question
| View | Best for | Drag to reassign | Edit in place | Dependencies |
|---|---|---|---|---|
| List | Reading the backlog top to bottom, grouped | No | Status only | Not shown |
| Table | Comparing fields across many tasks, and exporting | Yes, rows between groups | Most columns | Dependent on column |
| Gantt | Sequence, overlap, dependencies and capacity | Yes, bars between lanes | Dates and durations, by dragging | Arrows between bars |
| Kanban | Moving work between machines, jobs or people | Yes, cards between columns | Title, time estimate, status, assignee | Dependencies card field |
| Calendar | Seeing the week the way the floor sees it | No | Dates and durations, by dragging | Not shown |
Use Gantt when sequence and dependencies are the problem, Kanban when the question is who or which machine owns a task, and Table when you are about to export. Calendar is the one to open when somebody asks what Tuesday looks like.
List view
List is the flattest view: one row per task, under a heading for each group. A row carries its status chip, title, operation, assignees and due date, and turns its due date red once it has passed.
Clicking the status chip changes the status without opening anything. Nothing else on the row is editable, and you cannot drag a row anywhere. Open a task by clicking it, and it fills the panel on the right.
Table view
Table is the default view and the only one with a CSV button. Each row is a task and each column is a field, with the columns you are not using turned off rather than deleted.
The always-on columns are Workorder, Assigned To, Operation, Required Qty, Machine and Part of Job. Every other column is optional, and only Quantity Progress and Status are on out of the box. Turn the rest on from the column control, drag the headers into the order you want, and both choices are remembered in your browser.
Most cells edit in place. Click a cell, change it, and the board writes the work order as you leave the cell.
Table view, grouped by asset. Each row is one task and each column a field; this is the only view with a CSV button.
Column meanings are in Job and scheduler fields, which is also the column list for the export.
Gantt view
Gantt draws each task as a bar on a time axis, in a lane per machine, job or person. It is the only view that shows how work overlaps, and the only one that draws dependencies as arrows.
A bar's right edge is its due date, which is the anchor. The start is worked backwards from the duration, so shortening a task moves its start and leaves its due date alone. A task with no duration of its own is treated as an hour long.
Drag a bar to move it, drag either edge to resize it, and drag it into another lane to reassign it. Click selects; double-click or right-click then View work order opens the panel. Hold Ctrl and click a bar to select everything up and down its dependency chain.
Gantt view, grouped by asset, with dependency arrows drawn between bars. Use it when sequence and dependencies are the problem.
Three surfaces live on the Gantt and have pages of their own. Schedule issues lists everything wrong with the board, and is there even at zero: see Find and fix schedule problems. Optimize proposes a replanned schedule you can review before applying: see Optimize the schedule. Simulations turns the board into a draft that writes nothing until you commit it: see Try a schedule change without saving it.
Kanban view
Kanban draws one column per group and one card per task. The columns are the grouping, not the status: grouped by asset you get a column per machine, grouped by operator a column per person. A task's status is a chip on the card that you click to change, and there is no status-column board.
Drag a card to another column to reassign it. Click the title or the time estimate on a card to edit it in place.
Kanban view, grouped by asset: one column per machine, and status as a chip on each card rather than as a column.
Calendar view
Calendar places each task on the day and time its due date falls, and is the only view with no grouping at all. Drag an event to move it and drag its edge to resize it, and both write the due date and the duration.
Calendar view, two weeks of the schedule placed by due date. It is the only view with no grouping control.
You probably do not want Calendar as your planning view. It has no lanes, so two tasks on the same machine at the same time look no different from two on different machines. Plan on the Gantt and use Calendar to answer date questions.
Group by asset, job or operator
The group-by pill sets what the rows, lanes and columns mean. It applies to List, Table, Gantt and Kanban, and carries in the URL as scheduler_group_by.
| Group by | The question it answers |
|---|---|
| Asset | What is this machine doing next |
| Job | How far through this order are we |
| Operator | Who is overloaded |
| None | One flat list of everything |
Grouping by operator answers "who is overloaded"; grouping by asset answers "what is that machine doing next". Switch between the two rather than picking one, because a board that looks balanced by machine is often piled onto two people.
Regrouping is free. It does not reload the board and it cannot change what the board thinks is wrong: double-bookings and rule violations are read off each work order, not off the lane it happens to be sitting in, so the issue count is the same in all four groupings.
The group-by pill set to Operator. Grouping by operator answers who is overloaded; by asset, what that machine does next.
Reassign by dragging
Dragging a task into another group reassigns it, and what gets written depends on the grouping: the machine when grouped by asset, the parent job when grouped by job, and the assignee when grouped by operator.
The write is optimistic. The task appears in its new home straight away, and goes back if the server refuses.
A task mid-drag from one machine lane to another. Dropping it writes the new machine onto the work order.
Two limits are worth knowing before you try. On the Gantt, lane dragging reassigns only when the board is grouped by asset or job; grouped by operator the bars stay put, and you reassign the person from the Kanban, the Table or the task panel. And dropping anything into an Unassigned lane does nothing, because there is no machine or job to write. Clear the field from the task panel instead.
Edit in place
Most edits happen on the board rather than in a form. Every one of them writes a single work order immediately, and there is no Save button anywhere on this page.
| Where | What you can change |
|---|---|
| Table cell | Title, assignees, quantity, machine, job, due date, time estimate, status, dependency, budget, notes and the other optional columns |
| Kanban card | Title, time estimate, status, assignees |
| List row | Status |
| Gantt bar | Start, duration and, by lane, machine or job |
| Calendar event | Due date and duration |
| Task panel | Every field, including the ones no view exposes |
When a write fails, the board puts the old value back on screen and tells you. That is the behavior to rely on: if the value is still there after the toast, it did not save.
An inline edit that the server refused. The board reverts the change on screen and raises a toast naming the field.
Link dependent tasks
A dependency says one task cannot start until another finishes. Each task holds at most one.
On the Gantt, hover a bar, then drag from the small handle at its right edge onto the bar that follows it. The line turns invalid while you are over a target that would close a loop, and dropping it there raises That link would create a circular dependency and writes nothing.
Elsewhere, set it from the Dependent on column in Table or from the task panel. Remove a link by right-clicking the bar and choosing Remove dependency, or by clearing the field.
Dependencies drive the red bars. A task turns red when its own due date has passed, or when an unfinished predecessor cannot finish in time for it to start. A predecessor that is merely still open, but on schedule, leaves its dependents alone.
Schedule work that has no dates
A task with no due date is unscheduled. It is not hidden: on the Gantt it keeps a tinted row in the left rail, marked with a crossed-out calendar where the date would be, and a chip pinned down the left edge of the chart, inside its own machine, job or operator group. The group header counts them in a badge carrying the same icon.
Drag a chip onto the chart to schedule it. It snaps to the next sensible slot, after its predecessor or after the last task on that lane, and a task dragged in with no time estimate of its own takes a default duration of one hour. Set a real estimate afterwards, or the board is planning against a number nobody chose.
Chips select like bars, so you can schedule a backlog in one gesture: click one, Shift-click another to take the range, or use the group header's orange calendar pill to take every date-less task in that group, then drag the lot in. They land back to back from the drop point. Dragging a scheduled bar back over the left rail unschedules it again, and so does Clear date in its right-click menu.
Unscheduled work floats as chips down the left of the Gantt until you drag it onto the chart. Work dragged in with no time estimate takes a one-hour default duration.
Read the Gantt in Sequence view
Three pills above the Gantt change what the bars mean rather than what is on the board. All three remember their setting.
Gantt display modes
| Mode | Shows | Disabled when | Persisted |
|---|---|---|---|
| Sequence | Equal-width bars in execution order, with no time axis | Never | Yes |
| Working hours | Durations that consume shift time only | No shifts are set up for the organization | Yes |
| Work sessions | A strip under each bar carrying what operators logged | Sequence is on | Yes, and on by default |
Sequence strips the time axis out and gives every task the same width, in the order the work runs. It answers "what comes after what" on a board where a three-day job and a twenty-minute one are otherwise incomparable. It is read-only: dragging a bar there has no time to write, so nothing moves. Zoom, the work-sessions strip and the capacity lane all switch off with it, because each of them is drawn against a time axis that Sequence does not have.
Sequence view: equal-width bars showing execution order only. There is no time axis, so work sessions and Optimize are unavailable here.
Turn on Working hours
Working hours makes durations consume shift time only. With it off, a 14-hour job started at 8am finishes at 10pm whether or not anybody is in the building.
Turn on Working hours before you trust any Gantt date. Without it a 14-hour job on an 8-hour shift finishes overnight on the board and tomorrow afternoon in the plant.
The pill is disabled until your organization has shifts, with the tooltip Set up work shifts in Organization Settings to enable working-hours scheduling. See Shifts and timezone. Once shifts exist, the board shades the off-shift stretches and every drag, resize and optimizer run respects them.
The Working hours pill, on. Durations consume shift time only, so a 14-hour job on an 8-hour shift spans into the next day.
Compare the plan with what was logged
A work session is a stretch of time an operator clocked against a task, carrying the parts they made in it. The Work sessions pill draws those sessions as a strip under each bar, and it is on by default.
The strip is drawn in absolute time, not relative to the bar, which is the whole point: a session that started before the planned start hangs left of the bar, and one that ran past the due date hangs right of it. Blue is worked time, green means a session is running right now, amber means it finished past the due date, and the hatched gaps are idle stretches between sessions.
Click a segment to open that session's history, or right-click a bar and choose Work sessions. Unscheduled tasks get a strip too, because work gets logged against tasks nobody dated.
The work-sessions strip under each bar: what operators actually logged, against what was planned.
Read the capacity lane
The capacity lane is a band docked below the Gantt, drawn on the same time axis as the bars. It has no on-off switch. It appears when the board has something to put in it, and it holds two independent sections that fold separately from the lane's own header.
Capacity lane rows
| Row | Shows | Comes from | Appears when |
|---|---|---|---|
| Tooling | How many units of a reusable tool are left on the shelf over time, stacked by the work order holding them | A reusable inventory item reserved on a task's required parts | Any task on the board reserves that tool, or a task returns units of it |
| Projected output, part | Finished parts of one part number over time, opening at what is on the shelf today | The Create/Release Parts lines on each operation | A work order on the board declares that it creates that part |
| Projected output, operation | The buffer waiting between one step and the next | The scheduled quantities on each step of the routing | The part has more than one operation, for every step but the last |
Tooling rows answer more than how many are taken at 2pm. Because the columns are stacked by work order, they also say which job is holding them and when it gives them back. A row crossing below zero is a shortage, drawn in rose.
Projected output is declared, never guessed. It is computed from the Create/Release Parts field on the operation, so a part nothing on the board declares gets no row, and a board that declares nothing gets no output section at all. That is the payoff for binding materials in the first place. See Link required and created parts to an operation and How work orders move stock.
The capacity lane's tooling rows: units in use over time, stacked by work order, so you can see which job holds them and when it gives them back.
The projected output row. It is computed from the Create/Release Parts field on an operation, so the curve forecasts finished parts across the scheduled work.
Zoom and move around
The bar along the bottom of the Gantt holds the navigation. Zoom in and out with the plus and minus buttons, jump to a density with the Hour, Day, Week and Month presets, fit the whole schedule on screen, or jump to now. The board opens on Day, and on the planned work rather than on wherever the history starts.
Hold Ctrl or Cmd and scroll to zoom at the cursor, which on a trackpad is a pinch. Plain horizontal scroll pans. The zoom controls are all inert in Sequence view.
Select bars and the same bottom bar grows a second half: nudge the selection an hour or a day either way, align every start to the earliest, distribute one after another honoring setup time and dependencies, or clear the dates entirely. Esc clears the selection.
Undo and redo
Every edit the board makes is undoable with Ctrl+Z, and Ctrl+Shift+Z puts it back. The undo button's tooltip names the change it is about to reverse, so you can check before you press it. The history holds the last 50 changes and is cleared when you enter or leave a Simulation.
Deleting is the exception and cannot be undone here. A deleted work order goes to trash on the server for 30 days, which is a different thing from a schedule change the board can invert, so it never enters the undo history.
Filter and search
Filters and search change what the board loads, not what it hides, so they apply to all five views at once and their settings live in the URL.
| Control | Filters by | Shown when |
|---|---|---|
| Machines | Department and machine | Grouped by asset or none, and always in Calendar |
| Parts and operations | Part and operation | Grouped by job or none, and always in Calendar |
| Completion status | Active, Completed or All, with a lookback period on the last two | Always |
The status filter defaults to Active, which covers Not Started, In Progress and On Hold. Completed and All ask you for a period, because completed work goes back as far as your history does. The 1 day, 7 day, 30 day and 90 day periods are open to everyone; 1 year and 5 years need an Enterprise plan.
Search sits behind the magnifier in the control bar and matches work orders on the server. Filters that do not apply to the current grouping are dropped from the URL when you switch, so a machine filter does not quietly survive a move to operator grouping.
Compact mode and card fields
Two display controls narrow the board without changing it.
Compact tightens the rows. It is available on List, Table and Kanban, and each one remembers its own setting, so a compact table does not force a compact kanban. List starts compact; the other two do not.
Card fields decides what a kanban card carries, and only appears on Kanban. The list of fields follows the grouping, since a card in an operator column has no use for a person's name. Out of the box a card shows its part picture, job, assignee, machine, details and quantity progress. Reset puts the defaults back.
The card-fields menu on Kanban, where you choose which fields each card carries. The list of fields follows the current grouping.
Export the table
The CSV button sits at the right of the control bar in Table view, and the Gantt toolbar repeats it as a download icon. No other view has one.
The file mirrors the table: it carries the columns you have turned on, in the order you dragged them, and ignores the grouping entirely, writing one flat list of every task the filters loaded. It adds one column the table does not have, a Part column immediately after Operation, because the screen renders both in a single cell.
Twenty-four columns are available in total, so a default export is nine of them and a fully expanded one is all 24. The file is named scheduler-tasks- and today's date, and it is written UTF-8 with a byte-order mark so Excel opens accented part names correctly. The column list is in Job and scheduler fields, and every other export in the product is in Exports reference.
The CSV button in Table view. It writes the columns the table is showing, in their current order, plus a Part column the table does not have.
When an edit fails
| What you did | What you see | What happened |
|---|---|---|
| Dragged a dependency onto a task that already feeds the first one | That link would create a circular dependency | No link was made |
| Moved, resized or reassigned one bar on the Gantt | Update failed, reverted | The bar went back where it was |
| Moved a selection of bars | 3 of 8 updates failed, reverted | The three that failed went back; the other five saved |
| Resized an event in Calendar | Resize reverted: Issues updating work order | The event snapped back to its old length |
| Dragged an event in Calendar | Issues updating work order | The event snapped back to its old day |
| Changed a field in the task panel | Issues updating due date, Issues updating asset, Issues updating priority, Issues updating group or Issues updating tasks | The field went back to its old value |
| Deleted from the Gantt | Delete failed, or 2 of 5 work orders could not be deleted | Those rows are still on the board |
| Hovered a disabled Working hours pill | Set up work shifts in Organization Settings to enable working-hours scheduling | The organization has no shifts yet |
A generic Something went wrong or An error occurred means the request failed and nothing was saved. Try the edit again, and if it keeps failing, contact IoTFlows.
See also
Insights, at /production?select=insights, prices scheduled work at two hourly rates you type in: Labor $/hr and Production $/hr, defaulting to $35 and $50. It multiplies each task's labor hours and machine hours by those rates, compares the result with the Budget typed on the task, and reports completion, on-time, cost, profit and margin across a date range that opens on the last 90 days. The rates live in the report and are never saved to your organization. A task with no due date counts as on time, and an Approved task counts as neither Completed nor Active.
A Simulation is a sandbox on the scheduler Gantt. Every move is staged in your browser instead of being written, and a dashed teal band scores the draft against the live schedule frozen at the moment you started, on violations, double-bookings, overdue work, span and unscheduled tasks. The What-ifs drawer adds custom working hours and rule relaxations that change the projection but are never saved. Commit writes the staged work orders and cannot be undone; Discard throws the draft away without asking.

















