Skip to content

Updating visuals

If you see any images containing outdated UI, please bear with us.

We are updating all content as quickly as possible to mirror our new UI.

Recurring schedules ​

A recurring schedule runs a Scheduled Task workflow again and again, at the times you choose: every morning at 8, every Monday, on the last day of each month. You set it up once on the workflow, and WeWeb takes care of the rest.

One workflow can have several schedules. For example, a Generate sales report workflow can have a monthly schedule for the full report and a weekly one for a short summary, each with its own inputs.

Add a recurring schedule ​

  1. In the Data & API tab, open the Backend Workflows subtab, then Scheduled Tasks, and select your workflow.

  2. In the Schedule triggers block, click Add recurring schedule.

  3. Give it a clear Schedule name, such as Monthly sales report.

  4. Pick a Frequency: Every minute, Every 5 minutes, Every hour, Every day, Every week, Every month or Custom cron.

  5. Set when it runs:

    • For Every day, set the time in Run at.
    • For Every week, pick the Day and set Run at.
    • For Every month, pick the Day of month and set Run at.

    Run at shows the schedule's timezone, for example Run at (Europe/Paris).

  6. Check the Timezone. New schedules use your browser's timezone.

  7. Fill in the Workflow inputs. Required inputs must have a value before the schedule can run.

  8. Look at Next runs to check the dates, then set Status to On.

  9. Click Done. Your changes are saved automatically.

Recurring schedule panel for a Monthly sales report, every month on the last day at 9:00 Europe/Paris, with its next three runs

Each schedule then appears in the Schedule triggers block, with a summary of when it runs and its status.

Monthly schedules ​

With Every month, choose a day from 1 to 31, or Last day.

If you pick a day that some months don't have, like the 31st, those months are skipped. To run every month, including February, pick Last day.

Start date ​

By default, a schedule starts with its next run as soon as you turn it on. To start later, fill in Start on or after (your local time). Nothing runs before that date, even when the schedule catches up on missed runs. Leave it empty (Start now) to start with the next run.

The start date doesn't add a run. For example, a schedule that runs every day at 9:00 with a start date of October 20 at 14:00 runs for the first time on October 21 at 9:00.

This is useful when you prepare a schedule in advance, for example a monthly report that should only start in January.

Timezones and daylight saving time ​

The time you set always follows the schedule's timezone. A schedule set to 9:00 in Europe/Paris stays at 9:00 Paris time all year, even when the clocks change.

When the clocks change:

  • If your time doesn't exist that day (clocks jump forward), that run is skipped.
  • If your time happens twice (clocks go back), it runs only once.

Next runs shows the upcoming dates in your browser's timezone, and names that timezone. Check it whenever you change the frequency or the timezone.

The date of a run is when it becomes ready to start. If many tasks are running at the same time, it can start a little later.

Schedule status ​

StatusWhat it means
OnThe schedule runs at the times shown in Next runs.
OffThe schedule doesn't run. Turn it back on to resume.
Needs attentionThe schedule is turned on but can't run, for example because a required input is empty or a cron expression is invalid. The panel tells you what to fix.

Turning a schedule off stops its future runs. When you turn it back on, it starts again from the next scheduled time: the runs it missed while off don't run. Tasks already created stay in the history, and you can cancel them there.

To remove a schedule, open it and click Delete schedule.

PUBLISH TO APPLY YOUR CHANGES

Schedules run in the editor as soon as they're turned on. Staging and production only get your changes, including a schedule you turned off or deleted, when you publish.

Need to stop a schedule in production right now, without publishing? Pause it from the Recurring schedules tab instead. Learn more about pausing a schedule →

If you duplicate a Scheduled Task workflow, its schedules are copied turned off, so the copy doesn't start running on its own.

Custom cron expressions ​

When the presets aren't enough, choose Custom cron and type a Cron expression. A cron expression is a short code that describes a schedule with five values, in this order:

text
minute hour day-of-month month day-of-week
ExpressionRuns
*/15 * * * *Every 15 minutes
0 9 * * 1-5Every weekday at 9:00
0 9 1 * *On the first day of each month at 9:00
0 18 L * *On the last day of each month at 18:00

Type only the five values, without seconds. If the expression is invalid, an error appears and the schedule won't run until you fix it. The help icon next to Cron expression reminds you of the format.

LET AI WRITE IT

Not sure how to write a cron expression? Describe the schedule to WeWeb AI, for example "every first Monday of the month at 10 AM", and check the result in Next runs.

Advanced schedule settings ​

Open Advanced schedule settings at the bottom of the panel when you need more control. Most schedules work well with the defaults.

Catch up missed runs ​

If scheduled tasks couldn't run for a while (for example while your environment was hibernating), WeWeb runs the ones it missed when it starts again. Catch up missed runs (hours) sets how far back it looks: 24 hours by default.

Choose what fits the task. Catching up on an hourly data sync is useful. Sending ten missed reminder emails at once probably isn't: set the value to 0, and only a run that was due in the last minute still happens.

Runs skipped while a schedule or all tasks were paused are never caught up, whatever this setting.

When a previous run is unfinished ​

Sometimes a run takes longer than the time between two runs. When a previous run is unfinished decides what happens:

OptionWhat happens
Allow parallel runsThe new run starts anyway. This is the default.
Wait for previous runThe new run waits until the previous one is done, including its retries.
Skip new occurrenceThe new run is skipped.

Other options ​

  • Queue: Tasks with the same queue name run one at a time. Use it when two tasks must not change the same data at the same moment.
  • Priority: When many tasks are waiting, the ones set to High start before Normal, then Low.
  • Maximum attempts: How many times a failed run is tried, including the first try. The default is 10. Set it to 1 to never retry.
  • Attempt timeout (minutes): How long one try can last before it's stopped. Leave it empty to use the default: 5 minutes, or less if your server allows less.

These settings only apply to the runs of this schedule. Learn how retries work →

CONTINUE LEARNING

Recurring schedules run the same work for everyone. To schedule a task for one user, at a time that depends on them, schedule it from a workflow.

Schedule tasks from a workflow →