Skip to main content
Beebole’s Gantt chart displays your tasks as bars on a timeline, so you can see start and end dates, sequence work with dependencies, and spot scheduling overload at a glance. It is one of the four views of the Planning page, alongside the Kanban board, the Staffing view, and the List view — all show the same tasks, so a change in one view appears instantly in the others.

Opening a Gantt view

1

Open the Planning page

Click Planning in the sidebar. Pick the planning you want at the top of the page.
2

Select a Gantt view

Click a Gantt view tab above the task list. To create another one, click Add a view and select Gantt chart — each view keeps its own columns, grouping, and scale.

Reading the timeline

Each task with dates appears as a horizontal bar running from its start date to its end date, in the task’s color. Task names show their full project and task path, so tasks with similar names are easy to tell apart. In a planning set to Bookings, each bar is a booking named after its project and person — see Tasks or bookings. A vertical line marks today, and the timeline extends as you scroll — right into the future, left into the past — with a Today button to jump back to the current date.
Beebole Planning page for Main plan on its Gantt view: the Row # and Task Name columns on the left, and on the timeline one colored bar per task with dates, dotted arrows linking dependent tasks, month pills for September to December 2026, a load bar under each week number, and an orange vertical line marking today

The Gantt view of Main plan, week by week, with dependency links and today's line

Hover any bar for a rich tooltip: the full dates, the task name, its project with parents, the owner, the planned hours or days and allocation percentage, plus a hint about what ⌘ does on the chart. Where one month ends and the next begins, the timeline draws a vertical line across the chart and a pill above it with the month and year, so you keep your bearings while scrolling a long stretch of days or weeks.

Choosing the period

Open the ⋯ menu on the active view tab and use Period to choose how the timeline runs:
  • Infinite by day or Infinite by week — the endless scrolling timeline, at day or week granularity.
  • Day, Week, 2 weeks, 3 weeks, 4 weeks, or 6 weeks — the chart fits that window to your screen and lists only the tasks that fall inside it (parent tasks are kept).
Beebole Gantt view tab menu with Period, Durations in, Columns, Group by, Dependent tasks, Filters, Rename, Duplicate and Delete, and the Period submenu listing Infinite by day, Infinite by week (checked), Day, Week, 2 weeks, 3 weeks, 4 weeks and 6 weeks

The view tab's menu open on Period

With a fixed window, the view pages one period at a time: swipe or scroll sideways and it snaps cleanly onto the next or previous window, and the period containing today is always reachable. The period’s dates sit on the left of the view tabs. Click them to pick another window, or use the Copy the previous period button next to them to refill the window from the last earlier period that holds tasks, With people or Without people (see Copying the previous period). With a fixed period, tasks that start before or end after the window are drawn cut off, with a dashed edge and a chevron — click it and the window moves onto the hidden start or end date, scrolling smoothly to the bar. Cut edges can’t be resized, since the date they would move isn’t on screen.
Tasks without dates still appear as rows in the task list — they just have no bar yet. See below for how to schedule them directly on the timeline.

Zooming in and out

Click a cell in the timeline header to zoom one level into that period: from the endless timeline down to the multi-week window you last chose (when it is longer than a week), then to a single week, then to a single day. Hovering the cell first previews the stretch of timeline the click will fill. To go the other way, use the zoom-out button next to the period’s dates, on the left of the view tabs. It names the level it will take you back to (Day, Week, 2 weeks and so on, or ∞ for the endless timeline).

Scheduling tasks on the timeline

  • Give a task dates — In the row of a task that has no dates yet, click the timeline to create a bar spanning that cell, or click and drag to draw the exact period you want. Dragging on the row of a task that already has dates scrolls to its bar and flashes it instead.
  • Move a task — Drag its bar left or right. The duration is preserved.
  • Resize a task — Drag the left or right edge of the bar to change the start or end date.
  • Work on several tasks at once — Select several bars, then drag them together to reschedule the whole group in one move, hold ⌘ (Alt on Windows/Linux) while dragging to drop dated copies, or grab any selected bar’s edge to shift every selected bar’s dates by the same amount. Press Delete (or Backspace) to remove the whole selection at once. Each batch is a single undo step.
While you drag, Beebole shows the new dates live — and tasks linked by dependencies follow the drag on screen before you drop. Changes are saved automatically when you release the bar. If the task’s planned time no longer fits the new period, the task detail panel flags the overflow and offers one-click fixes — see scheduling dates and planned time.

Giving a task hours

