Triggers & operationsGuide

Schedules

A schedule starts a published script or flow on its own — every five minutes, every weekday at 9:00, on the first of the month — with inputs you set once. The Schedules page lists them all, and its side panel reads any period back to you: what ran, what failed, what did not even start and why.

What you will learn
  • Create a schedule with the What · When · If it fails · Review wizard
  • Pick the right frequency, cron expression and timezone
  • Decide what happens on overlap and on failure
  • Read the overview: trend, rankings, busiest hours and reliability

How schedules run

The Waiso API checks for due schedules every 30 seconds. A due schedule becomes an ordinary run of its target’s published version — the same logs, output and Runs page row as a run you start by hand, marked Triggered by Schedule. Nobody has to be signed in. Publishing a fix changes what the next firing runs; editing the draft does not.

SchedulesAutomate scripts and flows to run on a recurring schedule
New schedule
Search schedules…AllActivePausedScriptsFlows
morning_reportWeekdays at 08:00 · report.pyNext runMon 08:00Last run4 h agoStatusActive
sync_ordersEvery 15 min · greet.pyNext runin 9 minLast run6 min agoStatusActive
weekly_campaignMondays at 09:30 · campaignNext runMon 09:30Last run6 d agoStatusActive
late_remindersDaily at 18:00 · approvalNext run—Last run—StatusPaused
The Schedules page: each schedule’s target, timetable, next and last run, status, and the Overview panel on the right.

Every firing is recorded, whether it started a run or not. If the API was down when a schedule was due, it fires once when the API is back and then follows its timetable from there — missed slots are not replayed one by one. If no worker is free, the run waits in the queue like any other.

Create one with the wizard

  1. What should run?

    Press New Schedule and pick a script or flow. Only published ones can run on their own — others are marked Not published. If it takes inputs, fill them: these values are sent on every run; a required one left empty holds the save (Fill in … to save.).

  2. When should it run?

    Pick a frequency (next section), set the time and the Timezone, and read Next runs: in the preview before going on.

  3. If something goes wrong

    Optional — Skip it, or set Retry on failure, the overlap rule and Run on failure (see below).

  4. Review

    Name it, keep Start now on (or off to create it paused) and press Create schedule. It appears as Active with its Next Run.

Each row’s menu has Edit (the same wizard, every step open), Pause / Resume and Delete. A paused schedule keeps every setting and shows no next run. Clicking a row opens its details: timezone, execution policy, on failure, and the recent runs with their result, time and duration.

Frequencies, cron and timezones

FrequencyYou setSame as cron
Every N minRun every 1–59 minutes (default 5)*/15 * * * *
HourlyAt minute — runs at 9:00, 10:00, 11:00…0 * * * *
DailyAt a time30 7 * * *
WeeklyOn days + At0 9 * * 1-5
MonthlyOn day … of the month + At0 6 1 * *
CustomA Cron expression—
Shellcron.txt
# min  hour  day  month  weekday
*/10 8-18 * * 1-5   # every 10 minutes, 08:00–18:59, Monday to Friday
0 0 1 1,4,7,10 *    # midnight on the first day of each quarter
30 23 * * 0         # Sundays at 23:30

A cron expression has five fields and is read in the schedule’s timezone, never your browser’s. An invalid one is refused with Invalid expression — check syntax (min hour dom month dow), and Preview not available for custom cron — check the first runs on the list after saving. The timezone starts as your browser’s (or UTC); a schedule in America/Sao_Paulo at 09:00 runs at 09:00 there all year, whatever daylight-saving does elsewhere.

Overlap, retries and Run on failure

  • If the previous run of this schedule is still active: Skip — wait for it to finish (the default) skips that firing and records why; Run in parallel starts it anyway.
  • Retry on failure: a failed run is started again right away, up to that many times (at most 10). The review says If it fails, tries again 2×.
  • Run on failure starts another script or flow when this schedule fails — a clean-up, a recovery job. For messages to people, use Alerts, which need no code.
  • The item’s own Runs at the same time limit (Triggers tab) still applies: an extra scheduled run waits in the queue.

The overview panel

The panel on the right reads one period — Today, 7d, 30d, All time or Custom… — and every figure in it adds up to the same totals. It refreshes by itself as schedules fire (Live), at most every 30 seconds.

CardWhat it tells you
TrendRuns per day in three series — succeeded, failed, didn’t start — and the failure rate against the previous period (Failures down 4 points vs the previous period). A blocked week never reads as 0% failed.
Runs most · Fails mostThe busiest schedules, and the ones failing most — ranked by rate only with 5 or more finished runs. A row opens that schedule.
When it runsRuns by weekday and by hour, in your own time: Busiest: Mon · 09:00 (your time).
ReliabilityFirings that did not start, by reason, with the schedules behind each; Late (more than 1 min) with the typical and worst delay.
Next 24 hHow many firings are due and the busiest hour ahead.
Pausing keeps the schedule and its history; it simply stops firing.

Why a firing did not start

ReasonWhat to do
it has nothing to runThe target was deleted. Pick another target.
no published versionPublish the script or flow; the next firing starts.
its saved inputs don’t fitThe parameters changed. Edit the schedule’s inputs.
the previous run was still activeExpected with Skip; choose Run in parallel to let runs overlap.
it couldn’t be queuedRefused at queue time — often no credits. Run it by hand to see the error.
the project is frozen · the licence needs attentionOver the plan’s limits, or a self-hosted licence to install.

Limits

  • Your plan sets the shortest interval; the form says it beside the interval (Your plan runs schedules at most every 15 min., with See plans).
  • Firings are kept 30 days (Counted since … — firings are kept 30 days); runs stay on the Runs page. Deleting a schedule keeps its past runs in the figures.
  • Because due schedules are checked every 30 seconds, a run can start up to about half a minute after its time; only more than a minute counts as late.