Slack Integration Guide | PagerDuty

Slack + PagerDuty Integration Benefits

  • Collaborate seamlessly while managing PagerDuty incidents end-to-end from incident dedicated channels.
  • Increase awareness of active incidents by receiving notifications in Slack, either by pre-configured service/team channel connections, or notification channels.
  • Look up who is on-call, create Insights reports and manage the integration.
  • Take action on your incident, all without leaving Slack.
    • Declare, acknowledge, escalate and resolve PagerDuty incidents.
    • Run Incident Workflows, send status updates, assign roles and delegate tasks.
  • Save time by leveraging PagerDuty Advance GenAI capabilities.
    • Efficiently getting context (for example, @PagerDuty what changed?).
    • Generating status updates (for example, @PagerDuty draft a status update).
    • Summarizing the incident after resolution for post-incident reviews.
  • Easily build post-incident reviews in Jeli by importing Slack data for analysis.

Requirements

In PagerDuty:

  • Initial Configuration: This integration requires an Admin, Global Admin or Account Owner base role to perform the initial configuration. This includes mapping your PagerDuty account to your Slack workspace.

  • Slack Connection Management: Once your PagerDuty account has been mapped to your Slack workspace (see the previous section) Team Managers, Admins and Account Owners can configure channels for a PagerDuty service.

  • Using the Integration: For users to be able to perform PagerDuty actions from within Slack or create new channel connections on the PagerDuty side, users must first link their PagerDuty and Slack user accounts. Actions such as acknowledging, resolving, viewing incident details, adding a note, escalating or running an Incident Workflow follow the PagerDuty user permissions for each action.

  • The Slack integration is supported for both US and EU service regions.

PagerDuty Advance

In Jeli

  • Admin permissions are required to manage integrations in Jeli.
  • Jeli is available for accounts in the US service region only.

In Slack:

  • To install the PagerDuty application, you need to be a workspace admin or owner.

How It Works

The Slack integration is organized around three channel types, each configured from its own tab on the Slack configuration page:

  • Incident channels — Unique channels created for each incident, so your work and context are centralized in one place. When an incident happens, you can jump in and get to work.
  • Notification channels — Channels that receive incident updates based on rules. Notification channels make it easy for responders to monitor incidents by service, team, and more.
  • Announcement channels — Channels used to broadly announce incidents to stakeholders, leadership, and customer-facing teams, based on rules. Announcement channels make it easy to update stakeholders on new and in-progress incidents.

You can declare, acknowledge, resolve, and perform other actions within Slack. When you configure a channel for a service or team, an incident card is automatically sent to the designated channel whenever an incident is declared for that service or team. You can then perform actions within Slack, or within PagerDuty, and the actions are synced bi-directionally.

You can interact with PagerDuty Advance for a broad range of incident-related tasks, such as catching up on an incident's status and drafting status updates. After resolving an incident, you have the option to create a Post-Incident Review.

See the PagerDuty Privacy Policy to read more about how we collect, use and disclose your information.

Integration Walkthrough

Initial Configuration

  1. Map your PagerDuty account to your Slack Workspace. In PagerDuty, navigate to Integrations Extensions. Select the Slack tile at the top.
  • If prompted, click Authorize Integration.
  1. On the Slack Workspaces mapping screen, click Add Workspace to connect your PagerDuty account to your Slack workspace. Connecting your PagerDuty account to your Slack workspace ensures that the PagerDuty bot is present and that PagerDuty slash commands can be executed from any Slack channel.
  2. Ensure the correct workspace is selected in the dropdown.
  3. Click Allow to authorize.

Once this step is complete, configure your channels from the Slack configuration page. See Configure the Slack Integration.

Configure the Slack Integration

🚧

Required User Permissions

You will only be able to configure channels that you have Slack permissions for. If you do not have the appropriate Slack permissions for a channel, it will not appear in search results. If you need permissions to access a Slack channel, contact your Slack administrator.

📘

Private Slack Channels

If you connect a private Slack channel, the PagerDuty app (@pagerduty) will be automatically added to the channel. If the PagerDuty app is thereafter manually removed from that channel, it will cause the automatic deletion of the connection between the PagerDuty service or team and that Slack channel, and no subsequent incident notifications will be received in the channel.