A task normally runs over whole days. To pin it to exact times instead, open the task’s Task details panel and uncheck All day — the hint on the checkbox says it plainly: The task runs over whole days. Uncheck to set the hours it starts and ends. Start time and End time fields appear, pre-filled from the owner’s own working hours, and the task now stretches on the clock rather than by whole days:
  • Dragging, resizing, splitting, and copying the task keep its hours.
  • Typing a figure in Planned reflows the task to the exact minute the owner’s calendar can hold that work — skipping their scheduled breaks, days off, public holidays, and time off — and rolls to the next working day only when the current one runs out of hours.
  • The capacity a timed task consumes is measured on the hours it actually spans, so a two-hour task no longer counts as a whole day against its owner’s workload.
  • On the Staffing timeline, the bar is drawn at its real position inside the day column, with non-working stretches hatched behind it.
Times that fall outside the owner’s working hours are highlighted in the Task details panel, with a tooltip naming the reason — Owner’s schedule starts at …, Owner’s schedule ends at …, Owner’s schedule pauses from … to …, or Owner’s schedule has no working hours that day. When a day simply cannot hold the planned work, Beebole says Not enough working hours on ….
Beebole Task details panel of a booking with All day unchecked, the start time 3:00 PM and the end time 6:00 PM highlighted in yellow, Planned in days, Plan on non-working days and the Backlog status

A task pinned to 3:00 PM to 6:00 PM: the end time is highlighted because the owner's day ends at 5:00 PM

Moving the anchored edge of a period slides the whole period instead of collapsing it — a task set to run 08:00–12:00 and moved to start at 18:00 becomes 18:00–22:00.
To keep a task on weekends and public holidays instead of moving it to the next working day, check Plan on non-working days in the same panel. See scheduling dates and planned time.
A parent task has no dates panel of its own — its dates are the span of its subtasks. Set hours on the subtasks instead.

Task dependencies

Dependencies sequence tasks: a dependent task is expected to follow the tasks it depends on. Dependency links are drawn between the bars on the timeline, color-matched to the tasks at each end, and they follow the bars live while you drag. The lines route around the bars they pass and around group header rows, so a link stays readable in a crowded chart instead of running straight through a bar. Hover a bar and a chain-link handle appears on the half of the bar you are pointing at — the start or the end. Both work the same way, in opposite directions, and the handle’s tooltip says which one you have: Link the end of this task, then Drag onto a task, or click the tasks that start after it (hold ⌘ for several).
  • Drag the handle onto another task and release to create the link.
  • Hold ⌘ as you release to keep the handle armed, so you can chain several tasks one after another without grabbing it again.
  • Release the handle where it is and it stays armed instead: click tasks in the list to link them, and click again to finish.
  • While a handle is armed, tasks already linked to it wear a broken-chain mark — click one to remove that link.
Beebole Gantt chart with a dotted link line running from the end of the App Development bar to the QA Testing bar, whose row is highlighted as the drop target

The end handle of App Development dragged onto QA Testing, before the release

Adding dependencies from the column

Dependencies are also managed in the Dependencies column — add it from the Columns menu if your view doesn’t show it.
1

Click the task's Dependencies field

Click the Dependencies cell of the task that should come after. This activates dependency mode.
2

Pick its dependencies

