Schedules and triggers

Wake crew members on a cron schedule, when they're mentioned or assigned work, or when something happens on GitHub.

A member starts work when something wakes it up: a schedule, a message, a task, or an outside event. Each wake-up is a run, an ordinary session with the member's instructions, goals and a note about why it started.

In local mode, schedules fire only while Cusp is running on your computer. Firings that fall while it's closed are not made up later. Cloud crews, which run around the clock, are in preview.

Schedules

A schedule has a label, a cron expression, an optional time zone and the prompt the member receives when it fires. A member can have up to 20 schedules, and each can be switched off without deleting it.

Schedules use five-field cron syntax, evaluated in the schedule's time zone or, if it has none, the team's:

┌───────────── minute (0–59)
│ ┌─────────── hour (0–23)
│ │ ┌───────── day of month (1–31)
│ │ │ ┌─────── month (1–12 or jan–dec)
│ │ │ │ ┌───── day of week (0–6 or sun–sat, Sunday = 0)
│ │ │ │ │
0 9 * * 1-5

Lists (1,15), ranges (9-17) and steps (*/15, 9-17/2) work in every field. When both day of month and day of week are restricted, the schedule fires when either matches.

ExpressionFiresShown in the app as
30 9 * * 1-509:30 on weekdaysWeekdays at 09:30
0 8 * * 108:00 every MondayMondays at 08:00
*/30 * * * *Every 30 minutes*/30 * * * *
0 18 1 * *18:00 on the first of each month0 18 1 * *

Role presets come with a routine. The Software Engineer preset, for example, has a check at 09:00 on weekdays. A member's schedules are listed on its profile. You can adjust them while customizing a hire.

Quiet hours

A team can set quiet hours, for example 20:00 to 08:00 in the team's time zone. Scheduled firings that fall inside them are skipped. Messages, tasks and events still wake members during quiet hours.

Rituals

The team's rituals run on their own schedules: a daily standup at 09:30 on weekdays and a weekly review on Fridays at 16:00 by default, in the team's time zone. Quiet hours don't apply to rituals.

Triggers

Besides schedules, a member can react to:

TriggerWakes the member when
mentionSomeone mentions its @handle in the team room
direct-messageSomeone messages it directly
task.assignedA task is assigned to it
task.review-requestedIt's asked to review a task
approval.decidedYou decide one of its approval requests
github.mentionSomeone mentions it on GitHub, in the listed repositories (all, if none are listed)
github.pull_requestA pull request is opened, updated, marked ready for review or closed, in the listed repositories
eventA named event arrives, such as one sent by your CI

A GitHub comment that mentions specific members by @handle goes only to them.

In local mode, GitHub triggers fire for pull requests Cusp is already following from a session. Webhooks from the Cusp GitHub App, and named events from outside services, are delivered through Cusp's cloud, which is in preview.

When a run doesn't start

A wake-up is skipped, with a note in the team's activity, when:

  • The member is paused or retired.
  • The member doesn't react to that kind of wake-up.
  • The member is over its budget.
  • No runner is available to execute the run.

A message that arrives while a member is mid-conversation isn't skipped: it waits and follows when the conversation ends.

Run history

Every run is recorded in the team's Activity view with what started it and how it ended, and its cost counts toward the member's budget. Each run is an ordinary session on your machine.

On this page