openstatus logoDashboard

Set Up the openstatus Slack Agent

Time~5 minutes
LevelBeginner
Prerequisitesopenstatus account on a paid plan (the Slack agent is not available on Hobby), Slack workspace where you have permission to install apps

In this guide, you'll install the openstatus Slack agent so you can manage incidents directly from your Slack workspace — no need to switch to the dashboard. The agent uses an LLM to interpret natural-language messages like "create an incident for the payment API" and turn them into status page actions.

Caution

The Slack agent is AI-powered. It interprets your messages with an LLM, so its responses and actions may occasionally be incorrect, incomplete, or unexpected. Always review the bot's output — especially before publishing incident updates, resolving incidents, or scheduling maintenance — and confirm the change in your openstatus dashboard.

Install the Slack agent

1. Go to settings

Navigate to Settings > Integrations in your openstatus dashboard.

2. Install the Slack integration

Click the Add to Slack button. You'll be redirected to Slack's authorization page where you can select the workspace you want to connect. (If you see an Upgrade button instead, your plan doesn't include the Slack agent.)

Grant the requested permissions and click Allow to complete the installation.

Note

Make sure you select the correct Slack workspace if you belong to multiple workspaces.

3. Add the bot to a channel

Installing the app doesn't pick a channel — no channel is selected during the OAuth flow. Invite the bot to the channel you want to use, either by running the subscribe command there:

/openstatus subscribe https://acme.openstatus.dev

which subscribes the channel to a status page and joins the bot at the same time, or by /invite @openstatus for a private channel the bot can't self-join.

The available slash commands are:

  • /openstatus subscribe <status-page-url> — subscribe this channel to a status page
  • /openstatus unsubscribe [status-page-url] — unsubscribe. The URL is optional when the channel is subscribed to exactly one page; with several, the command lists them and asks you to name one.
  • /openstatus subscriptions — show this channel's subscriptions
  • /openstatus incident … — declare and run incidents, see step 6
  • /openstatus help — show this list (also the response to any unrecognised subcommand)

A channel subscribed this way receives updates for the whole page. For component scoping, and for the other ways a status page can be followed (email, feeds, webhooks), see the subscriber reference.

When someone invites the bot to a channel, that person gets a private What do you want to do? card:

  • Catch up on this channel: the agent reads the recent messages, posts a summary in a thread, and drafts a status report if something is going on.
  • Publish status update: opens the status report form.

The welcome card does not read the channel until someone clicks Catch up. When the bot joins through /openstatus subscribe, there is no inviter, so no card is shown.

4. Verify the installation

In that channel, type:

@openstatus what's the status of my monitors?

The bot should respond with a summary of your monitors. If you see a response, the installation is working.

Tip

The bot only responds when mentioned with @openstatus — it won't interrupt your conversations.

5. Start managing incidents from Slack

Here are some examples of what you can do:

Create an incident

Notify your subscribers about a new issue.

@openstatus create an incident for the payment API – high latency detected.

Update an incident

Keep your status page updated while you investigate.

@openstatus keep the status page updated that we are still monitoring the issue.

Resolve an incident

Close an active incident and let your subscribers know.

@openstatus resolve the ongoing incident on my API status page.

Schedule maintenance

Plan downtime so subscribers are informed in advance.

@openstatus schedule a maintenance window for my database next Friday from 2–3 PM.

6. Run an incident from Slack

The examples above publish to your status page. An incident is the internal side: a severity, a commander, a timeline and a postmortem, in a Slack channel of its own.

Note

Incident management is rolling out workspace by workspace. If the commands below answer that it isn't available yet, it is not enabled for your workspace. If you installed the Slack app before incident management, go to Settings > Integrations and click Reconnect to grant the new permissions.

Declare

/openstatus incident declare Checkout API 503s in EU --sev major

Approve the card and the incident exists. openstatus opens a channel named inc-YYYY-MM-DD-<title>, invites you, sets the severity and status as the topic and pins the incident card. Run /openstatus incident declare without a title to get a form instead.

If your team already runs the incident in the channel you declared from, click Link this channel instead there: the incident moves to that channel and the inc- channel is archived. The incident channel also gets a Create a status report? card with a drafted first update, including when the problem started: Create status report opens the form filled in, and nothing is published until you review and submit it.

Keep the timeline

In the incident's channel, open any message's ⋯ menu and choose Add to incident timeline, or react to it with 📌, and it becomes a note on the incident's timeline. Or write one directly:

/openstatus incident note Rolling back the 09:38 edge config deploy.

Change the status

/openstatus incident mitigate Rollback complete in eu-west-1 and eu-west-2.
/openstatus incident resolve

cancel and reopen work the same way. Outside the incident's channel, name the incident: /openstatus incident resolve #12. The status report on your status page is not touched; update it separately.

Draft the postmortem

/openstatus incident postmortem

Once the incident is resolved, the agent drafts a postmortem from the timeline, the public updates and the channel history, then posts a card to approve it and close the incident. Closing archives the channel.

/openstatus incident status shows where an incident stands and /openstatus incident list shows the open ones. The Incident management reference has every command, the status rules and the reminder thresholds.

What you've accomplished

  • Installed the openstatus Slack agent in your workspace
  • Connected your openstatus account to Slack
  • Learned how to manage incidents directly from Slack
  • Declared an incident and ran it in its own channel

Troubleshooting

The bot doesn't respond when mentioned

  1. Check the channel — make sure the bot has been added to it. Run /openstatus subscriptions there, or re-run /openstatus subscribe <status-page-url> to join it. Private channels can't be self-joined; use /invite @openstatus.
  2. Check permissions — go to Settings > Integrations and verify the Slack integration shows as connected.
  3. Reinstall — if the integration appears disconnected, click Add to Slack again to re-authorise.

"Not authorized" or permission errors

Your Slack workspace admin may need to approve the app. Ask your workspace admin to go to Slack Admin > Manage Apps and approve the openstatus integration.

Bot responds but can't find monitors

Make sure you have at least one monitor and one status page created in your openstatus workspace before using incident commands.

No channel was created for an incident

The incident is declared either way. A missing channel means the Slack app lacks the permissions added for incident channels: go to Settings > Integrations and click Reconnect.

What's next