Modes guide
Modes are the interpretation layer at the centre of ModePilot
A mode turns calendar context into operational behavior. It identifies what kind of activity is happening, decides how Slack should respond, determines whether the time counts as work, and gives habits a stable state to target.
Mental model
One classification, several downstream uses
The current mode is derived rather than manually declared by default. ModePilot reads an active calendar event, resolves it to a stable mode key, and then lets each connected part of the product consume the same classification.
The key is generated when you create the mode and acts as the stable identifier. You can change the visible mode name later without changing the key that linked habits and stored records use.
Create a mode
Start with the behavior that needs to differ
Create a separate mode when an activity needs a distinct Slack signal, interruption policy, reporting treatment, or habit link. Do not create modes merely to reproduce every label in your calendar.
- Client calls need a visible status and DND.
- Deep work should protect attention and count as work.
- Lunch should stay visible in all activity but not work totals.
- Offline time should set Away and stop contributing to work time.
- Several modes produce exactly the same behavior.
- A broad “meeting” mode competes with every specific call mode.
- The mode exists only to rename one calendar event.
- Schedule boundaries are duplicated as ordinary work modes.
A new mode starts enabled at priority 50, counts toward work totals, uses Any keyword matching, has no keywords or buffers, and does not change Slack status or DND until you configure those outputs. Changes take effect after you save.
Field reference
What each setting controls
Identity and control
- Mode name
- The editable label shown across the interface.
- Mode key
- The stable identifier generated from the original name. Habits and stored logic refer to this key.
- Enabled
- When disabled, the mode is ignored by matching and downstream actions.
- Color
- A consistent visual identifier used in mode summaries, calendars, and status surfaces.
- Priority
- The conflict score used when more than one mode is active. Higher values win.
- Description
- An optional editor note explaining the purpose of the mode.
Calendar matching
- Keywords
- One phrase per line. Each phrase is a case-insensitive substring match against the event title.
- Match titles containing
- Any of these keywords is the default; All of these keywords requires every keyword line to appear somewhere in the title.
- Start buffer
- Starts the mode before a matched timed event begins.
- End buffer
- Keeps the mode active after a matched timed event ends.
- Linked habits
- Shows which habits write managed calendar events that target this mode directly.
- Preview this week
- Open below Keywords to see timed title matches using your unsaved settings. Each affected range shows whether this mode wins, another named mode wins, or work boundaries apply. Uses your saved work schedule and selected week start; temporary controls and past status changes are excluded.
- Setup guide
- Open a mode and choose Setup guide beside its editor tabs to review that specific mode without creating another one. Skipping or completing a guide suppresses automatic prompts for your account in this browser; the button can always reopen it.
Matching and priority
How an event becomes an active mode
Ignore events that cannot act
Cancelled events and events you have declined do not become mode candidates. Work modes normally evaluate timed events; Google Calendar out-of-office events are handled separately.
Prefer managed mode metadata
A ModePilot-managed habit event can carry its mode key directly. When that metadata is present and the mode is enabled, the event does not need to match a title keyword.
Match ordinary events by title
For other timed events, ModePilot checks the title using case-insensitive substring matches. Choose Any of these keywords to match one or more lines, or All of these keywords to require every line. Existing modes default to Any.
Expand the active window
Start and end buffers can make the mode active before the event begins or keep it active after the event ends.
Resolve overlaps by priority
If several modes match at once, the higher priority wins. If priorities are equal, the candidate with the later end time wins.
Keywords are substring matches. A keyword such as call also matches “Recall planning.” Prefer phrases that identify a real class of event, then use priority only for legitimate overlaps.
Slack behavior
A mode controls four independent Slack signals
Configure only the signals the mode needs. ModePilot calculates the active mode and its end time first, then applies the resulting Slack state through the official integration.
Turns Slack DND on for the active mode until the resolved mode end time.
Controls whether ModePilot writes the configured status text and emoji. When off, ModePilot clears the status it previously managed.
Leave presence unchanged, return control to Slack’s automatic presence, or force presence to Away.
The message and emoji shown while the mode is active. Workspace custom emojis are available when Slack is connected.
Time tracking and habits
The same mode also shapes reporting and recurring blocks
Included in work totals controls whether time classified to this mode contributes to Work time and weekly target progress. A mode can remain visible in All activity while being excluded from work totals.
If Everhour is connected, the mode may inherit the default project and task rules or override them. Task names can use the mode name, event title, both values, or one selected task.
Open Time trackingA habit can write its target mode key into a managed Google Calendar event. The engine uses that metadata directly, so the habit event does not depend on a keyword in its title.
Review linked habits before deleting or repurposing a mode. Changing the display name is safe because the stable key remains unchanged.
Read the habits guideSpecial states
Not every visible state is an ordinary work mode
ModePilot separates calendar work modes from schedule boundaries and deliberate overrides. This keeps event classification from carrying responsibilities that belong to the schedule or runtime control layer.
Available
The read-only fallback used during working hours when no calendar mode or out-of-office state is active. It does not write its own Slack status.
Out of office
A special boundary mode triggered by Google Calendar OOO events or an exact OOO title. It supports {return_date}, which resolves to the next actual working day after weekends and follow-on OOO blocks.
After hours and recovery
Schedule-owned states for time outside work windows and protected recovery after qualifying late meetings. Their Slack behavior is edited under Boundary modes.
Manual overrides
Focus, Break, and Extend workday use separately configurable Slack defaults. End workday now reuses the After hours boundary behavior.
Verify and troubleshoot
Test the classification before tuning every output
Add one representative event, save the mode, and check the Dashboard reason and Activity history. Once the correct mode wins reliably, tune Slack, reporting, and integration routing.
Confirm the mode is enabled, the event is on the selected calendar, and the event is timed. With Any, at least one keyword must match; with All, every keyword must match. An empty keyword list does not match titles. Habit events only match directly when they remain ModePilot-managed and retain the linked mode key.
Look for overlapping events, broad substring keywords, a direct mode key on a managed event, or a higher-priority OOO or boundary state. Raise priority only after the matching rules are specific enough.
Check that Slack is connected and that the mode enables the output you expect. Status, DND, and presence are independent settings; enabling one does not automatically enable the others.
Check whether the mode is included in work totals, then confirm which mode actually classified the event. Schedule windows and explicit after-hours work also affect reporting.