Skip to main content

Define a frequency

A frequency is a reusable scheduling rule that decides which days a job is eligible to run. Define it once in the Toolkit, then jobs across your workflows can share it. As you build the pattern, a forecast beside it previews the dates it matches.

What this solves

Scheduling rules copied into each job drift apart and mishandle holidays and non-working days, so jobs run on days they shouldn't or skip days they should, and it's hard to verify before it happens.

Choose a pattern​

Frequencies are built from a time period and, for most, a type:

PatternExample
DailyEvery day, or every N days from a start date.
WeeklySpecific weekdays (Mon/Wed/Fri), or a position within the week.
MonthlyA day of the month (the 15th), a weekday position ("second Tuesday"), or a period ("last working day").
YearlyA date (Dec 31), a weekday position, or a period within the year.
On RequestNo rule at all — the job runs only when an operator adds it to a workflow instance.
Annual PlanA calendar you pick; its dates are the days the job runs on.

For the four recurrence periods you can also choose whether to count working days only, what to do when a match lands on a non-working day, and a calendar of dates to exclude. On Request takes none of those, and Annual Plan takes only an offset.

Working days, and what happens on a non-working day​

Working days are the workflow's setting, not a fixed Monday-to-Friday. Each workflow decides which weekdays it works, so the same frequency can mean different dates in two workflows — and under a Tuesday-to-Saturday week, Saturday is a working day.

Choose the day type deliberately, because the two behave differently:

Day typeBehavior
AnyRuns on the date the pattern produces, working day or not. The non-working-day action is never applied.
WorkingCounts working days only, and the date it runs on is always a working day.

For a working-day pattern, the non-working-day action decides where a match on a non-working day goes. It defaults to skip to previous — move back to the previous working day, so the run is preserved. Change it to move forward instead (skip to next), to run on the original day anyway (keep), or to drop the run (omit).

Leaving the action unset no longer suppresses the run

Earlier builds silently produced no run when a working-day match fell on a non-working day and no action was set. It now shifts back to the previous working day. If you were relying on that to skip those occurrences, set omit explicitly.

If date is non-working day appears only where the action can change the date: on a daily pattern, on a weekday-position pattern ("second Tuesday"), and on a yearly fixed date — which requires one. It is not offered on a monthly day-of-month pattern or on a period pattern ("first working day", "last working day"), because those already produce a working day. If you are looking for the field on one of those, it is absent by design rather than missing.

Three things about this changed
  • Setting the action on a monthly Day N / Working Day pattern used to be offered and then rejected on save with Validation failed. It is no longer offered, and the save goes through.
  • It used to be offered on the period patterns, where it was accepted and then never applied.
  • The list's None choice is gone. It read as "do nothing" but behaved as "move to the previous working day", so an unset pattern now shows the action it actually takes. Nothing already saved changed behavior.

Offsets​

A period pattern ("first working day", "last working day") can take an offset of up to 30 — and the offset counts working days, not calendar days. "First working day plus two" therefore lands on a working day in every month, rather than falling on a weekend and producing no run at all.

Because the offset walks working days, the Offset days field appears only when the day type is Working, and switching back to Any clears it. An Annual Plan has its own offset, which steps working days from each plan date — so an offset of 1 runs one working day after each date in the calendar, not on the next calendar entry.

A weekly period pattern now has the field too. Earlier builds applied a weekly offset if one was already stored but gave you nowhere to enter one. Weekly is the one pattern whose offset is forward only — 0 to 30; monthly, yearly and Annual Plan each accept −30 to 30.

Create a frequency​

To define a frequency, complete the following steps:

  1. Go to Toolkit → Frequencies and select New Frequency. Everything below happens in one dialog, with the forecast alongside the pattern.
  2. Enter a name.
  3. Choose the time period and type, then set its fields (interval, days, day of month, and so on).
  4. Optionally set working-day handling, a non-working-day action, an offset, and an exclusion calendar.
  5. Check the forecast beside the pattern to see the shape of the pattern. It is a simplified preview — see the note on the forecast below.
  6. Save. Save stays off until you have changed something and the pattern is complete.
Good to know
  • A frequency is the which-days rule. When within the day, retries, and reruns are set on the job when you add the frequency to it. See Schedule a workflow.
  • Use an exclusion calendar (defined in Toolkit → Calendars) to skip holidays and blackout days.
  • On Request is never picked up by a scheduled build. Choose it for work an operator injects into a run that already exists, not for work you expect to appear on its own.
  • Annual Plan can't be saved until you pick a calendar. Renaming that calendar is safe now, and deleting it is refused while the frequency uses it — so a plan schedule no longer goes quiet because someone tidied up the Calendars list.
  • The forecast beside the pattern is a quick preview calculated in your browser. It does not apply exclusion or holiday calendars, the workflow's working days (it assumes Monday to Friday), or the non-working-day action, and it counts offsets in calendar days — so it can differ from the build. To confirm what a workflow will actually build, use the workflow editor's Forecast view.
  • A by-weekday pattern names each day once. Repeating a day, or naming something that isn't a day of the week, is now reported rather than quietly making no difference to the dates.
  • Dates are supported for the calendar years 1900–2999, in the forecast and in the build alike.
  • Frequencies are shared across workspaces, so name them clearly.

Related topics