Docs

Guide

Schedule recurring calendar habits in ModePilot

Create a habit with allowed days, a time window and a duration, then preview where it can fit. When the scheduler finds a valid slot, it creates a real Google Calendar event. If no slot meets the constraints, the occurrence can remain unplaced rather than displacing your meetings.

Stored definitionHabit
Written outputCalendar event
Consumed byCalendar automation

Setup example

Create a 30-minute reading habit on three weekdays

This example allows a reading block on Monday, Wednesday and Friday between 14:00 and 16:00. Connect Google Calendar and confirm that the calendar available to Habits is the one you want to use before creating it.

  1. Open Habits, choose Create habit and select Start from scratch.
  2. Under Basic details, name the habit Reading. Leave Mode optional unless you want to assign a work mode.
  3. Under Schedule, choose Daily frequency and select Monday, Wednesday and Friday as the Active days.
  4. Set Minimum duration and Maximum duration to 30 minutes, with Ideal start time at 14:00.
  5. Choose Custom windows and allow 14:00–16:00 on those days. Choose Work schedule windows instead if the habit should follow your shared Schedule settings.
  6. Review Calendar behavior, including Busy status, Visibility and reminders.
  7. Choose Run preview and inspect Next proposed slot and Placement outcome before choosing Create habit.

Daily frequency here means an occurrence on each selected active day, rather than one occurrence per week. Ideal start time is a preference, not a guarantee. If a busy meeting occupies 14:00–15:30, the remaining 15:30–16:00 interval is a possible candidate, provided the other scheduling constraints allow it.

Run preview shows a proposed plan; it does not create the calendar events. After saving, check the habit's placement information and Google Calendar once scheduling has processed. A saved definition alone does not confirm a successful calendar write or delivery of a linked Slack action.

Model

What a habit controls

Scheduler inputs
  • Allowed days and time windows
  • Ideal start time and duration
  • Target calendar and optional target mode key
  • Priority, visibility, and busy/free behavior
Scheduler outputs
  • Real Google Calendar events
  • ModePilot-managed metadata in extended properties
  • Preserved manual moves and safe update behavior
  • Normal downstream rule/schedule interpretation

Scheduling

How habit placement works

What it does

Looks ahead across a horizon, finds candidate slots inside allowed windows, rejects overlaps, and chooses the best valid slot based on the habit definition.

What it does not do

It does not try to perform full AI optimization or reschedule arbitrary third-party meetings. It only manages ModePilot-owned habit instances.

Troubleshooting

Why a habit has no available slot

A habit needs a continuous free interval long enough for its minimum duration inside an allowed window. In the reading example, a busy meeting from 14:00–15:45 leaves only 15 minutes before the window closes. A 30-minute minimum cannot fit there, even though part of the afternoon is free.

  • Check Active days and the allowed windows; a window shorter than Minimum duration cannot hold the habit.
  • For Work schedule windows, review the weekly schedule and relevant Date exceptions.
  • Check busy calendar conflicts, out-of-office blocks and whether Respect late meeting recovery excludes the time.
  • Widen the allowed window or reduce the minimum duration only if the shorter activity would still be useful.
  • Run preview again and read Placement outcome. Changing only Ideal start time does not create free capacity.

The scheduler manages ModePilot-owned habit events; an unplaced habit does not authorize it to move other meetings. For the reasoning behind flexible calendar blocks, see how recurring habits fit into a calendar.

Manual edits

Moving a generated habit event

The scheduler detects manual time changes to linked habit events and preserves detected overrides during reconciliation. Move the existing Google Calendar event rather than making an unrelated copy: the ModePilot-managed event metadata is how it remains linked to the habit. Check the resulting placement after a move, especially when changing the date; a copied event is not automatically a managed occurrence.

Where to edit

Use the Habits page directly

Habits workspace

Open Habits to create habits, preview placement and inspect their scheduling information. Use the Modes guide when a habit should trigger a particular work mode.