Skip to main content
Rootly’s Slack integration automatically creates and manages incident channels the moment an incident starts. Channels stay in sync with incident details in real time, so teams stay aligned without manual coordination.

What You Can Do

Incident Channels

Auto-create dedicated channels for each incident with consistent naming, topics, and bookmarks. Channels can be public or private based on incident sensitivity.

Real-Time Updates

Channel topics, names, and bookmarks update automatically as incident status, severity, or details change.

Notifications & Alerts

Announce new incidents to designated channels, notify user groups for high-severity events, and send reminders for stale incidents or unassigned roles.

User Management

Auto-invite on-call responders, service owners, or specific user groups to incident channels based on conditions.

Slash Commands

Declare incidents, update status, assign roles, add action items, and trigger workflows directly from Slack with /rootly commands.

Block Kit Messages

Send rich, interactive messages with buttons for common actions like updating summary, assigning roles, or escalating to PagerDuty.

How It Works

1

Connect Slack

Authorize Rootly to access your Slack workspace. For Enterprise Grid, install at the organization level and add to specific workspaces.
2

Configure Automations

Use Smart Defaults for quick channel and notification setup, or build Custom Workflows for advanced conditional logic.
3

Incidents Auto-Managed

When incidents occur, Rootly creates channels, posts announcements, invites responders, sends reminders, and archives channels when resolved.

Before You Begin

You’ll need:
  • Rootly account with admin permissions
  • Slack workspace admin or owner access
  • For Enterprise Grid: Org Owner or Org Admin role

Required Permissions

Rootly requests the following Slack permissions during installation.
When bot cannot create channels (some workspaces restrict this):
For details on Slack scopes, see Slack’s permission documentation.

Installation

Slack Free, Pro, or Business+

Single workspace installation. Most common setup for teams on standard Slack plans.

Slack Enterprise Grid

Organization-level installation with multi-workspace support. Requires Org Owner/Admin.

Slack Free, Pro, and Business+

1

Open Integrations

In Rootly, go to Configuration → Integrations and search for Slack. Click Setup.Rootly integrations pageSlack integration setup
2

Select Your Plan

Choose Other Slack Plans (this covers Free, Pro, and Business+).Slack plan selection
3

Authorize in Slack

You’ll be redirected to Slack. Verify you’re installing to the correct workspace (check the dropdown in the top right), then click Allow.Slack OAuth authorization
4

Confirm Connection

You’ll be redirected back to Rootly. The integration should show as Connected.Slack connected successfully

Slack Enterprise Grid

You must be an Org Owner or Org Admin to complete Enterprise Grid setup. The install happens at the Slack organization level, so workspace-level roles (Workspace Owner, Workspace Admin) don’t have the required permissions on their own.
With Enterprise Grid, you install Rootly at the organization level, then add it to specific workspaces. This lets you manage incidents across multiple workspaces from a single Rootly account.
1

Open Integrations

In Rootly, go to Configuration → Integrations and search for Slack. Click Setup.
2

Select Enterprise Grid

Choose Slack Enterprise Grid.Slack Enterprise Grid option
3

Install at Organization Level

You’ll be redirected to Slack. Before clicking Allow, verify you’re installing at the organization level (not a single workspace).Click Allow to approve Rootly as an organization-wide app.
4

Add Rootly to Workspaces

After authorization, switch to your Slack Enterprise Grid admin portal:
  1. Go to Organization Settings → Integrations → Installed Apps
  2. Find Rootly in the list
  3. Click the menu and select Add to more workspaces
  4. Select which workspaces should have access to Rootly
  5. Click Next and Allow
Rootly will now be available in those workspaces.
5

Configure Incident Workspace

Return to Rootly and go to Integrations → Slack → Configure:
  1. Select incident workspace — Choose which workspace will host your dedicated incident channels
  2. Set announcement channel — Choose where new incidents are announced
  3. Set alerts channel — Choose where alerts are posted
  4. Click Save Settings
6

Set Up Shared Channels (Recommended)

