Calendar

A per-project scheduler that runs playbooks and sends Argus messages automatically — once or on a recurrence — but only while Scape is open on a Mac you've switched Active. It can also show, and edit, the calendars you already have in Calendar on your Mac.

Every project has a Calendar — a scheduler where you set playbook runs and messages to your Argus managers to happen automatically on a clock. Schedule something once, or on a daily, weekly, or monthly recurrence.

The Calendar is the time-based counterpart to Triggers: a trigger fires when a condition is met, a calendar event fires at a time.

You can also connect your own calendars — Google, iCloud, Exchange, anything in Calendar on your Mac — so their events show alongside your scheduled ones, can fire triggers, and, if you allow it, can be edited from Scape.

Opening the Calendar

The Calendar is always present in the project sidebar, alongside Profiles and Integrations — there's no Creation Picker step to add it. Click it to open the Calendar tab in the center pane. Switch between Week and Month views from the header; your chosen view is remembered per project on that Mac.

Scheduling an event

Create an event from the Calendar view (click a day/time slot or the create button). Each event has:

FieldWhat it is
TitleA label for the event.
ActionWhat runs when the event fires — a playbook or a message to an Argus. The picker only offers targets that resolve in this project: the project's playbooks and its Argus managers.
MessageFor an Argus message, the body delivered to the manager. Scheduled playbook runs don't receive a calendar input — this field applies to Argus messages.
Date & timeWhen the first (or only) occurrence happens.
RecurrenceNone, Daily, Weekly, or Monthly, with an interval (every N days/weeks/months) and, for weekly, which weekdays.
Time zoneAn IANA time zone, or System. Recurrence is DST-aware — a spring-forward gap resolves to the first valid time.

Moving and skipping occurrences

You can change a single occurrence without touching the rest of the series:

  • Move — drag an occurrence, or edit its time. Choose the scope: This occurrence writes a one-off override; All moves the whole series anchor.
  • Skip — skip a single occurrence (it renders as skipped). Skipping doesn't delete the event or affect any other occurrence, and you can restore a skipped occurrence later.

Turning the calendar on

A calendar is Active or Inactive per Mac, controlled by the toggle in the Calendar tab's header. This toggle is the only thing that lets events fire — turning it on pops a confirmation, because scheduled actions will start running on that machine while Scape is open.

Key consequences:

  • Off by default on every device. Enabling on one Mac doesn't enable it anywhere else.
  • Each Active device runs independently. If you switch the same calendar Active on two Macs, each may run the same occurrence.
  • Firing only happens while Scape is open. There's no server-side scheduler — a closed app runs nothing.

What happens to missed occurrences

Firing depends on the calendar being Active and the app being awake, so occurrences can come due while nothing is running. When Scape reconciles, how it treats an occurrence depends on how late it is:

  • On time (came due in the last ~5 minutes) — dispatches normally.
  • Late (roughly 5–30 minutes) — dispatches once as a catch-up.
  • Missed (more than ~30 minutes late) — does not auto-fire.

Two floors bound this catch-up:

  • Only occurrences after you last switched the calendar Active are eligible. Turning a calendar Active sets a floor at that moment — occurrences that came due before you enabled it never catch up, even with Skip if missed off. Catch-up covers only occurrences that came due while an already-Active calendar was asleep or closed.
  • Skip if missed affects only the late catch-up band. An on-time occurrence dispatches regardless of this setting; when Skip if missed is on, an occurrence that fell into the late band is not caught up.

Connected calendars

A project's Calendar can show the calendars you already keep in Calendar on your Mac — Google, iCloud, Exchange, or any other account you've added there. Scape reads them through macOS, so there's no separate sign-in.

Connecting a calendar

  1. Open the project's Calendar and choose ⋯ › Calendars on this Mac….
  2. Click Connect Calendars. The first time, macOS asks you to allow Scape full calendar access.
  3. Tick the calendars you want in this project. They're grouped by account.

Each project picks its own calendars, and you can untick one at any time to disconnect it. Once a calendar is connected, the Calendar's Kind filter gains a Calendars option, so you can view connected events on their own.

