# 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.

<table><thead><tr><th width="250.77734375">Scenario</th><th>Behavior</th></tr></thead><tbody><tr><td><strong>Tasks with no duration</strong></td><td>Cannot be scheduled. A duration must be provided before Motion can place the task.</td></tr><tr><td><strong>Tasks with no deadline or priority</strong></td><td>Won't be scheduled. Motion will not place it on your calendar</td></tr><tr><td><strong>Tasks with start dates in the future</strong></td><td>Motion will not schedule them until the start date arrives, even if earlier time is free.</td></tr><tr><td><strong>Chunking limits</strong></td><td>Long tasks are split into smaller blocks, but splits respect a <strong>minimum block size</strong> (e.g., Motion won’t split into blocks too small to be useful).</td></tr><tr><td><strong>Conflicting constraints</strong></td><td>If deadlines, durations, or priorities cannot be met with available time, the task is flagged as unschedulable (State = Could not fit).</td></tr><tr><td><strong>Tasks keep moving</strong></td><td>Motion automatically reschedules tasks if higher-priority work or new events appear, which can make some tasks shift multiple times.</td></tr><tr><td><strong>External calendar conflicts</strong></td><td>Events from connected calendars always override task blocks. Motion reschedules around these events.</td></tr><tr><td><strong>Cross-workspace tasks</strong></td><td>Tasks cannot be scheduled across different workspaces. All scheduling logic applies applies across all workspaces where the task was created.</td></tr></tbody></table>

## **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.                                                |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.usemotion.com/help/~/revisions/MRgVJ8iYmnAOZza4T9gj/time-management/auto-scheduling/reference-auto-scheduling/how-auto-scheduling-works-behind-the-scenes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
