Workflow Integrations
Some Workflow Actions use a type of integration called Workflow Integrations to connect to Incident Workflows. Workflow Integrations support authentication via API keys and/or OAuth and are designed for incident response teams and administrators to securely and easily connect PagerDuty to external tools. This feature simplifies automation, enhances security, and streamlines Incident Workflows, enabling faster resolutions and improved efficiency.
Workflow Integrations are supported with the following tools:
- AWS
- Azure Functions
- Confluence
- Datadog
- GitHub
- Logz.io
- Jeli
- Microsoft Entra ID (Azure AD)
- PagerDuty Runbook Automation
- Slack Bot Integration
- Web API
Required User Permissions
Users with the following base roles can add, update, and delete Workflow Integration connections:
- Manager
- Admin
- Account Owner
Create a Workflow Integration
Workflow Integrations securely store connection credentials.
- In the PagerDuty web app, navigate to Integrations Workflow Integrations.
- Click Add Connection to the right of your preferred tool.
Add connection
-
Expand the section below that corresponds to your preferred technology, and enter the requested information:
-
AWS
AWS
OverviewThis section guides you through configuring an AWS connection for PagerDuty Incident Workflows by assuming an AWS Identity and Access Management (IAM) role along with an external ID. This secure, credential-less authentication method allows PagerDuty to access your AWS resources without requiring long-lived access keys.
Prerequisites- AWS account with permissions to create IAM roles and policies.
- PagerDuty account with Admin or Global Managers permissions.
- Basic familiarity with AWS IAM concepts.
ArchitectureThe integration uses AWS IAM role assumption with these key components:
Component Description Trust Relationship Allows PagerDuty's AWS account to assume a role in your account. External ID Provides additional security against the confused deputy problem. IAM Role Defines what permissions PagerDuty has in your AWS environment. Role ARN The unique identifier for the role that PagerDuty will assume. Step 1: Initiate Connection Setup in PagerDuty- Navigate to Automation Incident Workflows Workflow Integrations in PagerDuty.
- For AWS, click Add Connection. The "Add AWS Connection" modal appears with the following information:
- Account ID: PagerDuty's AWS account
- External ID: A unique identifier (e.g.,
da399432e33cd15616a59a08f523ac65)
Step 2: Create an IAM Role in AWSStep 2.1: Open IAM Console- Sign in to the AWS Management Console.
- Navigate to IAM (Identity and Access Management).
- Select Roles from the left navigation.
- Click Create role.
Step 2.2: Configure Trust Relationship- Select AWS account as the trusted entity type.
- Choose Another AWS account.
- Enter the Account ID copied from PagerDuty.
- Select the Require external ID checkbox.
- Enter the External ID copied from PagerDuty.
- Click Next.
Example Trust Policy JSON (visible in JSON editor):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<<account ID copied from PagerDuty>>:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "<<external ID copied from PagerDuty>>" } } } ] }Note:
Replace the
External IDwith your actual value from PagerDuty.Step 3: Attach Permissions PolicySelect permissions based on the actions your workflows will perform. You can attach AWS-managed policies, create custom policies, or use a combination.
Option A: Start with Read-Only Access (Recommended for Testing)For initial setup and testing, start with minimal permissions:
- On the Add permissions page, search for
ReadOnlyAccess. - Select the ReadOnlyAccess AWS-managed policy
- Click Next.
Option B: Create Custom Policy for Specific ActionsFor production use, grant only the permissions necessary for your workflows.
Example: CloudWatch Logs Access
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "*" } ] }Example: Lambda Function Management
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:ListFunctions", "lambda:GetFunction", "lambda:InvokeFunction" ], "Resource": "*" } ] }Common Workflow Actions and Required PermissionsWorkflow Action Required AWS Permissions Query CloudWatch Logs logs:DescribeLogGroups,logs:FilterLogEvents,logs:GetLogEventsInvoke Lambda Function lambda:InvokeFunction,lambda:GetFunctionStep 4: Name and Review the Role- Enter a Role name (e.g.,
PagerDuty-IncidentWorkflows-Role). - (Optional) Add a Description (e.g., "Allows PagerDuty Incident Workflows to perform automated actions in AWS").
- Add Tags if your organization requires them.
- Review the trust policy and permissions.
- Click Create role.
Step 4.1: Copy the Role ARN- After creating the role, view your new role in the roles list.
- Click on the role name to view its details.
- Copy the ARN from the summary section
Format:arn:aws:iam::123456789012:role/PagerDuty-IncidentWorkflows-Role
Step 5: Complete the Configuration in PagerDuty-
Return to PagerDuty's Add AWS Connection modal and perform these tasks:
Field Description Connection Name Enter a descriptive name (e.g., "Production AWS Account"). Account ID Verify this is displayed (pre-filled). External ID Verify your unique external ID is displayed (pre-filled). Role ARN Paste the ARN you copied from AWS. Default Region Enter your preferred AWS region (e.g., us-east-1,us-west-2).Who can edit or select the connection Choose access level:
- Default: All admins and global managers.
- Custom: Select specific users or teams.Allow SRE Agent access Toggle ON if you want AI-powered agents to use this connection. -
Click Add.
Step 6: Verify the ConnectionPagerDuty automatically verifies the connection by assuming the IAM role you configured.
Check Connection Status- Navigate to Automation Incident Workflows Workflow Integrations AWS.
- Locate your connection in the connections table.
- Check the Status column:
- Healthy: PagerDuty successfully assumed the role and can use this connection.
- Unhealthy: PagerDuty cannot assume the role. Refer to the troubleshooting instructions below.
The status is checked automatically when the connection is created and periodically thereafter.
Steps to Troubleshoot If Status Shows "Unhealthy"Verify the following in AWS:
Step to Troubleshoot Description Role ARN is correct and complete - Format: arn:aws:iam::123456789012:role/RoleName
- No extra spaces or charactersExternal ID matches exactly - Check the trust policy in AWS IAM.
- Compare with the External ID shown when you created the connection.Trust policy includes PagerDuty's account ID Principal should be: arn:aws:iam::<<PagerDuty account Id>>:rootIAM role exists and is active - Verify the role was not deleted or renamed.
- Check whether the role is in the correct AWS account.No conflicting conditions in trust policy Ensure there are no IP restrictions or other conditions that would block PagerDuty. After making corrections in AWS, the status will update automatically within a few minutes. You can also edit the connection in PagerDuty to trigger an immediate verification check.
-
Azure Functions
Azure Functions
Field Name Description Connection Name The name to give the new connection API Key The API Key for your Azure Function URL The URL for the connection, e.g., https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>
-
Confluence
Confluence
- After you select Add Connection, provide a Connection Name.
If you are using Confluence with the SRE Agent, select Allow SRE Agent Access. For more on configuring Confluence with the SRE Agent, please see Agent Tooling Configuration. - Click Add. You will be taken to a page to connect PagerDuty with Confluence.
- Select the specific Confluence site to integrate.
- Click Accept.
- After you select Add Connection, provide a Connection Name.
-
Datadog
Datadog
Field Name Description Connection Name The name for the created connection API Key Your Datadog API key. Can be found in Datadog at Organization Settings Access API Keys Application Key Your Datadog application key. Can be found in Datadog at Personal Settings Security Application Keys, or Organization Settings Access Application Keys Allow SRE Agent Access If you are using Datadog with the SRE Agent, select Allow SRE Agent Access. For more on using Datadog with the SRE Agent, please see Agent Tooling Configuration .
-
GitHub
GitHub
-
After you select Add Connection, provide a Connection Name and click Add. You will be taken to a page to connect PagerDuty with GitHub.
- If you are using GitHub with the SRE Agent, select Allow SRE Agent Access. For more on configuring GitHub with the SRE Agent, please see Agent Tooling Configuration.
-
Select the specific GitHub organizations to integrate.
-
Click Authorize, then Continue.
-
Review the details and then select Authorize pd-incident-workflows-integration
-
-
Grafana
Grafana
Field Name Description Connection Name The name to give the new connection Default Set this as the default connection for Grafana actions URL (Self-hosted or Cloud) The URL of your Grafana instance Service Account Token The Grafana service account token Allow SRE Agent Access If you are using Grafana with the SRE Agent, select Allow SRE Agent Access. For more on using Grafana with the SRE Agent, please see Agent Tooling Configuration .
-
Jeli
Jeli
Field Name Description Connection Name The name to give the new connection API Token The Jeli API token Username The user who created the Jeli API token
-
Logz.io
Logz.io
Field Name Description Connection Name The name to give the new connection Region Your Logz.io account region API Token The Logz.io API token
-
Microsoft Entra ID (Azure AD)
Microsoft Entra ID (Azure AD)
Field Name Description Connection Name The name to give the new connection You will be directed to Microsoft's login page. Follow the on-screen prompts to complete the Workflow Integration.
-
PagerDuty Runbook Automation
PagerDuty Runbook Automation
Field Name Description Connection Name The name to give the new connection Subdomain The subdomain for your runbook.pagerduty.cloudaccountToken The API Token that will provide authentication Username The user associated with the token
-
Slack Bot Integration
Slack Bot Integration
Field Name Description Connection Name The name to give the new connection You will be directed to Slack's authentication page. Follow the on-screen prompts to complete the Workflow Integration.
-
Web API
Web API
Field Name Description Connection Name Enter a name for the new connection Authentication Headers Enter the headers to include in Web API calls made with this connection, one per line, e.g., Authorization: Bearer XXXXAllowed Hostnames Enter the hostnames to allow sending these credentials to, one per line. An asterisk ( *) may be used for subdomains, e.g.,example.com,subdomain.example.comor*.example.comHealth Check URL Enter a URL to monitor the health of this connection Health Check Method Select which HTTP method to use for the health check request, HEADorGET
-
-
In the field Who can edit or select the connection, select All admins and global managers (default) or All admins, global managers team managers on specific teams. If you choose All admins, global managers team managers on specific teams, select one or more Teams from the Select teams dropdown.
Select Teams
Permission Scope
This setting affects which users can edit the connection or select the connection when configuring actions in an Incident Workflow. This setting does not affect who can invoke an Incident Workflow; that setting is administered while creating or editing an Incident Workflow.
- Click Add.
Delete a Workflow Integration
- In the web app, navigate to Integrations Workflow Integrations.
- Click the Integration Name (e.g., AWS, Azure Functions, etc.) that contains of the connection you'd like to delete.
- To the right of the connection you'd like to delete, click Delete.
- In the confirmation modal, click Delete. This action cannot be undone.
Use a Workflow Integration in Incident Workflows
Creating a Workflow Integration will allow you to use some tool-specific Incident Workflow Actions. Please read Incident Workflows for more information.
Updated 5 days ago