Scheduled

Recurring work that runs on a timer.

Pick a cadence, write the prompt, choose where you want the result land, and Sauna runs it on its own. Every fire creates a session you can spot in Dashboard under the Scheduled source filter (see Filter), or it drops into iMessage or Email if you picked one of those instead.

Overview

The page is a single column of task cards titled Scheduled Tasks, with a + New button in the top-right.

Each card shows:

  • The task's name and a coloured state pill (Active / Paused / Disabled).
  • A preview of the prompt body.
  • Repeats: the cadence in plain language ("Weekdays at 4:00 PM", "Every day at 10:00 PM").
  • Next Run: the next scheduled fire time.
  • Send to: where the result lands (Sauna, iMessage, Email), with the channel icon.
  • A trash icon and a toggle in the top-right of the card.

Tap a card to open its full edit view. Hit the toggle to pause or resume without opening anything.

Creating a task

+ New opens a Create Scheduled Task modal with four fields (red asterisks mark required):

  • Name (required). Placeholder: "e.g. Daily standup summary".
  • Frequency (required). A cadence pill plus a time pill. Five cadences available: Once, Hourly, Daily, Weekdays, Weekly. Default is Daily. Daily and Weekdays show a time picker; Hourly shows a minute picker (00, 15, 30, 45); Weekly adds a day picker; Once shows a date picker.
  • Send to (optional). Three options in the dropdown: Sauna (the web dashboard, default), iMessage, Email. iMessage shows as "Not connected" and stays greyed until you link it from Home.
  • Prompt (required). A freeform textarea. Placeholder: "Describe what this task...".

Hit the green Create button to save. Sauna bounces you back to the Scheduled list with the new card at the top.

Task states

Active and Paused are the two real states. "Disabled" is Paused plus a blocker: Sauna would run the task but can't deliver the result.

Active

A running task. The pill is green, the toggle is on, and Next Run shows when it'll fire. From the edit view, you can change anything: rename it, switch cadence or time, pick a different delivery channel, rewrite the prompt. The green Run Now button at the bottom fires the task on demand in a one-off test session titled Test: {name}. Hit the toggle to pause, the trash to delete, the X to close.

Paused

A task you've turned off. The pill is grey, the toggle is off, and the card's run label flips from Next Run to Last Run. All the same edit controls are there, and Run Now still works. Flip the toggle back on to resume. Sauna computes the next run from the cadence you set; it doesn't try to backfill anything you missed.

Disabled

A paused task with a blocker. The pill turns amber and the send-to field flags the reason inline, e.g. "Not connected" next to iMessage. Typical blockers:

  • Destination isn't connected. The task is set to iMessage or Email and that channel isn't wired up.
  • Subscription is inactive. The billing side has lapsed, so Sauna auto-pauses anything active and won't let you re-enable until you're paid up again.
  • A one-off's date is past. A Once-mode task whose date has come and gone.
  • Schedule error. Sauna couldn't read the cadence (usually after a chat-created task with an unusual time pattern).

Fix the blocker and toggle the task back on. Reconnecting alone doesn't resume it; the resume is always a manual flip.

Creating via chat

Tell Sauna what you want in a chat. Anything like "Create a scheduled task to send me a short laugh every morning at 9am via iMessage" is enough. Sauna confirms the cadence, the destination, and the prompt, then creates the task. The result shows up in the Scheduled list looking identical to one you'd have made from the + New modal.

There's no dedicated button for this on the Scheduled page; you kick it off from any chat (Home, a session, anywhere the chat input lives, see Chat Input Box). The same pattern works for edits and deletes: ask Sauna to change the time, rewrite the prompt, or remove the task, and it'll do it through the same file.