Configure each channel type from the Slack configuration page (Integrations Extensions Slack your workspace). The page has four tabs:

  • Incident Channel
  • Notification Channels
  • Announcement Channels
  • Advanced Options
⚠️

Link Your Account

You must link your PagerDuty and Slack accounts to manage this integration. If your accounts are not linked, click Link Account in the banner at the top of the configuration page.

Incident Channel

On the Incident Channel tab, enable and manage settings for new incident channels. All incident channels have their incident details pinned to the top.

FieldValue
Channel nameSet the naming convention for new incident channels (for example, #inc-{{incident.incident_number}}).
Automatically create incident channelsToggle on to auto-create channels for new incidents, based on conditions.
Auto-update incident channel topicToggle on to keep the channel topic up to date with details such as the current assignee. You can also add custom logic with workflows.
Include a link to incident detailsToggle on to add a channel bookmark that jumps to the incident details in PagerDuty. You can also add custom bookmarks with workflows.
Incident updatesSelect which types of updates to send to the channels.
Thread incident updatesToggle on to add all updates to a thread and reduce clutter.
⚠️

Disable Automatic Incident Channels

To stop PagerDuty from automatically creating incident channels, go to IntegrationsExtensionsSlackWorkspaceIncident Channel tab and toggle off Automatically create incident channels.

Incident channel settings in the PagerDuty UI

Incident Channel - Channel Settings

Notification Channels

On the Notification Channels tab, send updates to specific channels based on rules. Notification channels make it easy for responders to monitor incidents by service, team, and more.

Rules are driven by orchestration: parameters defined in the event payload — such as the priority of an incident — can determine whether an incident is declared and routed to a notification channel.

Notification channel settings in the PagerDuty UI

Edit Notification Channel Settings

Announcement Channels

On the Announcement Channels tab, broadly announce incidents to different channels based on rules. Announcement channels make it easy to update stakeholders on new and in-progress incidents.

Rules determine when an announcement is sent. For example, when an incident matches a high-priority rule, an announcement channel can be created and the incident broadcast to it. Those rules can be changed.

Modal for creating a new annoucement channel

Create an Announcement Channel

Advanced Options

On the Advanced Options tab, configure general settings for the integration.

General Settings

SettingDescription
Allow any Slack user to declare incidents on servicesBy default, only Slack users with a linked PagerDuty account can declare an incident. Toggle on to allow any Slack user to declare incidents on services.
Enable rich previews for PagerDuty incident linksUnfurls links to PagerDuty incidents with rich previews, additional details, and interactive buttons.
Display emojis in incident notificationsToggle on to display emojis next to fields in all incident notifications in Slack.

App Permissions

There are three sets of optional scopes you may enable, depending on which PagerDuty platform features you intend to use. These scopes allow access to Slack chat messages, and read uploaded files enriching PagerDuty Advance "catch me up" and "wrap me up" incident summaries, status updates, and proactive incident messages.

By enabling Shared files on the Slack configuration page, we will request one additional scope. The permission is disabled by default when a Slack workspace is added.

OAuth ScopeSlack DescriptionPagerDuty Request Reason
files:readView files shared in channels and conversations that your Slack app has been added toUsed to read and analyze files to provide enhanced incident response and platform recommendations.

By enabling Chat messages, we will request three additional scopes:

OAuth ScopeSlack DescriptionPagerDuty Request Reason
channels:historyView messages and other content in public channels that the PagerDuty app has been added to.Used to ingest Slack messages into PagerDuty for use as evidence in post-incident reviews and to improve incident summaries with relevant conversation details.
reactions:readView emoji reactions in channels and conversations that the PagerDuty app has been added to.Used to display emoji reactions when ingesting Slack messages as evidence for post-incident reviews.
reactions:writeAdd and edit emoji reactions.When users make certain requests to the PagerDuty Slack app, the application responds with an emoji to indicate the request has been received.

By enabling Private channel ingestion on the Slack configuration page, we will request one additional scope:

OAuth ScopeSlack DescriptionPagerDuty Request Reason
groups:historyView messages and other content in private channels that the PagerDuty app has been added to.Used to ingest Slack messages from private channels into PagerDuty for use as evidence in post-incident reviews and to improve incident summaries with relevant conversation details.
⚠️

Disable App Permissions

Only Slack admins can disable Slack workspace permissions.

Danger Zone

From here you can disconnect the Slack workspace from PagerDuty. Stops all notifications, messages, automations, and integrations to Slack. This cannot be undone.

Presets

Presets control which incident events post to a channel. Set a preset for each channel type from its tab on the Slack configuration page. The preset replaces the individual selections in the Incident updates field.

PresetAvailable onEvents posted
Highlights OnlyAll channel types — default for the incident (dedicated) channelIncident triggered, Incident acknowledged, Incident resolved, Incident reopened, Note added, Priority updated, Incident type updated, Automation action started / updated / ended
Status Updates OnlyAll channel types — default for notification and announcement channelsIncident triggered, Incident resolved, Status update published
No UpdatesAll channel typesIncident triggered
All UpdatesAll channel typesEvery event, including all selectable events
CustomNotification and announcement channels onlyA user-defined combination of any selectable events
Presets option for incident updates in the notification channel settings

Incident Updates - Presets

Selectable Events

The All Updates and Custom presets draw from the full set of selectable events:

  • Incident triggered
  • Incident acknowledged
  • Incident unacknowledged
  • Incident escalated
  • Incident delegated
  • Incident resolved
  • Incident reopened
  • Responder added
  • Responder replied
  • Note added
  • Priority updated
  • Status update published
  • Incident type updated
  • Automation action started / updated / ended
  • Task created (requires the incident tasks feature)
  • Task assignee, description, name, or status changed (requires the incident tasks feature)
  • Task completed (requires the incident tasks feature)
  • Role assigned to responder (requires the incident roles feature)
📘

Incident Channel Creation Notices

When a dedicated incident channel is created, a short message linking to the new channel — for example, Incident channel #inc-123-something created — is posted to your notification and announcement channels. This notice is independent of the preset you select, and it is not posted inside the dedicated channel itself.

Via Slack Command

Navigate to your preferred Slack channel, enter the /pd connect command and make selections in the following fields based on your preferences:

FieldValue
Choose a PagerDuty accountSelect your PagerDuty account from the dropdown.
Connect service or team to [CHANNEL-NAME]Search and select the service or team that you would like to connect to the channel.
How do you want to be notified?Select the radio button for your preferred notification type:

- Responder: Notifications include buttons for users to acknowledge, resolve, and take other actions on incidents.

- Stakeholder: Notifications do not include any buttons to take action on incidents.

Click Connect to connect your PagerDuty source to your Slack channel.

👍

Slack User Guide

Once initial configuration is complete, read our Slack User Guide for instructions on how to use the integration.

Granular Bot Permissions

The Slack integration uses granular bot permissions, as detailed in the Bot Token Scopes table. All channel connections are affected by granular bot permissions, but new connections will closely follow Slack workspace security settings. Creating channel connections may require users to have additional Slack permissions or admin authorization, as detailed in the Approve App Update section.

Approve App Update

There are two Slack settings that may impact the app update:

  • App Updates require a Slack Admin approval.
  • Only Slack Admins or Slack app Managers can create PagerDuty service to Slack channel connections.

If a user does not have the correct Slack user permissions, then a notification will be sent to a Slack admin to approve the connection. If a Slack admin does not approve the new changes, users will not be able to create new Slack channels and PagerDuty service connections. If your Slack account has not restricted these settings, no action is required.

To approve the app update as a Slack Admin:

  1. Navigate to the Slack admin portal and search for the PagerDuty app.
  2. At the top right of the page, click Approve next to Manage app for entire workspace? and approve PagerDuty app changes.

Bot Token Scopes

OAuth ScopeSlack DescriptionPagerDuty Request Reason
app_mentions:readView messages that directly mention @pagerduty in conversations that the app is in.Required for interactions with the PagerDuty bot and responding to commands.
assistant:writeAllow your slack app to act as an AI Assistant.Enables PagerDuty to act as an App Assistant in the workspace where it is installed.
bookmarks:writeCreate, edit, and remove bookmarksRequired to automate the creation of bookmarks within an incident dedicated channel.
channels:joinJoin public channels in a workspace.Required for PagerDuty to join a public channel after it has been created.
channels:manageManage public channels that PagerDuty has been added to and create new ones.Enables the creation and management of public channels.
channels:readView basic information about public channels in a workspace.Required to retrieve user IDs from a channel to prompt those users to associate their PagerDuty account with their Slack username.
chat:writeSend messages as @pagerduty.Required to post incident notifications to channels in Slack.
chat:write.publicSend messages to channels @pagerduty isn't a member of.Required to post incident notifications to channels in Slack.
commandsAdd shortcuts and/or slash commands that people can use.Required for interactions with the PagerDuty bot and responding to commands.
groups:readView basic information about private channels that PagerDuty has been added to.Required to access information about a user's private channels and retrieve user IDs to prompt those users to associate their PagerDuty account with their Slack username.
groups:writeManage private channels that PagerDuty has been added to and create new ones.Enables the creation and management of private channels for PagerDuty incidents.
im:historyView messages and other content in direct messages that your slack app has been added to.Required to view messages and other content in direct messages that PagerDuty has been added to.
im:readView basic information about direct messages that PagerDuty has been added to.Required to retrieve user IDs from a multi-party direct message to prompt those users to associate their PagerDuty account with their Slack username.
im:writeStart direct messages with people.Required to reply to a multi-party direct message regarding associating a PagerDuty account with a Slack username.
incoming-webhookPost messages to specific channels in Slack.Required for PagerDuty to communicate with Slack via webhooks to notify users of new incidents. Used to post to channels in Slack.
links:readView URLs in messages.Required for unfurling PagerDuty links in Slack messages.
links:writeShow previews of URLs in messages.Required for unfurling PagerDuty links in Slack messages.
pins:writeAdd and remove pinned messages and files.Required to allow users to pin Slack messages sent by PagerDuty to a channel.
team:readView the name, email domain, and icon for workspaces the PagerDuty app is connected to.Required to display workspace information in the PagerDuty web application.
users:readView people in a workspaceRequired to display Slack users in the PagerDuty web application when building incident automation.
users:read.emailView email addresses of people in a workspaceRequired to associate actions taken by users in Slack with their corresponding user accounts in PagerDuty.

Add Multiple Slack Workspaces to PagerDuty Connections

You may add multiple workspace connections to multiple PagerDuty accounts.

Follow the Integration Walkthrough instructions for as many workspaces as you need to add to each PagerDuty account.

Slack Connection Management

Users with a Manager, Admin or Account Owner role can manage connections in PagerDuty on the Slack configuration page under Integrations Extensions Slack Integration. Note: This version of the Slack integration is no longer managed at the service level.

🚧

Required User Permissions

  • PagerDuty Team Managers (see restrictions in this section), Admins and Account Owners can view, edit and delete Slack channel connections.
  • Team managers with a Restricted Access base role will not be able to manage connections for their team. If a Manager does not have access to a service or team, they will be view-only and unable to edit changes.
  • Responders will be able to see a view-only state of all the connections.

Edit or Remove a Slack Workspace

  1. Navigate to Integrations Extensions select the Slack Integration tile.
  2. Click the icon to the right of you Slack workspace.
    1. To edit the connection, click Configure workspace.
    2. To remove the connection, click Disconnect workspace.

🛑

This Action Cannot Be Undone

If you would like to reconnect your workspace to PagerDuty, follow the instructions in the Integration Walkthrough again.

PagerDuty Slack Integration API

View our developer documentation for more information about the PagerDuty Slack Integration API.

Slack User Guide

Read our Slack User Guide for more information about using the integration after it has been configured.

Add a Slack Contact Method

Once the Slack integration has been configured, you can add Slack as an incident contact method. See our User Profile article for more information.

PagerDuty Advance AI Disclosure

To learn more about how we designed, built, and assessed PagerDuty Advance with mission-critical work in mind, you can access the PagerDuty Advance AI Disclosure by following these instructions:

  1. Visit PagerDuty's Assurance Profile.
  2. In the Documents section of the page, click the Public tab to see the PagerDuty Advance AI Disclosure document.
  3. Click Download while hovering over the document tile.
📘

PagerDuty Guidelines for the Safe and Secure Use of Generative AI

Generative AI is a predictive technology, and sometimes the information it creates can be misleading or false. It is the responsibility of each user to fact-check the output of generative AI before you use it. See PagerDuty Guidelines for the Safe and Secure Use of Generative AI for more information.

FAQ

What file types and limits exist for file upload?

We currently support .txt, .md, .jpg and .png files. One file can be attached to a slack message when the bot is mentioned, and file size can be up to 500Kb maximum.

Why is workspace mapping required?

Workspace mapping connects a PagerDuty account to a Slack workspace. This provides authorization and access to all channels in a workspace and removes the need to authorize connections on a channel by channel, service by service basis.

Can Managers perform the initial setup of a channel/service connection, or access and edit the settings for a connection?

- Users with a Manager role or higher can create and manage their teams' connections.

Is there a way to allow `non-PagerDuty users` to declare incidents in Slack?

A PagerDuty admin can enable the Allow any Slack user to declare incidents on services option on the Advanced Options tab to allow non-PagerDuty users to declare incidents from Slack.

If this option has not been enabled, unlinked users can still declare incidents using a Slack workflow. See Create an Incident Declaration Slack Workflow for more information.

I changed my channel from public to private, and now my incidents are not posting to Slack.

Invite the PagerDuty bot (@PagerDuty) to your Slack channel after you set it to private.

Do I need to install anything else to use slash commands?

No, slash commands are available out-of-the-box. To use the /pd trigger command, ensure that you have mapped your Slack workspace to PagerDuty (step 4 of the Integration Walkthrough).

Can I add multiple Slack workspaces to a single PagerDuty account?

Yes, you can map multiple workspaces to a single PagerDuty account by repeating the Initial Configuration.

Can I connect a workspace to both a PagerDuty account in the US service region and a PagerDuty account in the EU service region?

Yes, you can map a single workspace to PagerDuty accounts in different regions. You will just need to make sure to run slash commands with the appropriate prefix (/pd for US and /pdeu for EU).

How do I view `on-call` information in Slack?

Use the command /pd oncall to see who is on call.

I am seeing "Slackbot removed an integration from this channel: PagerDuty" in channels after a user was deactivated — did my integration break?

No. This message does not mean the integration is broken or that active configurations have been removed. All PagerDuty-Slack connections remain fully intact and functional.

Why this happens

Older, legacy versions of the PagerDuty-Slack integration relied on user-dependent incoming webhooks managed on the Slack side. When the Slack user who originally authorized and created those legacy webhooks is deactivated, Slack automatically removes the associated resources, which triggers the Slackbot notification.

Current Architecture

The current version of the PagerDuty-Slack integration uses a centralized bot token instead of user-dependent authorization to send messages, and it no longer relies on Slack's incoming webhooks. Because legacy webhook resources could not be programmatically removed during past upgrades, they remained idle in your Slack workspace until the user's deactivation triggered their automatic removal.

No action is required on your part, and your active incident workflows will continue to function normally.

Why am I receiving duplicate or repeated incident messages in a Slack channel?

Duplicate messages usually mean that more than one connection is posting to the same channel. Common causes include:

  • Multiple connections to the same channel: A service connection and a team connection can both post to the same channel, sending two messages for each incident. Review the connections for the channel on the Slack configuration page (Integrations Extensions Slack View) and remove the connection you do not need.
  • A legacy service-level extension: If a service still has a legacy Slack extension configured alongside the current workspace-level integration, both versions post to the channel. Remove the legacy extension from the service's Integrations tab.
  • A broad preset: The All Updates preset posts every incident event. If the volume of messages is the issue rather than true duplicates, select a narrower preset such as Highlights Only or Status Updates Only.
Why do I see "channel not found" when connecting a Slack channel?

A channel that does not appear in search results, or returns "channel not found" when selected, is usually caused by one of the following:

  • Slack permissions: You can only configure channels that you have Slack permissions for. If you need access to a channel, contact your Slack administrator.
  • Private channels: The PagerDuty bot (@PagerDuty) must be a member of a private channel before it can be connected. Invite the bot to the channel and try again.
  • Pending admin approval: If your Slack workspace requires admin approval for app changes, new connections cannot be created until a Slack admin approves the request. See Approve App Update.