How Auto-Scheduling Works: Behind the Scenes

Auto-Scheduling uses task metadata and calendar availability to decide where work should go. The system evaluates:

  1. Inputs → Task parameters (duration, start date, deadline, priority, effort) plus user schedules and existing calendar events.

  2. Logic → Motion’s optimization engine scans for open time blocks and places tasks in the most efficient order.

    1. Prioritizes deadlines and high-priority tasks first.

    2. Splits long tasks into chunks if needed.

    3. Respects breaks, working schedules, and external events.

  3. Output → Tasks appear on the calendar as scheduled blocks with ETAs for completion.

System Behavior

Dynamic adjustment

  • Tasks reschedule automatically if new meetings or conflicts arise.

  • If a deadline is at risk, Motion pushes the task earlier or flags it with an alert.

When a task can’t fit

  • Motion flags the task with a warning.

  • The task remains unscheduled until you adjust its parameters (duration, deadline, or priority).

When a task is past due

  • Motion reschedules the task into the next available slot.

  • Past-due tasks are surfaced visually (e.g., overdue indicator) so they aren’t overlooked.

Deadlines and ETAs

  • Every task has an ETA (Estimated Time of Arrival) showing when it will be completed.

  • ETAs act as “beacons,” warning you if tasks are likely to miss their deadlines.

Cross-project scheduling

  • Auto-Scheduling weighs tasks across all projects in the workspace.

  • Higher-priority or sooner-deadline tasks across projects are given scheduling precedence.

Edge Cases & Limits

Auto-Scheduling follows strict rules for task placement. Certain scenarios may cause tasks to behave differently or not appear on the calendar at all.

Scenario
Behavior

Tasks with no duration

Cannot be scheduled. A duration must be provided before Motion can place the task.

Tasks with no deadline or priority

Won't be scheduled. Motion will not place it on your calendar

Tasks with start dates in the future

Motion will not schedule them until the start date arrives, even if earlier time is free.

Chunking limits

Long tasks are split into smaller blocks, but splits respect a minimum block size (e.g., Motion won’t split into blocks too small to be useful).

Conflicting constraints

If deadlines, durations, or priorities cannot be met with available time, the task is flagged as unschedulable (State = Could not fit).

Tasks keep moving

Motion automatically reschedules tasks if higher-priority work or new events appear, which can make some tasks shift multiple times.

External calendar conflicts

Events from connected calendars always override task blocks. Motion reschedules around these events.

Cross-workspace tasks

Tasks cannot be scheduled across different workspaces. All scheduling logic applies applies across all workspaces where the task was created.

Troubleshooting

Issue
Likely Cause
How to Fix

Task doesn’t appear on the calendar

Missing duration, start date set in the future, conflicting constraints, no deadline or auto-scheduling is turned off.

Add a duration, check start date, add a deadline, turn auto-scheduling on.

Task keeps moving

New meetings or higher-priority tasks are rescheduled ahead of it.

Adjust task priority or deadline, or lock the task manually if the time is critical.

Task split into unexpected chunks

Duration is larger than available calendar blocks.

Adjust chunk size by editing duration or splitting the task manually.

Deadline missed

Too many higher-priority tasks ahead, or insufficient working hours.

Extend working schedules, adjust task priority, or redistribute workload.

Task doesn’t respect personal events

The event is not on your My Calendar (e.g., belongs to a “Frequently Met With” calendar), or it’s not marked as “busy.”

Ensure the event is on your calendar, marked as busy, and that external calendars are syncing correctly.

Recurring tasks not scheduling

Recurrence set without valid parameters (e.g., no duration).

Add valid duration and deadlines to each recurrence instance.

Last updated

Was this helpful?