Use an on-duty group
An on-duty group is a Slack user group that Round Robin keeps in sync with your rotation: whenever duty changes, the group’s members are updated to the current on-duty users. Anyone can then mention a stable handle (for example @support-operator) without knowing who is on call right now. You can also reference the group in messages and topics with the %DUTYHANDLE% template token (see Templating).
Prerequisites
Section titled “Prerequisites”The feature depends on Slack user groups, so it requires:
- A Slack plan where user groups are available.
- Workspace permissions that let the app work with user groups.
If you are a workspace admin, open Workspace Settings & Permissions and set both user group permissions (“create and disable” and “modify”) to Everyone, except guests.

If you cannot change these settings yourself, ask an administrator. At minimum the app needs permission to modify user groups; in that case someone with create permission must create the group first, and you connect it as an existing group.
Connect a group from the dashboard
Section titled “Connect a group from the dashboard”- Sign in at app.roundrobinbot.eu and open your rotation.
- Click Settings, open Messages & Slack, and find the On-duty group card.
- Turn Keep a group in sync on. Choose to create a managed group or link an existing one. If the app can create user groups in your workspace, accept the proposed handle (rotation-name-operator) or type your own. Handles must be lowercase with no spaces, and the usual Slack user group naming limits apply.
- If the app cannot create groups, pick an existing group instead; you get an error on save if the app cannot edit that group either.
- Click Save.
Once connected, the card shows the linked group and whether it is managed by Round Robin.

If you want the people themselves moved in and out of a channel rather than a handle kept up to date, see Sync a channel’s membership.
How membership is synced
Section titled “How membership is synced”On every duty change, Round Robin updates the group so it contains the current on-duty users (all of them, if more than one user is on duty at a time). Users that cannot be members of a Slack user group (deactivated accounts, bots, and guest users) are skipped automatically.
Two team-wide settings control the details, under Settings → Team settings in the dashboard:

| Setting | Behavior |
|---|---|
| Clean on-duty group on duty change (default: on) | The group’s membership is replaced with the new on-duty users. Turn it off to have the bot only add and remove the users going on and off duty, leaving any other members in place. |
| When the last user group member is removed | Slack requires a user group to have at least one member. Choose what happens when everyone goes off duty (for example with business-hours rotations): see below. |
For the last-member setting:
- Leave the group active and keep the last member in (default): the last on-duty user stays in the group and is removed as soon as someone else goes on duty.
- Disable the user group: the app disables the group and re-enables it when the next user goes on duty. This requires permission to disable user groups.
Disabling the rotation
Section titled “Disabling the rotation”Turning off a rotation removes its on-duty group connection, and it is not restored when you re-enable the rotation. Reconnect the group manually afterward.
Removing the group
Section titled “Removing the group”Turn Keep a group in sync off on the On-duty group card and click Save. If Round Robin created the group, it is disabled in Slack; if you linked an existing group, syncing stops and the group itself is left untouched.
To point the rotation at a different group, switch the card off, save, then switch it back on and choose the new group.
Next steps
Section titled “Next steps”- Sync a channel’s membership: move the people themselves in and out of a channel instead of updating a handle.
- Templating: use
%DUTYHANDLE%in your duty messages and channel topics. - Round Robin in Slack: what the bot does in Slack, and what lives in the dashboard.
