Drag-and-drop on the dispatch calendar is the dispatcher's primary input mechanism. Move scheduled todos, reassign across agents, signal rank changes on floating todos, drop tickets onto specific time slots — all without opening dialogs.
Problem: Clicking through dialogs to move every todo, change every duration, and reassign every piece of work is slow. As a dispatcher you're moving the team's work around constantly — the inefficiency compounds.
Horizon's answer: The Dispatch Calendar (Dashboard) supports drag-and-drop for moving, reassigning, and resizing scheduled work. The same tool that's a nice convenience for agents becomes the primary input mechanism for dispatchers.
Move a scheduled todo to a new time
The todo's start time updates everywhere — the Dashboard, the agent's calendar in the agent panel, and the helpdesk's calendar entry.
Reassign by dragging across resource lanes (dispatcher-only)
This is the dispatcher superpower the agent calendar doesn't have:
The todo moves to Agent B's calendar at the chosen time. Agent A's lane reflects the removal. The helpdesk's calendar entry updates to the new assignee.
This is the fastest way to rebalance the team's day. If you see Agent A overloaded and Agent B with empty time, just drag the work over.
Drag a floating todo on the calendar — same surprise as the agent guide
Floating todos don't have a fixed time, so dragging them doesn't literally move them. The drag is interpreted as a signal:
The modal is the system asking "why did you drag this?" — pick the action you actually meant.
Drag a ticket from the Ticket Tray onto the calendar
If you have the Ticket Tray widget visible:
Resize a todo to change its duration
Click vs drag — what each does
| Action | Result |
|---|---|
| Click a scheduled todo | Opens the slide-over with details and ticket actions |
| Drag a scheduled todo to a new time (same lane) | Reschedules |
| Drag a scheduled todo to a different lane | Reassigns + reschedules |
| Click a floating todo | Opens the slide-over |
| Drag a floating todo | Opens the rank/defer modal — drag is a signal, not a move |
| Click an empty time slot on a lane | Opens create-todo with that agent and time pre-filled |
| Drag a ticket from the tray onto a slot | Opens create-todo with ticket, agent, and time pre-filled |
Why you can't schedule in the past
If you drag a todo (or a ticket) to a time that's already passed, Horizon blocks the action with a "Cannot schedule in the past" message showing the time you dropped on and the current time.
The block exists because past scheduling produces nonsense — calendars don't accept events in the past, the agent can't "go do" work that already should have happened, and reporting breaks. If you need to record work that already happened, that's a time entry in the helpdesk, not a scheduled todo.
Multi-day moves
Drag-and-drop works across days when you're in the Week view. Drop on a different day, same confirmation modal as same-day moves. Day view is single-day; Month view doesn't support drag (switch views first).
Things that won't drag
Tip: Drag-across-lanes is the dispatcher's most powerful single move — two seconds vs. three or four clicks via Direct Assign. Use it whenever you're rebalancing. Especially good for end-of-morning corrections when you can see the day shaping up unevenly.