Click the task it depends on directly in the list — hold ⌘ to select several — or type the row numbers (from the Row # column) into the field, separated by commas.
3

Finish

Click elsewhere or press Esc to leave dependency mode. Arrows now link the bars on the timeline.
To remove a dependency, edit the row numbers in the Dependencies field. A task cannot depend on itself.

How dependent tasks move

Open the ⋯ menu on the active view tab and hover over Dependent tasks to choose what happens to dependent tasks when you move a task they depend on. The submenu is titled Dependent tasks movement options, and each option animates on hover so you can see the behavior before picking it: The setting belongs to the planning, not to the view, so it applies to every Gantt and Staffing view of that planning. The same submenu is available from a Staffing view tab. Whichever option is active, a task that gets rescheduled lands on dates its own owner actually works: its start rolls forward (or back) to the next working day on that person’s work schedule, and its end shifts by the same amount. Moving a task never changes its planned hours — the period is refitted to hold the same working time at its new position.

Planned time

The Planned column shows each task’s planned work. The small button in the column header toggles the unit (Planned in hours or days); the same choice sits under Durations in (Hours or Days) in the view tab’s ⋯ menu. A parent task shows the total planned time of its subtasks.
Beebole Gantt task columns Row #, Task Name and Planned, with the H unit button in the Planned header and planned hours for the first ten Main plan tasks, from Requirements Gathering at 80 to Data Audit at 40

The Planned column in hours, with its unit button in the header

Switching to days does not divide by a fixed 8-hour day. Beebole converts at the length of a working day on the task’s own calendar — the owner’s work schedule, or the company’s when the task has no owner yet — so for someone on 7.6-hour days, 7.6 hours reads as one day. The Planned cell, the bar tooltip, the live figure shown while you drag, the workload heatmap, and Staffing capacity all convert the same way, so their day figures always agree. Planned time is what the workload heatmap compares against each person’s capacity, derived from their work schedule minus their absences.

Workload heatmap

When the chart is grouped, each group header row carries one cell per period (day or week, following the current Period granularity). What the cell draws depends on what you grouped by.
  • Grouped by Owner — Each owner’s row shows a load bar comparing that person’s planned time to their capacity for the period. The bar fills red while capacity remains, turns green when the capacity is met exactly, and turns purple as soon as the person is booked beyond it, with the overload share in a darker purple.
  • Grouped by anything else — For project categories, tag categories, statuses, and the “no owner” bucket of a grouping by owner, the cell shows the group’s total planned time as a figure above a bar scaled to the busiest period on that row. A capacity ratio has no meaning for a group of people, so none is drawn. Planned time that has no owner yet appears as a small red badge in the corner of the cell.
  • Without grouping — A single load bar sits under each day or week number in the timeline header, rolling up everyone. Click it to step the scroll through the rows driving that period’s load.
  • Hover for details — A tooltip names the period, then the planned time against capacity (for example Planned: 32 / Capacity: 40 (80%), in your organization’s duration format), and adds a line per overloaded person with their own figures.
Beebole Gantt of the Main plan grouped by Owner, with weekly load bars on the James Chen, Liam O'Brien and Sophie Laurent header rows, red where capacity remains and purple where Sophie Laurent is booked beyond it, and a tooltip reading 03-10, Planned: 122.44 / Capacity: 40 (306%)

Grouped by Owner: load bars per week, and the tooltip of an overbooked week

Use the heatmap to spot the weeks where an owner is overbooked, then move bars or planned time to rebalance.

Columns

The left panel of the Gantt chart is a configurable table. Open the ⋯ menu on the active view tab and hover over Columns to show or hide columns. Row # and Task Name are always visible — a new Gantt view starts with just those two.
Beebole Gantt view tab menu with Columns hovered and its submenu listing Activity, Client, Dates, Dependencies, Internal, Occupation, Owner, Planned, Potential owners, Status and Tags, each with a pin icon, none of them shown yet

The Columns submenu: click a column to show or hide it, a dark pin marks the columns shown

In addition, one column per project category is available, showing the projects from that category linked to each task.

Reordering, resizing, and sorting columns

  • Reorder — Drag a column header sideways and drop it where you want it. Row # and Task Name stay first and can’t be moved.
  • Resize — Drag the right edge of any column header. Widths are saved with the view.
  • Sort — Click a column header to sort the rows by that column, click again to reverse the direction, and a third time to return to the manual order. An arrow on the header shows which column is sorted and which way. Hovering a header opens its menu, which names the same actions: Sort ascending, Sort descending, and Hide column (Task Name can’t be hidden).
Sorting and grouping work together: with a grouping active, the sort applies inside each group, and subtasks always stay under their parent. While a sort is active, the Row # column shows plain sequence numbers instead of the handles used to drag rows into a manual order — click the Row # header, or Manual order in its menu, to get them back.
Beebole Gantt task columns with the Task Name header menu open, showing Sort ascending and Sort descending over the first rows of the Main plan

The Task Name header's menu, opened by hovering it

For long lists, the List view shows these same columns as a full-width sortable table, without the timeline taking up half the screen.

Editing in the columns

The value cells are controls, so most task fields can be set without opening the task:
  • Status — Step to the previous or next status with the chevrons, or click the status name to pick any of them.
  • Owner — Remove the current owner from its badge, or use the person button on an empty cell to pick someone (Select the owner).
  • Dates — Click the cell to open the task’s period editor.
  • Planned and Occupation — Type the figure straight into the cell.
  • Potential owners — Hover the row for two buttons, one to add a person (Select person) and one to add a tag (Select tag). Each opens its own small editor with the current people or tags as removable badges and a picker to add more.
  • Tags and each project category column — Click the + button for a small editor with the current badges, removable, and a picker to add more.
You don’t need an editor to take a person, tag, or project off a task: hover its badge in the row and click the X that appears over it (Unassign). This works on a single badge and on each badge of a stacked group alike. To change several tasks in one go, ⌘+Click (Ctrl+Click on Windows) rows to build a selection, or Shift+Click for a range, then change a value on any row inside the selection: every selected task gets it, as a single undo step. Esc clears the selection and Delete removes every selected task.
When a task’s bar sits outside the visible timeline, hovering its Dates cell shows an arrow pointing left or right — click it (Show in the chart) to scroll straight to the bar. This works even when the task lies outside a fixed period: the window moves onto the period holding the task first, keeping the period length you chose.

Adding tasks in place

You can name new tasks straight in the task list. Hover over a row and click the + button next to the task’s name: a name field opens under the row, and what you type becomes a subtask of that task. When the chart is grouped, each group header has its own + button (Add Task), which opens the field at the top of the group; the new task gets the group’s owner, status, or project. Press Enter to save the task and open a field for the next one, or paste a list to add several at once. Hold ⌘ (Ctrl on Windows) as you click a + to open the full add form instead, with the same values filled in. In a Bookings planning, both buttons open the Add Booking form. See Adding tasks in place for the details.

Row grouping

Open the ⋯ menu on the active view tab and hover over Group by to restructure the list without changing any task data:
  • Owner — One group per task owner
  • Status — One group per status
  • A project category — Hover its name and pick one of its levels
  • A tag category — Hover its name and pick one of its levels
Select None to remove grouping. With a grouping active, Show all groups also displays empty groups — useful to see owners or statuses that currently have no tasks. Hover over a group header to show its + button, which adds a task at the top of that group with the group’s owner, status, or project already set. See Adding tasks in place.

Saved views

The tabs above the task list are saved views. Each Gantt view stores its own Period, Columns (which ones, in what order, at what width), sort, and Group by settings, plus its filters.
  • Create — Click Add a view, then Gantt chart.
  • Reorder — Drag a tab sideways and drop it where you want it.
  • Rename — Double-click the tab (or long-press it on a touch screen) and type the new name, or use Rename in the tab’s ⋯ menu.
  • Duplicate or delete — Use Duplicate and Delete in the ⋯ menu. The last remaining view cannot be deleted.

Filtering

Use the Filters button to narrow the chart — by task, status, owner, potential owner, project, or tags — with the active filter count shown on the button. Filters can be switched off and back on without losing them: the button toggles them rather than clearing them.
From an open task’s detail panel, the Show in the chart button in the top bar brings the task into view: the chart scrolls smoothly to its row and its bar instead of jumping, and with a fixed period the window first moves onto the period holding the task — so it works even for a task outside the period currently shown.

Keyboard navigation

With the Gantt chart focused, you can work without the mouse: The same keys work in all four views of the Planning page. On the Kanban board, Arrow Down and Arrow Up walk the cards of a column and Arrow Right and Arrow Left step to the neighboring column; on the Staffing view, the arrows jump from bar to bar. Expanding and collapsing with Arrow Right and Arrow Left, and indenting with Tab and Shift+Tab, only apply in the two tree views: the Gantt chart and the List.
Keyboard navigation works when the view has focus. Click anywhere in the task list first if the keys are not responding.

Tasks

What tasks are in Beebole — creating, importing, assigning, and tracking time on them.

Kanban board

Move the same tasks through status columns with drag and drop.

List view

The same columns as a sortable, full-width table, with mass edits across selected rows.

Work schedules

Define the working hours that determine each person’s capacity in the heatmap.

Frequently asked questions

No. The Gantt timeline runs Infinite by day or Infinite by week, selected under Period in the view tab’s menu — the week granularity is the one to use for a long-range overview. The same menu can also lock the view to a fixed window of Day, Week, 2 weeks, 3 weeks, 4 weeks, or 6 weeks, fitted to your screen and paged one period at a time.
Either drag the chain-link handle from the end of one bar onto another task, or click the Dependencies cell of the task that should come second and then click the task it depends on (hold ⌘ to pick several) or type its row number. Press Esc to finish. Beebole draws an arrow between the bars.
It depends on the option chosen under Dependent tasks in the view tab’s ⋯ menu: Free leaves dependents in place, Pushing pushes them later when the predecessor would overlap them, and Together moves them along with it. The choice belongs to the planning, so it applies to every Gantt and Staffing view of that planning.
Yes. Click Add a view and select Gantt chart. Each saved view in Beebole keeps its own columns — which ones, in what order, at what width — plus its sort, grouping, scale, and filters, so you can switch between setups without reconfiguring anything.
Yes. Both views display the same tasks from the same planning. Dates set on the Gantt timeline, status changes, and renames are immediately visible on the Kanban board, and vice versa.