If you turn calendar access off for Scape in System Settings → Privacy & Security → Calendars, the Calendar shows a banner with an Open System Settings button, and Scape drops its local copy of your events. If a connected calendar is deleted or removed from Calendar, Scape tells you it's no longer in Calendar and offers to remove it.

What you see

Connected events appear in the Week and Month views in their calendar's colour, with all-day events in their own lane and multi-day events spanning each day they cover. Scape keeps roughly the past month and the next two months, and picks up changes you make in Calendar within about a minute.

Click a connected event to see its time, location, and attendees. If it has a Zoom, Google Meet, Teams, or Webex link, a Join button opens the meeting.

Editing events from Scape

Connected calendars are read-only in Scape until you allow editing. In Calendars on this Mac, turn on Scape can edit under a connected calendar and confirm. From then on you — and agents and playbooks you allow — can create, change, and delete its events. Changes go to your real calendar, not a copy.

  • Edit or Delete a connected event from its popover.
  • Create one by clicking a time slot and picking Calendar event, then the calendar to add it to. You can set the title, start and end (or all day), location, and a daily, weekly, or monthly repeat.
  • Scape can edit is per project. It's unavailable for a calendar that's read-only in Calendar itself (a subscribed or shared calendar you can't change).

Two rules protect the events you edit:

  • Never overwrite a newer change. If an event changed somewhere else since Scape last read it — on your phone, or by someone else on a shared calendar — Scape refuses the edit, refreshes, and lets you try again on the current version.
  • Repeating events always ask. Changing or deleting a repeating event asks whether you mean This event or This and all future events. There's no default — not in the Calendar, and not for agents or playbooks.

When Scape changes an event, it only touches what you edited. Anything it wasn't shown — notes, a link, the repeat rule — is kept as it is.

Agents and playbooks

  • Agents can see which calendars are connected (names, accounts, and ids — never event contents) and can create events on a calendar marked Scape can edit. There's no tool that lists your events, so to change or delete one an agent needs that event's id and fingerprint — normally from an event it created, or from a calendar trigger that handed it the event. These tools change your real calendar, so they ask for approval like other external actions.
  • Playbooks change calendars through a Calendar event step, added from the playbook editor's / menu. The step creates, changes, or deletes an event on a calendar marked Scape can edit. A playbook with this step needs your approval before it can run it: click Allow calendar writes… on the step and confirm. Approval is per playbook and per Mac, and any change to the playbook's steps or inputs needs your approval again. Only you can approve it — agents can't.

MCP tools

Agents have full parity on event data — they can create, edit, move, and skip events for you — but there is deliberately no tool to enable the calendar or make it fire. Only you can switch a calendar Active.

ToolDescription
create_calendar_eventCreate a scheduled event (playbook or Argus message), with optional recurrence, interval, weekdays, time zone, and skip-if-missed.
update_calendar_eventEdit an event. Requires the expectedRevision you read — a stale revision is refused rather than clobbering a concurrent change.
delete_calendar_eventRemove an event.
move_calendar_eventMove an occurrence by originalOccurrenceAt, with scope this (one occurrence) or all (the series). DST-aware.
skip_calendar_eventSkip a single occurrence (skip: true) or restore it (skip: false).
generate_calendar_summaryA one-line rollup of a day's occurrences — counts by outcome plus the next scheduled time, e.g. "3 scheduled · 1 succeeded · 1 failed · next 4 PM".

For connected calendars:

ToolDescription
list_connected_calendarsThe calendars connected to a project: id, name, account, whether Scape can edit it, and whether it's still connected. Returns no event contents. Use an id in a calendar trigger or the tools below.
create_external_calendar_eventCreate an event on a connected calendar marked Scape can edit. Returns the event's id, original start, and fingerprint — keep them to change or delete it later.
update_external_calendar_eventChange an event, addressed by its id, original start, and the fingerprint last read (from a create result or a calendar trigger) — refused if the event changed since. title, start, and end are always required, and all_day must be sent again for an all-day event. Omitted location, notes, url, recurrence, and timezone are kept; send "" to clear location, notes, or url. A repeating event needs span (this or future).
delete_external_calendar_eventDelete an event, with the same id, fingerprint, and span rules.