Dutyroll

Slack Workflow Builder rotation: rotating a name each week

Many teams first try Slack's Workflow Builder: a workflow that starts on a schedule and posts "who is on call this week" in the team channel. The schedule part works. The rotation part does not come built in: when we read Slack's workflow guide on 1 November 2026, it described schedule, link, webhook, list, message, channel-join and emoji triggers, and Slack, connector and custom steps, but no step that remembers whose turn it was and picks the next person. So a scheduled workflow sends the same message every time.

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

Try this schedule in the generator: 4 people, a new release captain every 2 weeks, as a table, Slack text and calendar file. Free, no sign-up.

The usual workarounds, and where they break

WorkaroundHow it worksWhere it breaks
One scheduled workflow per personEach person gets a workflow that posts "@name is on duty", offset so they take turns.Someone joins, leaves or is on holiday: you edit several workflows by hand. Nobody can skip a turn from the post.
Fixed message + a spreadsheetThe workflow posts "check the rota sheet"; the names live in a Google Sheet.The name is not in Slack, so nobody gets mentioned and people stop opening the sheet.
A workflow with a "claim it" buttonThe post asks for a volunteer and someone clicks to take it.That is first come, first served, not a rotation: the same two people end up taking it.
Zapier/Make with stored valuesA zap keeps a counter, looks up the next name and posts it.Works, but it is a small multi-step program you now maintain, usually on a paid automation plan.
A custom workflow stepA developer writes a step with Slack's SDK that keeps the position in a datastore.Developer time, and you host and maintain it.

What Dutyroll does instead

Dutyroll is a small Slack app that only does the rotation. You list the people in order once, and it posts who is on duty and who is next, weekly or every weekday, at your time and time zone:

Release captain this week: @ana. Next: @tom.
[Skip] [Swap with next]

Skip passes the turn when someone is away and keeps them in the list; Swap with next trades two turns. Anyone in the channel can press them and the post updates in place. You can keep your workflows for everything else.

Set it up in two minutes

  1. Add Dutyroll to Slack (the workspace admin may need to approve it).
  2. In the channel where the hand-over should appear, type /dutyroll new.
  3. Fill in the form: the duty's name, the people in order, the channel, weekly (pick the day), every weekday, every 2 weeks or monthly (pick the day of the month or the last Friday, say), and the time. The time is in your Slack time zone.
  4. Dutyroll posts an announcement now, and the hand-over at the time you chose: who is on duty and who is next, with Skip and Swap with next buttons.

What Dutyroll does not do

Price

Free for one rotation with any number of people. Pro is a flat $9/month per workspace for unlimited rotations, never per user.

More guides