Docs

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.

Calendar inputKeywords or managed metadata
Conflict handlingPriority + active window
Downstream behaviorSlack + time + history

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.

Calendar event“Client discovery call”
Resolved modeProspect calls
ConsumersSlack, time, history
Mode key and mode name are different

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.

A useful mode boundary
  • 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.
A weak mode boundary
  • 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.
New-mode defaults are intentionally conservative

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

01

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.

02

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.

03

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.

04

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.

05

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.

Keep keywords narrow before adjusting priority

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.

Do Not Disturb

Turns Slack DND on for the active mode until the resolved mode end time.

Apply status

Controls whether ModePilot writes the configured status text and emoji. When off, ModePilot clears the status it previously managed.

Presence

Leave presence unchanged, return control to Slack’s automatic presence, or force presence to Away.

Status text and emoji

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

Time tracking

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 tracking
Linked habits

A 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 guide

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

The mode never activates

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.

The wrong mode wins

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.

Slack does not reflect the mode

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.

Time appears in the wrong total

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.