For cross-workspace visibility, create a shared incident channel:
  1. In Slack, create or select a channel (for example, #incidents)
  2. Click the channel name → SettingsWorkspaces with access
  3. Add all workspaces that should see incident announcements
This way, users in any workspace can see incidents declared from any other workspace.

Switching From a Workspace Install to Enterprise Grid

If Rootly was originally installed at the workspace level (Slack Free / Pro / Business+) and you now want Enterprise Grid features — multi-workspace channel selection, Forms across workspaces, pin-to-timeline, shared cross-workspace incident channels — you need to disconnect and reinstall Rootly with the Enterprise Grid option selected.
The install-mode choice (workspace install vs Enterprise Grid install) is set once during installation. There is no setting in the Rootly UI to switch between the two modes after the fact. If you dismissed the install-mode prompt or originally picked workspace install, the only way to access Enterprise Grid features is to disconnect and reinstall.
Slack-driven automation is unavailable during the disconnect-reinstall window. Between the disconnect and the completed Enterprise Grid reinstall (including Add-to-Workspaces and channel reselection), the following stop working: /incident and other Slack slash commands, incident channel auto-creation, Slack notifications from workflows, /rootly alert commands, and any workflow action that posts to or invites into a Slack channel. Web-based incident creation and non-Slack integrations remain fully functional. Plan the switch during a quiet operational window — most teams schedule it outside of business hours or during a maintenance window so an active incident doesn’t collide with the reinstall.

What’s Preserved Across The Reinstall

Disconnecting and reinstalling the Slack integration only resets the Slack integration’s own settings — the broader Rootly configuration around it stays intact. Specifically: Existing workflow actions that reference specific Slack channels or users do not need to be edited after the reinstall — as long as Rootly is re-added to every workspace that hosts those channels or users during the Enterprise Grid install. Channel and user references are stored on the Rootly side and continue to resolve correctly once Rootly is present in the workspace again. You gain the ability to change which workspace a channel is selected from going forward, but you don’t have to retroactively update anything. If Rootly is not added back to a workspace, actions that reference channels or users in that workspace will fail at execution time — this is the biggest reason to be deliberate about which workspaces you add Rootly to during Step 2.

Procedure

1

Disconnect The Existing Slack Integration

In Rootly, go to Configuration → Integrations, find Slack, click Connected to reveal the disconnect option, then click Disconnect.See Uninstall for the full disconnect steps, including how to also remove Rootly from your Slack workspace (recommended before reinstalling to avoid lingering app state).
2

Reconnect And Choose Enterprise Grid

Restart the installation flow from Configuration → Integrations → Slack → Setup. When the install-mode prompt appears, choose Slack Enterprise Grid and follow the Enterprise Grid install steps above.You must be an Org Owner or Org Admin to complete the Enterprise Grid setup — the install happens at the Slack organization level, so workspace-level roles aren’t sufficient on their own. If your account doesn’t have the required role, ask an Org Owner or Org Admin to complete this step.
3

Reconfigure Slack-Specific Settings

After the Enterprise Grid install completes, set:
  • The incident workspace (which workspace hosts dedicated incident channels)
  • The announcement channel
  • The alerts channel
  • Smart Defaults as needed
These are the settings that were reset during the reinstall. Your workflows, schedules, and other integration configurations are unchanged.
4

Verify Existing Workflows Still Reference Valid Channels

Open a few of your most-used incident workflows and confirm their Slack actions still resolve to the expected channels. In almost every case they will — references are preserved across the reinstall — but spot-checking a couple of high-traffic workflows gives you a sanity check before the next incident.
If your organization isn’t on a Slack Enterprise Grid plan, the Enterprise Grid option won’t appear during the install flow. See the Enterprise Grid option not showing accordion in Troubleshooting below for the most common causes.

Re-Claiming the /incident Command

During the transition to Rootly, you may experience issues where Rootly’s bot claims the /incident Slack command from your existing bot. When multiple bots use the same command, Slack will always invoke the one that was installed most recently. If this interrupts your transition, follow the steps below to reclaim the /incident command from Rootly. This is the safest method — it does not result in a blackout period where your old bot is unusable.
  1. Ensure Rootly is already installed on your Slack workspace.
  2. Update your old bot’s Slack command from /incident to a placeholder (for example, /incident-1).
  3. Save the change.
  4. Change the command of your old bot back to /incident.
Slack recognizes an update to the command as a new installation. This should make your old bot the “most recently installed bot” that uses the /incident command.

Option 2

If Option 1 does not work, try this option. There will be a brief blackout period where your old bot is unusable.
  1. Ensure Rootly is already installed on your Slack workspace.
  2. Uninstall your old bot.
  3. Reinstall your old bot.
This is effectively the same as Option 1 — the reinstallation reclaims the /incident command from Rootly.

Enterprise Grid Consideration

If the issue persists after trying the above, check your installation scope. If Rootly is installed at the Slack organization level (Slack Enterprise Grid), you must also reinstall your old bot at the Slack organization level, not just at the workspace level.

Smart Defaults

Smart Defaults let you configure automatic Slack behaviors without building custom workflows. Enable channel creation, set up announcements, configure reminders, and manage archiving from a single settings panel.
New vs Existing Customers:
  • New customers have Smart Defaults enabled by default and can manage incidents immediately
  • Existing customers have Smart Defaults disabled to avoid disrupting existing workflow configurations

  1. Go to Configuration → Integrations → Slack
  2. Click Configure
  3. You’ll see the Smart Defaults panel

Workspace Setup

Workspace selection dropdown Select the Slack workspace where incident channels will be created.
Most users see one workspace. Enterprise Grid customers may see multiple workspaces.
The selected workspace determines which users, groups, and channels appear in Rootly dropdowns.

Notifications

Configure what messages Rootly sends to Slack.

Team Notifications

Team notifications settings
Announces every new public incident in a specified channel. Private incidents are excluded from this announcement.Default announcement channel configuration
Rootly refreshes channels daily. Click Refresh channels if a channel doesn’t appear.
For private channels, the Rootly bot must be added first. Send @Rootly in the channel to invite the bot.Private channel bot invitation
Notify specific users, groups, or channels when high-severity incidents are declared.
See Severities to configure severity levels.
Announces new alerts in a specified channel. Messages auto-update as alerts are acknowledged, escalated, or resolved.
For conditional routing (for example, different channels per team), use a Custom Workflow.

Smart Reminders

Smart reminder settings
What counts as “activity”?
  • Updating the incident summary ✓
  • Using 📌 emoji to log timeline events ✓
  • Regular messages in the channel ✗ (does not count)

Updates

Incident update notification settings

Advanced

Advanced notification settings

Incident Channel

Configure how incident channels are created and managed.

Channel Settings

Incident channel settings
Slack doesn’t allow duplicate channel names. Predefined options ensure uniqueness. For custom names, include unique identifiers like {{ incident.sequential_id }}.
Example custom channel names:
  • inc-{{ incident.sequential_id }}-{{ incident.title | slugify }}
  • {{ incident.severity | downcase }}-{{ incident.created_at | date: '%Y%m%d' }}-{{ incident.title | truncate: 20 }}

Bypass Slack Permissions

Bypass Slack permissions setting Some workspaces restrict channel creation to admins. Enable this to let Rootly create channels on behalf of admin users.
Check with your Slack admin before enabling. This requires additional user scopes.

Emoji Shortcuts

Emoji shortcut interactions Configure emoji reactions to trigger actions:
Choose uncommon emojis to avoid accidental triggers. Avoid 👍, 😄, or other frequently used reactions.

Archive Channels

Channel archiving settings

Member Tracking

Member tracking settings

When to Use Custom Workflows Instead

Smart Defaults cover common scenarios, but use Custom Workflows when you need:
  • Conditional logic — Different channels for different teams or severities
  • Multi-step automations — Invite users, then send a message, then add a bookmark
  • Integration actions — Create Jira tickets, page PagerDuty, update status pages
  • Scheduled/delayed actions — Send reminders at specific intervals
  • Custom message formatting — Use Block Kit for rich interactive messages

Workflows

Smart Defaults

Quick setup, no codePre-configured settings for channel creation, topics, notifications, and reminders.

Custom Workflows

Full controlBuild conditional automations with triggers, conditions, and 10+ Slack actions.

Available Actions

Custom workflows give you full control over Slack automation. Create channels, send messages, invite users, and more based on triggers and conditions you define. If you’re new to workflows, see the Workflows documentation first.

Create a Workflow

1

Open Workflows

Go to Rootly → Workflows → Create Workflow.Rootly workflows pageCreate workflow button
2

Choose Workflow Type

Select Incident, Retrospective, or Pulse depending on when you want the workflow to run.Workflow type selection
3

Configure Triggers

Triggers define when the workflow runs.Workflow trigger configuration
4

Add Conditions (Optional)

Conditions filter when the workflow should actually execute.Workflow conditions panelCommon conditions:
  • Severity — Only for SEV-1 or SEV-2
  • Team/Service — Only for specific teams
  • Incident Type — Only for actual incidents (not tests)
  • Environment — Only for production
5

Add Actions

Click Add Action and search for Slack.Add action buttonSearch Slack actionsSelect one or more Slack actions. Each action is configured independently.

Action Reference

Creates a dedicated channel for the incident.Create Slack Channel action
string
required
Which Slack workspace to create the channel in.
string
required
Channel name. Supports Liquid variables.Example: incident-{{ incident.sequential_id }}-{{ incident.title }}
enum
Controls channel visibility:
  • auto — matches incident privacy (private incident → private channel)
  • true — always private
  • false — always public
If the incident already has a Slack channel, this action will skip channel creation to avoid duplicates.
Posts a message to channels, users, or user groups.Send Slack Message action
string
Target channels. Use {{ incident.slack_channel_id }} for the incident channel. Supports Liquid variables.
string
Individual users to message directly.
string
Groups to notify — all members receive the message.
string
required
Message content. Supports Liquid variables and Slack markdown.
Message Options:Action Buttons — add interactive buttons to messages:
Same as Send Message, but with Snooze/Pause buttons and support for recurring schedules.Send Slack Reminder action
string
Target channels. Supports Liquid variables.
string
required
Reminder message content. Supports Liquid variables.
enum
How often the reminder fires. Options include once, every N minutes, hourly, and daily.
Use reminders for periodic nudges (for example, “Update the incident summary every 30 minutes”). The Snooze and Pause buttons allow responders to defer or stop reminders without leaving Slack.
Send rich, interactive messages using Slack Block Kit.Send Slack Blocks action
string
required
JSON payload following Block Kit format. Supports Liquid variables.
string
Text shown in push notifications when Block Kit content can’t be rendered.
Block Kit Examples:Text section with markdown:
Button that triggers a workflow:
Available action_id values:
Slack’s Block Kit Builder can’t interpret Liquid variables. Test your templates in Rootly’s Liquid Variable Explorer.
Adds users or user groups to a channel.Invite to Slack Channel action
string
required
Target channel. Use {{ incident.slack_channel_id }} for the incident channel. Supports Liquid variables.
string
Individual users to invite. Use {{ incident.creator }} for the incident creator.
string
Groups to invite — all members are added to the channel.
Changes the channel name dynamically, useful for reflecting status changes.Rename Slack Channel action
string
required
Channel to rename. Use {{ incident.slack_channel_id }}. Supports Liquid variables.
string
required
New channel name. Supports Liquid variables.Example: resolved-{{ incident.title }}
Common use case: Rename to include status when resolved (for example, resolved-database-outage).
Sets the channel topic to display key incident info at a glance.Update Slack Channel Topic action
string
required
Channels to update. Supports Liquid variables.
string
required
New topic text. Supports Liquid variables and Slack markdown.
Example topic:
Pins a link to the channel’s bookmark bar for quick access during an incident.Add Slack Bookmark action
string
required
Channel to add the bookmark to. Supports Liquid variables.
string
required
Bookmark display text. Supports Liquid variables.
URL to bookmark. Common values: {{ incident.url }}, {{ incident.jira_issue_url }}. Supports Liquid variables.
string
Icon shown next to the bookmark.
string
Optionally link to a Rootly playbook instead of specifying a title and link manually.
Archives the channel to keep your workspace clean after an incident is resolved.Archive Slack Channel action
string
required
Channel to archive. Use {{ incident.slack_channel_id }}. Supports Liquid variables.
Common trigger: Incident status changed to “Closed” with a 24–48 hour delay to allow post-incident cleanup.
Switches a channel between public and private.Change Slack Channel Privacy action
string
required
Channel to modify. Supports Liquid variables.
enum
required
  • public — make the channel visible to all workspace members
  • private — restrict access to invited members only
Changing from private to public may not be allowed by your Slack workspace settings.

Common Liquid Variables

Explore all variables in the Liquid Variable Explorer.

Slash Commands


Getting Started


Create & View Incidents


Update Incidents


Incident Status


Teams & Services


Roles & Assignments


Action Items

Alias: /rootly action also works for managing action items.

On-Call & Paging


Advanced


Command Details

/rootly new

Opens the incident creation form. Fill in title, summary, severity, and type. Rootly will:
  • Create a dedicated Slack channel
  • Post the initial incident message
  • Trigger configured workflows

/rootly test

Same as /rootly new, but the incident is marked as a test and won’t be publicly announced. Use for training and workflow testing.

/rootly maintenance

Schedule planned maintenance. Maintenance incidents appear in the Rootly web UI and can be published to status pages.

/rootly status

Opens a modal to change the incident status (In Triage → Active → Mitigated → Resolved → Closed).

/rootly mitigate

Quick action to mark the incident as mitigated. You’ll be prompted to add a comment explaining the mitigation.

/rootly resolve

Quick action to mark the incident as resolved. You’ll be prompted to add a resolution comment.
Tasks are actions to complete during the incident (for example, “Restart the database”).Follow-ups are post-incident actions (for example, “Add monitoring for this failure mode”).Use /rootly action items to manage this incident’s action items, or /rootly todo (alias /rootly tasks) to see the checklist of items assigned to you.

/rootly oncall

View who’s currently on-call for any schedule. Works with Rootly On-Call and integrated providers (PagerDuty, Opsgenie, VictorOps).

/rootly escalate · /rootly call · /rootly page

These three words are aliases for the same command — pick whichever your team prefers. The dialog that opens depends on where you invoke the command:
  • Inside an incident Slack channel — the escalation dialog opens with the current incident’s context. If your team has an external paging integration (PagerDuty, Opsgenie, VictorOps, PagerTree), the dialog routes the page through that provider; otherwise it uses Rootly On-Call.
  • In any other channel — the manual page dialog opens for ad-hoc paging (Rootly On-Call schedules, teams, services, functionalities, or escalation policies).
You can prefill target users by @-mentioning them after the command: /rootly page @alice @bob. Non-mention trailing text is ignored.If a team admin has enabled a custom Slack paging workflow (Team Settings), the alias set is disabled and these commands won’t respond.

/rootly convert

Convert an existing Slack channel into a Rootly incident channel. Use this when an incident discussion is already happening in a channel before it’s formally declared.Run this command in the channel you want to convert (not an existing incident channel).

Troubleshooting

Causes:
  • You’re not an Admin or Owner of the workspace
  • Workspace doesn’t allow members to install apps
  • Logged into wrong Slack account
Solutions:
  • Ask a Slack Admin/Owner to install Rootly
  • Check Slack → Settings & Permissions → App Management
  • Try in a private browser window with the correct Slack account
Causes:
  • Your org isn’t on Enterprise Grid
  • You’re not an Org Owner/Admin
  • Logged into a non-Grid workspace
Solutions:
  • Verify your plan at Slack’s pricing page
  • Ask an Org Owner/Admin to complete installation
  • Log into your Enterprise org, not a standalone workspace
Causes:
  • Rootly bot lacks channel creation permissions
  • Workspace restricts channel creation to admins
Solutions:
  • Enable Bypass Slack permissions in Smart Defaults
  • Verify Rootly has channels:manage and groups:write scopes
  • Check workflow logs for specific errors
Causes:
  • Announcement channel isn’t shared across workspaces
  • Rootly not added to all required workspaces
Solutions:
  • Create a shared channel for incident announcements
  • Add Rootly to all workspaces via Organization Settings → Installed Apps
Slack includes a native, Slack-built Rootly connector in Workflow Builder that is separate from the Rootly Slack app. If you need to disable or restrict this connector at the workspace level, see the FAQ on the Slack integration page for step-by-step instructions.
If you’re on Slack Enterprise Grid and pinning messages to the incident timeline isn’t working, this is a sign that your Slack integration was installed as a non-Grid (single-workspace) installation rather than at the organization level.

Solutions: 
  • Disconnect the Slack integration from Rootly 
  • Reconnect it, making sure to select Slack Enterprise Grid during installation and authorize at the organization level (not a single workspace)

Uninstall

To remove the Slack integration:
  1. Go to Configuration → Integrations and find Slack
  2. Click Connected to reveal the disconnect option
  3. Click Disconnect
Click Connected to reveal the Disconnect option
Disconnecting from Rootly does not remove Rootly from Slack. To fully revoke access:
  1. In Slack, go to Settings & Administration → Manage Apps
  2. Find Rootly and click Remove