I was wondering if there is any community interest in support for setting up workflows based on an ISO8601 recurring interval string rather than the less-flexible cron job or less-concise Temporal Schedule API?
In the 2004 revision of the ISO8601 spec shown at https://www.iso.org/standard/40874.html, the option for representing recurring intervals by prefixing a R/ or Rn for limited repeats like R8/ and postfixing a duration like /P6M (every 6 months) was introduced. This seems to dovetail better into the features of the Schedule API without the drawbacks of using a cron-expression.
I’m curious if there is interest in temporal.io supporting this method of setting up future/repeating-future jobs as an alternative to Schedule or Cron Job. Thanks!
Some examples of ISO8601 values:
R/PT1H = Repeat every 1 hour indefinitely.
R5/PT15M = Repeat every 15 minutes for a total of 5 occurrences.
R/2026-02-19T16:30:00Z/P1D = Repeat every 1 day indefinitely, starting from February 19, 2026, at 16:30:00 UTC.
R/P1W/2026-12-31T23:59:59Z = Repeat every 1 week indefinitely, working backward from the end date of December 31, 2026, at 23:59:59 UTC.
R3/2026-03-01T08:00:00/2026-03-01T09:00:00 = Repeat the 1-hour window (08:00 to 09:00) a total of 3 times consecutively, starting March 1, 2026.
Interestingly, in some ways the 2004 ISO8601 spec is more-flexible than the temporal CalendarSpec, so I guess perhaps some options might have to be rejected, such as:
Complex periods like > 1D or > 1W, that couldn’t be described in the schedule API
Hey Rick, thanks for the suggestion! Refining the experience of defining schedules (in terms of syntax, as well as UI), and expanding the range of supported recurrences, are both on our radar for improvement. My primary concern around ISO8601 support is around the availability of the specification itself; I’d be concerned that customers wouldn’t be able to adopt the syntax, because the spec appears to be private/paid. I’d be similarly concerned with our ability to adequately document the syntax in Temporal software, given that the ISO specification is copyrighted and that sections can’t be publicly linked to.
Looking at similar options, there’s RFC 5545 (iCalendar RRULE recurrence syntax), as well as the CalConnect CC 18012:2018 standard, which is based off of ISO 8601, and defines a similar (largely compatible?) syntax for recurrences. Have you taken a look at these in your own evaluation? To my eyes, CalConnect’s standard looks fairly promising, as it’s meant to act like a standalone rewrite/alternative to ISO 8601’s recurrence section, but is publicly available and can be linked/attributed.