Coming soon to the Salesforce AppExchange

Recurring Date Patterns in Salesforce

Every other Tuesday. The 2nd and 4th Friday. The last Saturday of the month. These are ordinary business rules, and Salesforce has no field that expresses any of them.

Published June 4, 2026 · Updated October 21, 2026 · MultiDatePick

Recurrence exists in Salesforce for Events and Tasks, and it stops there. The moment your schedule lives on a custom object (a shift, a session, an inspection, an on-call rotation), you are on your own, and the usual answer is that somebody works the dates out on a paper calendar and enters them by hand.

The two kinds of recurrence people mean

They get conflated, and they need different logic.

TypeExamplesWhat it needs
Interval basedEvery week, every 2 weeks, every 3 weeksA day of week plus a repeat interval
Occurrence based1st Monday, 2nd and 4th Friday, last SaturdayWhich occurrence within each month

Interval recurrence counts forward from a start date and does not care about month boundaries. Occurrence recurrence resets every month, and "last" is awkward because it lands on the 4th or 5th week depending on the month. That single word is where most hand-rolled implementations break.

Why writing it yourself goes wrong

Month lengths vary

"The 5th Monday" exists in some months and not others.

Leap years

They quietly shift every calculation that assumes a fixed year.

"Every other week" needs an anchor

Every other week starting when? Two people will disagree.

Weekends and holidays

They may need skipping, and your holidays live in your own org data.

Generating too far ahead

It creates thousands of records nobody asked for.

None of these are hard individually. Together they are a week of work and a permanent source of edge-case bugs.

Generating dates instead of storing a rule

There is a design decision underneath the algorithm: do you store the rule and expand it at read time, or expand it once and store the resulting dates?

Storing dates is almost always the better answer in Salesforce. Concrete date records report, roll up, filter, and drive automation like any other data. A stored rule needs interpreting everywhere it is used, and Salesforce reporting cannot interpret it at all. The tradeoff is that changing the pattern means regenerating, which is why the pattern picker belongs at the point of entry rather than buried in configuration.

The three patterns, on screen

Custom Day-of-Week comes first, because no standard field expresses it at all. Pick any combination of weekdays, set the interval, give it a range, and the calendar fills in every matching date before you save anything.

Salesforce calendar recurring pattern with custom day-of-week selection generating dates across a range
Custom Day-of-Week: every matching date, generated on the calendar.
Salesforce calendar custom day-of-week recurring pattern picker with interval and date range controls
The picker: day toggles, an every-N-weeks interval, a start and end.

Weekdays and Weekends are the two shortcuts people reach for most, and they do the same expansion with one click.

Salesforce calendar recurring weekdays pattern selecting every Monday through Friday across a date range
Weekdays: every Monday through Friday in the range.
Salesforce calendar recurring weekends pattern selecting every Saturday and Sunday across a date range
Weekends: every Saturday and Sunday, for coverage and on-call.

Let people see the dates before they commit

The best thing a recurrence UI can do is show its work. When the user picks "every 2 weeks on Tuesday" and immediately sees the actual dates highlighted on a calendar, mistakes get caught in the second before saving rather than the week after. It also settles the "every other week starting when" argument instantly, because the anchor is visible.

The same applies to consolidation. If your recurring selection produces Monday to Friday for six weeks, you may want thirty records or you may want six, one per week, with a start and end date. Deciding that at selection time is far cheaper than migrating afterwards.

Both kinds, built in. The Dates component handles custom week intervals (every 1, 2, 3 or N weeks) and monthly occurrence filters (1st Monday, 2nd and 4th Friday, last Saturday). The generated dates appear on the calendar before saving, and collapsing consecutive days into one range record is a setting.

Every other Tuesday, in one click

Try a recurring pattern in the live demo. The dates appear on the calendar before you save.

  • $20/user/month, every feature
  • 30-day free trial, no card
  • 100% native Salesforce
  • No Apex
  • Coming soon to the Salesforce AppExchange