Documentation for each Rotation App workflow step in Slack's Workflow Builder, with usage examples.
- Slack Workflows integration must be configured first.
- Learn how to configure Slack Workflows integration.
Once you’ve set up the Slack Workflows integration, you’ll have access to these workflow steps in Slack’s Workflow Builder. Each step connects to your Rotation App rotations and can be used for advanced automation scenarios that extend beyond Rotation App’s native scheduling and announcement features.
Available Workflow Steps
Steps at a glance
Get Assigned User(s)
Purpose: Retrieve information about who is currently assigned in a rotation.
When to use:
- Update external systems with current on-call information
- Route incident reports to the right person
- Sync rotation data with other tools (PagerDuty, Linear, etc.)
- Build custom reporting dashboards
Required inputs:
- Workspace: The Slack workspace (automatically filled)
- Rotation Name: The exact name of your rotation in Rotation App
Outputs:
- Assigned User 1: The currently assigned user (for individual rotations or first user in group rotations)
- Assigned User 2-5: Additional assigned users for group rotations (empty for individual rotations)
Example workflow: When an incident is reported, get the current on-call engineer, create a PagerDuty incident assigned to them, and notify the incident channel.
Get Next Assignee(s)
Purpose: Retrieve information about who will be assigned next in a rotation without actually assigning them.
When to use:
- Send custom pre-shift reminders to upcoming assignees
- Update external systems with upcoming on-call information
- Build conditional workflows based on who’s next
- Integration with calendar or planning tools
Required inputs:
- Workspace: The Slack workspace (automatically filled)
- Rotation Name: The exact name of your rotation in Rotation App
Outputs:
- Next Assignee 1: The next user to be assigned (for individual rotations or first user in group rotations)
- Next Assignee 2-5: Additional users for group rotations (empty for individual rotations)
Example workflow: Send a personalized reminder to the next on-call person 24 hours before their shift, including shift details and escalation procedures.
Assign Next User(s)
Purpose: Automatically advance a rotation to assign the next user(s) in the queue.
When to use:
- Event-driven assignments (e.g., when an incident is reported)
- Manual assignment triggers from forms or buttons
- Syncing assignments with external tools after advancing rotation
Note: For regular scheduled rotations, use Rotation App’s native scheduling feature instead.
Required inputs:
- Workspace: The Slack workspace (automatically filled)
- Rotation Name: The exact name of your rotation in Rotation App
Outputs: None (the assignment happens automatically)
Example workflow: When an incident form is submitted, assign the next person in the rotation and update the incident management system with their details.
Assign a User
Purpose: Assign a specific user to the current shift in a rotation.
When to use:
- Custom assignment logic based on external criteria or user input
Required inputs:
- Workspace: The Slack workspace (automatically filled)
- Rotation Name: The exact name of your rotation in Rotation App
- User to assign: The specific user to assign to the current shift
Outputs: None (the assignment happens automatically)
Special behavior: If the specified user is not part of the rotation’s regular users, they will be set as a one-time substitution for the current shift.
Example workflow: Set the assigned user based on an external calendar, spreadsheet, or a 3rd party tool.
Shuffle Rotation Queue
Purpose: Randomly shuffle the order of users in a rotation queue.
When to use:
- Periodic diversity improvements in rotation schedules
- Reset rotation order after team changes or events
- Mix up predictable patterns for fairness
- Random assignment for special projects or tasks
Required inputs:
- Workspace: The Slack workspace (automatically filled)
- Rotation Name: The exact name of your rotation in Rotation App
Optional inputs:
- Include currently assigned user(s)?: Whether to include the current assignee(s) in the shuffle (defaults to false)
Outputs: None (the shuffle happens automatically)
Example workflow: After team building events or when new members join, shuffle the rotation queue and notify everyone of the updated order.
Working with Group Rotations
For rotations that assign multiple users at once (group rotations), the workflow steps return up to 5 users:
- Individual rotations: Only the first output (User 1/Assignee 1) will contain a value
- Group rotations: Multiple outputs may contain values depending on the group size
Example Workflow Ideas
Pre-Shift Reminder
- Trigger: Scheduled (2 hours before rotation change)
- Step 1: Get Next Assignee(s) for “Support Rotation”
- Step 2: Send personalized DM with shift details and handover notes
- Step 3: Add upcoming shift to their calendar
Incident Response with External Integration
- Trigger: Form submission (incident report)
- Step 1: Get Assigned User(s) for “Incident Response”
- Step 2: Send an SMS to the user using RingCentral
- Step 3: Create incident channel and invite the on-call person
Task Completion Hand-Off
- Trigger: Form submission (task completion)
- Step 1: Assign Next User(s) for “Support Rotation”
- Step 2: Send a thank-you message to the user who completed the task
- Step 3: Notify the newly assigned user and share relevant task details
External System Sync
- Trigger: Scheduled (every hour)
- Step 1: Get Assigned User(s) for “Support Rotation”
- Step 2: Update PagerDuty on-call schedule
- Step 3: Update Incident.io assignment
- Step 4: Sync with monitoring tool escalation policies
Need help? We’re here to help! Reach out anytime at contact@rotation.app if you’d like guidance on achieving something with Rotation App or if you have ideas for workflow steps we haven’t built yet. We’d love to hear from you!