Dutyroll

Rotation schedule generator

Type the people in order, pick how often the duty changes hands, and get the whole rotation: a table of who is on duty when, a message to paste into Slack, a calendar file (.ics) for Google Calendar, Outlook or Apple Calendar, and a CSV for a spreadsheet. It works for on call, support triage, standup host, code review, kitchen or any duty that takes turns.

Free, no sign-up. Everything runs in your browser; the names are not sent anywhere or stored.

Examples: On call, weekly Standup host, every weekday Code review duty, weekly Release captain, every 2 weeks Kitchen duty, monthly

A hand-over on an away day goes to the next person who is not away, and the order carries on from them; the row says who was skipped. In Dutyroll: Mark away in the Home tab or /dutyroll away.

Your rotation

The calendar file holds one all-day event per hand-over (no repeating rule), so every calendar app imports it the same way. Weekday duty is a one-day event; the other cadences last until the next hand-over. Monthly hand-overs on the 29th-31st move to the last day of shorter months.

How the order works

Let Slack post it for you

A pasted schedule goes stale the first time someone is ill or two people trade weeks. Dutyroll posts this in Slack automatically, with Skip and Swap: every week, every weekday, every 2 weeks or every month, at your time, in your channel, naming who is on duty and who is next. Skip moves the turn to the next person and Swap with next trades two turns. Like this generator, a monthly hand-over on the 29th-31st falls on the last day of shorter months.

Add to Slack Free for one rotation. Pro is $9/month per workspace.

On call this week: @dana. Next: @lee.
[Skip] [Swap with next]

More: on-call rotation in Slack · duty roster in Slack · Dutyroll docs

More guides