Built on Slack’s Deno-based next-generation app platform, this app allows you to create on-call rotations for your team. It’s useful for things like:
- Support shifts
- Meeting facilitation
- And more
There are many apps that do this already, but this one is open source and free* to use. It’s also a great way to learn about the next-generation platform.
- Create and manage rotations without leaving Slack
- Flexible scheduling with daily, weekly, and monthly options
- Postpone or skip turns
- Manual timezone configuration
Currently rrr is not available for download on the App Directory. From Slack’s documentation:
Next-generation Slack apps are currently not eligible for distributing to the App Directory.
That said, you still need to be on a paid Slack plan to use this app. If you are and have the necessary permissions, you can install the app to your workspace by following these steps.
-
Install the Slack CLI:
macOS/Linux:
curl -fsSL https://downloads.slack-edge.com/slack-cli/install.sh | bash # or zsh
macOS (Homebrew):
brew install --cask slack-cli
Windows (PowerShell):
irm https://downloads.slack-edge.com/slack-cli/install-windows.ps1 | iex
This will install all the necessary dependencies, including Deno.
-
Log in to your workspace using the CLI:
slack login
-
Clone or download this repository.
git clone https://github.com/moltinginstar/rrr.git
-
Then, from the root of the repository, run:
slack deploy
This will install the app to your workspace.
-
Before you can use the app, you also need to install the triggers one by one, by running this command for each of the triggers in the
triggers
directory:slack trigger create --trigger-def triggers/<trigger_name>.ts
-
Once the triggers are installed, you need to set
sendReminderTriggerUrl
andupdateReminderTriggerUrl
in the respective function definition files to the URLs of the newly created triggers and redeploy the app:slack deploy
And that’s it! You can now use the app in your workspace. You may need to wait a bit before you see it or manually run Create a rotation
from More > Automations > Workflows
.
For more information on installing apps, see Slack’s quickstart guide for developing on the next-generation platform.
Create rotation view | Edit schedule view | Reminder view |
---|---|---|
![]() |
![]() |
![]() |
Keep in mind that running custom Slack workflows (like the ones used in this app) costs money.
If you’re on the Pro plan, for instance, you get 1,000 free runs per month, with each additional run costing $0.05. Runs include creating, listing, and deleting rotations, among other things.
Refer to Slack’s Help Center for up-to-date pricing information.
The next-generation platform is still very much in development, and there are many features that are still missing. I did not know this when I started building this app, but I did my best to work around these limitations.
With this in mind, it may be a while before the platform is ready for production use (especially given my low time commitment) but I will continue to update this app as the platform evolves. See the open issues for a full list of planned features and known issues.
Any contributions you make are greatly appreciated. Especially in the form of PRs, but also in the form of feedback, bug reports, feature requests, and so on. 🤗