Documentation
Scheduling

Scheduling Automated Tests

Schedule test suites on cron. Plan limits (Starter weekly, Pro+ unlimited), overlap handling, baseline replay scheduling, notification routing.

Scheduling Automated Tests

Set up a schedule to run a test suite automatically — daily, weekly, hourly, or on a custom cron. Combined with notifications, this is how teams catch regressions overnight without anyone watching.

Plan availability

PlanSchedules per projectMinimum interval
Free
Starter1Weekly
ProUnlimited15 minutes
BusinessUnlimited5 minutes
EnterpriseUnlimited1 minute

Creating a schedule

  1. Click Schedules in the sidebar.
  2. Click + New Schedule.
  3. Pick the test suite (or composite suite) to run.
  4. Choose the cadence — preset (daily 9am, weekly Monday, hourly) or custom cron.
  5. Pick which browsers to run on.
  6. Optionally toggle visual regression and pick the environment (Pro+).
  7. Save.

The schedule's "next run at" timestamp shows when it'll fire. You can pause and resume any schedule without losing the configuration.

Cadence options

Presets

  • Hourly — runs at minute 0 of every hour. Pro+.
  • Every 6 hours.
  • Daily at 9am — your timezone.
  • Daily at midnight.
  • Weekly on Monday.
  • Weekly on Friday.
  • Monthly on the 1st.

Custom cron

For anything else, use a standard cron expression:

0 */4 * * *      # every 4 hours
0 9 * * 1-5      # 9am on weekdays
30 2 * * *       # 2:30 AM daily
*/15 * * * *     # every 15 minutes (Pro+)

The schedule's timezone is your account timezone (set under Profile). You can override per schedule.

What happens when a schedule fires

  1. The schedule queues a run for each browser you selected.
  2. Runs execute in parallel up to your concurrent-runs cap.
  3. Each run goes through the normal pipeline — auto-heal on locator drift, AI triage on failures.
  4. When all runs finish, you get a notification (email by default; configurable).
  5. The schedule's "last run at" timestamp updates; "next run at" rolls forward.

If a run is still running when the next one is scheduled

By default, the new run is skipped — we don't pile up runs. The schedule logs a "skipped" entry. To override, toggle Allow overlapping runs.

If you're at your monthly run limit

Scheduled runs are rejected like any other. The schedule logs a "limit-exceeded" entry. You'll get a plan-limit warning email; consider upgrading or skipping less critical schedules.

Notifications and scheduled runs

Scheduled-run notifications are governed by the scheduled_runs event in Notifications & Alerts. Common patterns:

  • Quiet by default — only notify on failure. scheduled_runs: false on email, run_failed: true globally.
  • Daily summary — Slack channel gets every scheduled-run completion.
  • Critical only — webhook receives all events; email gets failures only.

Pausing and resuming

Click Pause on a schedule to stop it firing. Resume any time — the next-run timestamp recalculates from the moment of resume, so you don't get a flood of "missed" runs.

Editing a schedule

Click into the schedule. Change cadence, browsers, environment, or notifications. Saves take effect immediately; the next firing uses the new config.

Changing the test suite a schedule targets is supported but logged in the audit trail (Pro+) since it materially changes what's being tested.

Schedule history

Every schedule keeps a history of its firings:

  • Triggered timestamp.
  • Run ID(s).
  • Outcome — passed, failed, skipped, limit-exceeded.

Click a history row to open the run page.

Common patterns

Nightly regression

Daily at midnight, run the full project suite on Chromium + Firefox + WebKit, with visual regression on. Notify a Slack channel only on failure.

Pre-deploy smoke

Every 15 minutes during business hours, run a small smoke suite. Catches outages from external dependencies fast.

Release-day stress check

Hourly cadence the day of a release, paused other days. Lets you watch a launch closely without permanent overhead.

Weekly baseline refresh

Combined with Baseline Replays: a Sunday-night full-site scan, set as new baseline; PR replays during the week run against the fresh baseline.

Common questions

Why was a schedule skipped?

Either the previous run was still running (and overlap is off) or you hit your monthly run cap. Check the schedule's history.

Can a schedule run a baseline replay instead of a regular suite run?

Yes — pick "Baseline Replay" instead of a suite when creating the schedule. The replay runs the manifest deterministically on the cadence.

Can I run different schedules in different environments?

Yes (Pro+). Each schedule has an Environment selector. Run staging hourly and production daily, for example.

Related

Need help?

Can't find what you're looking for? Our support team is here to help.