How to integrate Pagerduty MCP with Vercel AI SDK v6

Connect Vercel AI SDK v6 to Pagerduty MCP. Show audit history for a specific escalation policy, count all paused incident reports today, and more using natural language, with authentication handled for you.

Pagerduty logoPagerduty
Oauth2Api Key

Pagerduty is a real-time incident management platform for IT teams. It helps organizations resolve critical issues faster with on-call scheduling, alerting, and response automation.

356 Tools

Introduction

This guide walks you through connecting Pagerduty to Vercel AI SDK v6 using the Composio tool router. By the end, you'll have a working Pagerduty agent that can create and update incidents, manage on-call schedules and escalation policies, post status updates, and track incident analytics through natural language commands.

This guide will help you understand how to give your Vercel AI SDK agent real control over a Pagerduty account through Composio's Pagerduty MCP server.

Before we dive in, let's take a quick look at the key ideas and tools involved.

Also integrate Pagerduty with

TL;DR

Here's what you'll learn:
  • How to set up and configure a Vercel AI SDK agent with Pagerduty integration
  • Using Composio's Tool Router to dynamically load and access Pagerduty tools
  • Creating an MCP client connection using HTTP transport
  • Building an interactive CLI chat interface with conversation history management
  • Handling tool calls and results within the Vercel AI SDK framework

What is Vercel AI SDK?

The Vercel AI SDK is a TypeScript library for building AI-powered applications. It provides tools for creating agents that can use external services and maintain conversation state.

Key features include:

  • streamText: Core function for streaming responses with real-time tool support
  • MCP Client: Built-in support for Model Context Protocol via @ai-sdk/mcp
  • Step Counting: Control multi-step tool execution with stopWhen: stepCountIs()
  • OpenAI Provider: Native integration with OpenAI models

What is the Pagerduty MCP server, and what's possible with it?

The Pagerduty MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Pagerduty account. It provides structured and secure access to incidents, services, policies, and custom fields, so your agent can perform actions like managing incidents, analyzing escalation metrics, updating service dependencies, and customizing incident workflows on your behalf.

  • Incident workflow automation: Direct your agent to add services to incident workflow triggers or associate teams with automation actions to streamline your incident response.
  • Escalation policy insights and auditing: Have your agent aggregate incident metrics across escalation policies and retrieve detailed audit records for compliance and performance reviews.
  • Service dependency management: Let your agent define, update, and associate complex service dependencies, supporting more effective impact analysis during outages.
  • Custom incident field creation: Empower your agent to create and manage custom fields and options for incidents, enhancing reporting and tailoring PagerDuty to your organization's needs.
  • Paused incident reporting and analytics: Request quick counts of paused incidents and generate high-level analytics to monitor and improve incident management efficiency.

What is the Composio tool router, and how does it fit here?

What is Composio SDK?

Composio's Composio SDK helps agents find the right tools for a task at runtime. You can plug in multiple toolkits (like Gmail, HubSpot, and GitHub), and the agent will identify the relevant app and action to complete multi-step workflows. This can reduce token usage and improve the reliability of tool calls. Read more here: Getting started with Composio SDK

The tool router generates a secure MCP URL that your agents can access to perform actions.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step09 STEPS
1

Prerequisites

Before you begin, make sure you have:
  • Node.js and npm installed
  • A Composio account with API key
  • An OpenAI API key
2

Getting API Keys for OpenAI and Composio

OpenAI API Key
  • Go to the OpenAI dashboard and create an API key. You'll need credits to use the models, or you can connect to another model provider.
  • Keep the API key safe.
Composio API Key
  • Log in to the Composio dashboard.
  • Navigate to your API settings and generate a new API key.
  • Store this key securely as you'll need it for authentication.
3

Install required dependencies

bash
npm install @ai-sdk/openai @ai-sdk/mcp @composio/core ai dotenv

First, install the necessary packages for your project.

What you're installing:

  • @ai-sdk/openai: Vercel AI SDK's OpenAI provider
  • @ai-sdk/mcp: MCP client for Vercel AI SDK
  • @composio/core: Composio SDK for tool integration
  • ai: Core Vercel AI SDK
  • dotenv: Environment variable management
4

Set up environment variables

bash
OPENAI_API_KEY=your_openai_api_key_here
COMPOSIO_API_KEY=your_composio_api_key_here
COMPOSIO_USER_ID=your_user_id_here

Create a .env file in your project root.

What's needed:

  • OPENAI_API_KEY: Your OpenAI API key for GPT model access
  • COMPOSIO_API_KEY: Your Composio API key for tool access
  • COMPOSIO_USER_ID: A unique identifier for the user session
5

Import required modules and validate environment

typescript
import "dotenv/config";
import { openai } from "@ai-sdk/openai";
import { Composio } from "@composio/core";
import * as readline from "readline";
import { streamText, type ModelMessage, stepCountIs } from "ai";
import { createMCPClient } from "@ai-sdk/mcp";

const composioAPIKey = process.env.COMPOSIO_API_KEY;
const composioUserID = process.env.COMPOSIO_USER_ID;

if (!process.env.OPENAI_API_KEY) throw new Error("OPENAI_API_KEY is not set");
if (!composioAPIKey) throw new Error("COMPOSIO_API_KEY is not set");
if (!composioUserID) throw new Error("COMPOSIO_USER_ID is not set");

const composio = new Composio({
  apiKey: composioAPIKey,
});
What's happening:
  • We're importing all necessary libraries including Vercel AI SDK's OpenAI provider and Composio
  • The dotenv/config import automatically loads environment variables
  • The MCP client import enables connection to Composio's tool server
6

Create Tool Router session and initialize MCP client

typescript
async function main() {
  // Create a tool router session for the user
  const session = await composio.create(composioUserID!, {
    toolkits: ["pagerduty"],
  });

  const mcpUrl = session.mcp.url;
What's happening:
  • We're creating a Tool Router session that gives your agent access to Pagerduty tools
  • The create method takes the user ID and specifies which toolkits should be available
  • The returned mcp object contains the URL and authentication headers needed to connect to the MCP server
  • This session provides access to all Pagerduty-related tools through the MCP protocol
7

Connect to MCP server and retrieve tools

typescript
const mcpClient = await createMCPClient({
  transport: {
    type: "http",
    url: mcpUrl,
    headers: session.mcp.headers, // Authentication headers for the Composio MCP server
  },
});

const tools = await mcpClient.tools();
What's happening:
  • We're creating an MCP client that connects to our Composio Tool Router session via HTTP
  • The mcp.url provides the endpoint, and mcp.headers contains authentication credentials
  • The type: "http" is important - Composio requires HTTP transport
  • tools() retrieves all available Pagerduty tools that the agent can use
8

Initialize conversation and CLI interface

typescript
let messages: ModelMessage[] = [];

console.log("Chat started! Type 'exit' or 'quit' to end the conversation.\n");
console.log(
  "Ask any questions related to pagerduty, like summarize my last 5 emails, send an email, etc... :)))\n",
);

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  prompt: "> ",
});

rl.prompt();
What's happening:
  • We initialize an empty messages array to maintain conversation history
  • A readline interface is created to accept user input from the command line
  • Instructions are displayed to guide the user on how to interact with the agent
9

Handle user input and stream responses with real-time tool feedback

typescript
rl.on("line", async (userInput: string) => {
  const trimmedInput = userInput.trim();

  if (["exit", "quit", "bye"].includes(trimmedInput.toLowerCase())) {
    console.log("\nGoodbye!");
    rl.close();
    process.exit(0);
  }

  if (!trimmedInput) {
    rl.prompt();
    return;
  }

  messages.push({ role: "user", content: trimmedInput });
  console.log("\nAgent is thinking...\n");

  try {
    const stream = streamText({
      model: openai("gpt-5"),
      messages,
      tools,
      toolChoice: "auto",
      stopWhen: stepCountIs(10),
      onStepFinish: (step) => {
        for (const toolCall of step.toolCalls) {
          console.log(`[Using tool: ${toolCall.toolName}]`);
          }
          if (step.toolCalls.length > 0) {
            console.log(""); // Add space after tool calls
          }
        },
      });

      for await (const chunk of stream.textStream) {
        process.stdout.write(chunk);
      }

      console.log("\n\n---\n");

      // Get final result for message history
      const response = await stream.response;
      if (response?.messages?.length) {
        messages.push(...response.messages);
      }
    } catch (error) {
      console.error("\nAn error occurred while talking to the agent:");
      console.error(error);
      console.log(
        "\nYou can try again or restart the app if it keeps happening.\n",
      );
    } finally {
      rl.prompt();
    }
  });

  rl.on("close", async () => {
    await mcpClient.close();
    console.log("\n👋 Session ended.");
    process.exit(0);
  });
}

main().catch((err) => {
  console.error("Fatal error:", err);
  process.exit(1);
});
What's happening:
  • We use streamText instead of generateText to stream responses in real-time
  • toolChoice: "auto" allows the model to decide when to use Pagerduty tools
  • stopWhen: stepCountIs(10) allows up to 10 steps for complex multi-tool operations
  • onStepFinish callback displays which tools are being used in real-time
  • We iterate through the text stream to create a typewriter effect as the agent responds
  • The complete response is added to conversation history to maintain context
  • Errors are caught and displayed with helpful retry suggestions

Complete Code

Here's the complete code to get you started with Pagerduty and Vercel AI SDK:

typescript
import "dotenv/config";
import { openai } from "@ai-sdk/openai";
import { Composio } from "@composio/core";
import * as readline from "readline";
import { streamText, type ModelMessage, stepCountIs } from "ai";
import { createMCPClient } from "@ai-sdk/mcp";

const composioAPIKey = process.env.COMPOSIO_API_KEY;
const composioUserID = process.env.COMPOSIO_USER_ID;

if (!process.env.OPENAI_API_KEY) throw new Error("OPENAI_API_KEY is not set");
if (!composioAPIKey) throw new Error("COMPOSIO_API_KEY is not set");
if (!composioUserID) throw new Error("COMPOSIO_USER_ID is not set");

const composio = new Composio({
  apiKey: composioAPIKey,
});

async function main() {
  // Create a tool router session for the user
  const session = await composio.create(composioUserID!, {
    toolkits: ["pagerduty"],
  });

  const mcpUrl = session.mcp.url;

  const mcpClient = await createMCPClient({
    transport: {
      type: "http",
      url: mcpUrl,
      headers: session.mcp.headers, // Authentication headers for the Composio MCP server
    },
  });

  const tools = await mcpClient.tools();

  let messages: ModelMessage[] = [];

  console.log("Chat started! Type 'exit' or 'quit' to end the conversation.\n");
  console.log(
    "Ask any questions related to pagerduty, like summarize my last 5 emails, send an email, etc... :)))\n",
  );

  const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    prompt: "> ",
  });

  rl.prompt();

  rl.on("line", async (userInput: string) => {
    const trimmedInput = userInput.trim();

    if (["exit", "quit", "bye"].includes(trimmedInput.toLowerCase())) {
      console.log("\nGoodbye!");
      rl.close();
      process.exit(0);
    }

    if (!trimmedInput) {
      rl.prompt();
      return;
    }

    messages.push({ role: "user", content: trimmedInput });
    console.log("\nAgent is thinking...\n");

    try {
      const stream = streamText({
        model: openai("gpt-5"),
        messages,
        tools,
        toolChoice: "auto",
        stopWhen: stepCountIs(10),
        onStepFinish: (step) => {
          for (const toolCall of step.toolCalls) {
            console.log(`[Using tool: ${toolCall.toolName}]`);
          }
          if (step.toolCalls.length > 0) {
            console.log(""); // Add space after tool calls
          }
        },
      });

      for await (const chunk of stream.textStream) {
        process.stdout.write(chunk);
      }

      console.log("\n\n---\n");

      // Get final result for message history
      const response = await stream.response;
      if (response?.messages?.length) {
        messages.push(...response.messages);
      }
    } catch (error) {
      console.error("\nAn error occurred while talking to the agent:");
      console.error(error);
      console.log(
        "\nYou can try again or restart the app if it keeps happening.\n",
      );
    } finally {
      rl.prompt();
    }
  });

  rl.on("close", async () => {
    await mcpClient.close();
    console.log("\n👋 Session ended.");
    process.exit(0);
  });
}

main().catch((err) => {
  console.error("Fatal error:", err);
  process.exit(1);
});

Conclusion

You've successfully built a Pagerduty agent using the Vercel AI SDK with streaming capabilities! This implementation provides a powerful foundation for building AI applications with natural language interfaces and real-time feedback.

Key features of this implementation:

  • Real-time streaming responses for a better user experience with typewriter effect
  • Live tool execution feedback showing which tools are being used as the agent works
  • Dynamic tool loading through Composio's Tool Router with secure authentication
  • Multi-step tool execution with configurable step limits (up to 10 steps)
  • Comprehensive error handling for robust agent execution
  • Conversation history maintenance for context-aware responses

You can extend this further by adding custom error handling, implementing specific business logic, or integrating additional Composio toolkits to create multi-app workflows.
TOOLS

Supported Tools

Every Pagerduty action and event your agent gets out of the box.

Add service to incident workflow trigger

Adds a service to an existing incident workflow trigger in PagerDuty, enabling the trigger to fire for incidents on that service.

Aggregate escalation policy incident metrics

This endpoint analyzes and aggregates incident metrics across all escalation policies in PagerDuty.

Aggregate incident metrics with filters

Retrieves and aggregates metrics for incidents across all services in PagerDuty.

Associate service dependencies

Associates multiple service dependencies in PagerDuty, allowing you to define relationships between supporting and dependent services.

Associate team with automation action

This endpoint associates a specific team with an automation action in PagerDuty.

Audit escalation policy records

Retrieves the audit records for a specific escalation policy in PagerDuty.

Convert service rule by id

Converts a service's legacy Event Rules into Event Orchestration rules; rules with unsupported exceptions may not be fully supported.

Count paused incident reports

Retrieves counts of alerts paused during a reporting period, including counts triggered or resolved after the pause.

Create a custom field for an incident type

Creates a custom field for an incident type, extending incidents with custom data for context, filtering, search, and analytics.

Create a field option for a custom field

Creates a selectable field option for a custom field on an incident type.

Create an incident type

Creates an incident type for categorizing PagerDuty incidents, such as security, major, or fraud incidents.

Create incident workflow trigger

Creates an incident workflow trigger for manual, conditional, incident-type, or API activation.

Create automation runner endpoint

Creates a new Runbook Automation runner in PagerDuty's Automation Actions.

Create business service

This endpoint creates a new Business Service in PagerDuty, which represents a specific service or application that can be monitored and managed within the incident management platform.

Create escalation policy

Creates a new escalation policy in PagerDuty, defining how incidents are escalated to different responders or teams.

Create event orchestration

Creates a new Event Orchestration in PagerDuty, which defines how incoming events are processed and routed to appropriate services.

Create extension object

Creates a new extension in PagerDuty, allowing for additional functionality or integrations to be added to your services.

Create handoff notification rule

Creates a new on-call handoff notification rule for a specific user in PagerDuty.

Create incident field option

Creates a new field option for a specific custom field in PagerDuty's incident management system.

Create incident record

Creates a new incident in PagerDuty with specified details and assignments.

Create incident workflow

This endpoint creates a new Incident Workflow in PagerDuty, allowing users to define a series of automated steps to be executed during incident response.

Create incident workflow instance

Creates a new instance of an incident workflow for a specific incident in PagerDuty.

Create integration for orchestration

Creates a new integration for an existing event orchestration in PagerDuty.

Create integration for service

Creates a new integration for a PagerDuty service to enable incident creation from external monitoring tools and systems.

Create maintenance window object

Creates a PagerDuty maintenance window with a start and end time for specified services.

Create new schedule layer

Creates a new on-call schedule in PagerDuty with one or more rotation layers.

Create new service

Creates a new service in PagerDuty, which is a key component for managing incidents and alerts.

Create new tag in system

Creates a new tag in PagerDuty for labeling and categorizing entities.

Create new team with details

Creates a new team in PagerDuty for organizing users, incident management, and on-call schedules.

Create new webhook subscription

Creates a new webhook subscription in PagerDuty to receive specific event notifications.

Create or update status page post

Creates a new post on a PagerDuty Status Page to communicate service status to users.

Create or update status page postmortem

Creates or updates a postmortem for a specific status page post in PagerDuty.

Create schedule overrides configuration

Creates one or more overrides for a specific schedule in PagerDuty.

Create statuspage subscription

Creates a new subscription for a PagerDuty status page.

Create status update template

Creates a new status update template in PagerDuty for standardized incident notifications.

Create user notification rule

Creates a new notification rule for a specific user in PagerDuty.

Create user object

Creates a new user in the PagerDuty system with the specified attributes.

Create user status update notification rule

Creates a new status update notification rule for a specific user in PagerDuty.

Create workflow integration connection

Create a new Workflow Integration Connection.

Delete account subscription by id

Deletes the account-level notification subscription for a specified business service.

Delete a custom field for an incident type

Deletes a custom field from the specified incident type.

Delete addon by id

Deletes a specific add-on from the PagerDuty account using its unique identifier.

Delete a field option for a custom field

Deletes a specific selectable field option from a custom field on an incident type.

Delete alert grouping setting

This endpoint allows you to delete specific alert grouping settings in PagerDuty.

Delete all oauth delegations

Delete all OAuth delegations for a user based on the specified type.

Delete automation action by id

Deletes a specific Automation Action from the PagerDuty system.

Delete automation action service by id

This endpoint removes a specific automation action from a particular service in PagerDuty.

Delete automation actions runner by id

Permanently deletes an automation actions runner from PagerDuty.

Delete business service by id

Deletes a specific business service from the PagerDuty system.

Delete business service priority thresholds

Deletes the account-level global priority threshold for business services in PagerDuty.

Delete cache variable for event

Deletes a specific cache variable associated with an event orchestration in PagerDuty.

Delete cache variable from service

Deletes a cache variable from a service's event orchestration.

Delete custom field by field id

Deletes a legacy PagerDuty incident custom field by ID.

Delete escalation policy by id

Permanently removes a specific escalation policy from the PagerDuty system.

Delete event by id

Deletes a specific Event Orchestration from the PagerDuty system.

Delete extension by id

Deletes a specific extension from the PagerDuty service.

Delete field option

Permanently deletes a field option from a custom incident field.

Delete incident workflow by id

Deletes a specific incident workflow from the PagerDuty system.

Delete incident workflow trigger by id

Deletes an incident workflow trigger by ID.

Delete incident workflow trigger service

Removes a service from an incident workflow trigger in PagerDuty.

Delete integration from event orchestration

Removes a specific integration from an event orchestration in PagerDuty.

Delete maintenance window by id

Deletes a scheduled PagerDuty maintenance window by ID.

Delete oncall handoff notification rule

This endpoint deletes a specific on-call handoff notification rule for a given user in PagerDuty.

Delete post from status page

This endpoint deletes a specific post from a PagerDuty status page.

Delete post update by id

This endpoint deletes a specific post update from a status page post in PagerDuty.

Delete rule from ruleset by id

Deletes an individual legacy event rule from a specified PagerDuty ruleset.

Delete ruleset by id

Deletes a specified legacy PagerDuty ruleset by ID.

Delete runner team association

This endpoint removes a team's association from a specific Automation Action runner in PagerDuty.

Delete schedule by id

Deletes a specified legacy PagerDuty on-call schedule by ID.

Delete schedule override by id

This endpoint deletes a specific override from a PagerDuty schedule.

Delete service by id

Deletes a specific service from the PagerDuty account.

Delete service rule by id

Deletes a specific rule from a PagerDuty service.

Delete status page postmortem

This endpoint allows you to delete a postmortem associated with a specific post on a PagerDuty status page.

Delete status update notification rule

Deletes a specific status update notification rule associated with a user in the PagerDuty system.

Delete subscription from status page

Deletes a specific subscription associated with a PagerDuty status page.

Delete tag by id

Deletes a specific tag from the PagerDuty system based on its unique identifier.

Delete team by id

Deletes a team from PagerDuty by its ID.

Delete team escalation policy

Removes an escalation policy's association with a PagerDuty team without deleting the policy itself.

Delete team from automation action

This endpoint removes a specific team's access to an Automation Action in PagerDuty.

Delete template by id

Deletes a specific template from the PagerDuty account.

Delete user by id

Deletes a specific user from the PagerDuty system using their unique identifier.

Delete user contact method

Deletes a specific contact method associated with a user in PagerDuty.

Delete user from team by id

This endpoint removes a specific user from a designated team within the PagerDuty incident management platform.

Delete user notification rule

Deletes a specific notification rule for a user in PagerDuty.

Delete all user sessions

Deletes a specified user's sessions using PagerDuty's deprecated user sessions endpoint.

Delete user session by type

Deletes a specific PagerDuty user session identified by user ID, session type and session ID.

Delete webhook subscription by id

Deletes a specific webhook subscription from your PagerDuty account.

Delete workflow integration connection

Deletes a specific workflow integration connection from PagerDuty.

Disassociate service dependencies

Disassociates (removes) service dependencies in PagerDuty by deleting specified relationships between supporting and dependent services.

Edit webhook subscription by id

Edit an existing webhook subscription in PagerDuty to modify its configuration.

Enable extension by id

Enables a temporarily disabled extension in PagerDuty.

Enable webhook subscription by id

Activates a specific webhook subscription in PagerDuty, enabling the system to send notifications for the events configured in that subscription.

Fetch cache variable for event orchestration

Retrieves a specific cache variable in a PagerDuty event orchestration, including its ID, name, configuration, conditions, and disabled status.

Fetch custom incident field by id

Retrieves detailed information about a specific custom field associated with incidents in PagerDuty.

Fetch escalation polices list

Lists PagerDuty escalation policies with their escalation rules.

Fetch event orchestrations

Lists PagerDuty Event Orchestrations with pagination and sorting, returning orchestration metadata and integration references.

Fetch incident analytics by id

Retrieves raw analytics data for a specific incident in PagerDuty.

Fetch incident list

Retrieves a list of incidents from PagerDuty based on specified criteria.

Fetch outlier incident by id

Retrieves outlier information for a specific PagerDuty incident, including its occurrence pattern and frequency on the service.

Fetch post update status

Retrieves detailed information about a specific post update on a PagerDuty status page.

Fetch priorities list

Retrieves a list of existing priorities in the PagerDuty system, ordered from most severe to least severe.

Fetch related change events for incident

Retrieves change events correlated with a specific incident, along with the reasons for correlation.

Fetch related incidents by id

Retrieves up to 20 recent incidents potentially related to a specified PagerDuty incident, using machine learning and service dependency data to provide broader incident context.

Fetch runner teams integration

Retrieves a list of teams associated with a specific Automation Action Runner in PagerDuty.

Fetch status pages

Lists PagerDuty status pages, optionally filtering by public or private type.

Fetch user contact method

Retrieves detailed information about a specific contact method for a particular user in PagerDuty.

Fetch vendor list

Retrieves a list of vendors or third-party integrations available in the PagerDuty platform.

Filter and aggregate incident metrics

Analyzes and aggregates incident metrics across teams in PagerDuty, allowing for detailed filtering and customization of results.

Get addons list

Retrieves a list of all addons associated with the PagerDuty account.

Get a field option on a custom field

Retrieves a specific field option from a custom field on an incident type, including its value, data type, and other metadata.

Get aggregated pd advance usage data

Provides aggregated metrics for the usage of PD Advance.

Get alert grouping settings

Lists all alert grouping settings configured in your PagerDuty account.

Get alerts by incident id

Lists alerts associated with a PagerDuty incident, with pagination and optional status or alert-key filtering.

Get analytics metrics incidents all

Retrieves aggregated incident analytics data for all incidents in PagerDuty.

Get analytics metrics users all

Get aggregated metrics for all users across the account.

Get analytics raw incidents responses

Retrieves raw response data from a single incident in PagerDuty.

Get analytics raw users

Get raw user analytics data from PagerDuty.

Get an incident type

Retrieves an incident type by ID or name for categorizing PagerDuty incidents, such as security, major, or fraud incidents.

Get an incident type custom field

Gets a custom field for a PagerDuty incident type, optionally including its predefined field options.

Get incident workflow trigger

Retrieves details of a specific incident workflow trigger by ID.

Get audit records

Retrieves a list of audit records from the PagerDuty system.

Get automation action by id

Retrieves detailed information about a specific automation action in PagerDuty's incident management platform.

Get automation action runner by id

Retrieves detailed information about a specific Automation Action Runner in PagerDuty.

Get automation actions runners

Lists all automation action runners in your PagerDuty account.

Get automation action team by team id

Retrieves detailed information about a specific team's association with an automation action in PagerDuty.

Get business services impacts

Lists business services sorted by impacted status, with impacted services first.

Get business services priority thresholds

Retrieves the account's global business service priority threshold settings for reviewing which incident priorities qualify as impacts to business services.

Get business service subscribers by id

Retrieves a page of subscribers for a specific PagerDuty business service, including users or teams configured to receive notifications.

Get cache variable by id

Retrieves detailed information about a specific cache variable associated with a particular service within an event orchestration in PagerDuty.

Get cache variables for service

Lists all cache variables configured for a Service Event Orchestration.

Get escalation policy by id

Retrieves detailed information about a specific escalation policy in PagerDuty.

Get event integrations by id

Retrieves a list of integrations associated with a specific event orchestration in PagerDuty.

Get event orchestration by id

Retrieves metadata and integration references for a specific PagerDuty Event Orchestration by ID.

List cache variables for event orchestration

Lists all cache variables configured for a specific Global Event Orchestration.

Get event orchestration global

Get the Global Orchestration configuration for an Event Orchestration.

Get event orchestration integration

Retrieves details of a specific integration associated with a PagerDuty Event Orchestration, including its label, type and routing key.

Get extension schema by id

Retrieves an extension schema by ID, including available metadata such as its label, description, event send types, and URLs.

Get impact by status page id

Retrieves detailed information about a specific impact level configuration on a PagerDuty status page.

Get incident alert details

Retrieves detailed information about a specific alert associated with a particular incident in PagerDuty.

Get incident log entries by id

Retrieves a page of log entries for a specific PagerDuty incident, with optional date-range and overview filters.

Get incident workflow action by id

Retrieves a PagerDuty incident workflow action by ID for inspection before using it in a workflow.

Get incident workflows

Lists all incident workflows configured in your PagerDuty account.

Get incident workflows actions

Lists available PagerDuty incident workflow actions to help design or update workflows.

Get Jira Cloud account mappings

Lists all account mappings between PagerDuty and Jira Cloud instances.

Get log entries

Retrieves paginated PagerDuty incident log entries, with filters for date range and teams and an optional overview of important changes.

Get maintenance window by id

Retrieves detailed information about a specific maintenance window in PagerDuty.

Get paused incident alerts

Retrieves the most recent paused incident alerts from PagerDuty for a specified reporting period.

Get post from status page by id

Retrieves detailed information about a specific post on a PagerDuty status page.

Get rule from ruleset by id

Retrieves detailed information about a specific rule within a PagerDuty ruleset.

Get schedules

Retrieves a list of all schedules from your PagerDuty account.

Get SCIM resource types

Get SCIM resource types supported by PagerDuty's SCIM service provider.

Get SCIM schema by ID

Retrieves an individual SCIM schema definition by its unique identifier (ID).

Get SCIM service provider config

Retrieves the SCIM 2.

Get SCIM user

Retrieves detailed information about a specific user from PagerDuty's SCIM directory.

Get service custom field values

Retrieves the custom field values for a specific PagerDuty service.

Get enablements for a service

Retrieves feature enablement settings for a specific PagerDuty service.

Get service impacts by url slug

Retrieves service impacts for a specific status dashboard in PagerDuty.

Get severity for status page

Retrieves detailed information about a specific severity level on a particular status page in PagerDuty.

Get specific post update status

Lists updates for a specific PagerDuty status page post, optionally filtering by review status.

Get status dashboard by id

Retrieves a PagerDuty status dashboard by ID, including its name and URL slug.

Get status for status page by id

Retrieves a specific status configuration for a PagerDuty status page by status page ID and status ID.

Get status page impacts by id

Lists impact level configurations for a PagerDuty status page, optionally filtered by incident or maintenance post type.

Get status page subscription

Retrieves detailed information about a specific subscription associated with a particular status page in PagerDuty.

Get tags by entity type

Lists users, teams, or escalation policies associated with a specified PagerDuty tag.

Get team members by id

Retrieves a list of all members associated with a specific team in PagerDuty.

Get team notification subscriptions

Retrieves the notification subscriptions for a specific team in PagerDuty.

Get teams associated with action id

Retrieves the list of teams associated with a specific automation action in PagerDuty.

Get template by id

Retrieves detailed information about a specific template in PagerDuty by its unique identifier.

Get the service orchestration for a service

Get a Service Orchestration.

Get user notification subscriptions

Lists notification subscriptions for a specific PagerDuty user.

Get user session by type

Retrieves a specific PagerDuty user session by user ID, session type and session ID.

Get user sessions by id

Requests sessions for a specific PagerDuty user using the deprecated user sessions endpoint.

Get user status update notification rules

Retrieves status update notification rules for a specific PagerDuty user, including their contact methods.

Get webhook subscription by id

Retrieves detailed information about a specific webhook subscription in PagerDuty.

Get workflow integration

Get details about a Workflow Integration.

Get workflow integration connection

Get details about a Workflow Integration Connection.

Install add on endpoint

This endpoint allows you to install a new add-on to your PagerDuty account, enhancing its functionality with custom integrations.

Invoke automation action by ID

Invokes a specific automation action in PagerDuty, associating it with a particular incident.

List all workflow integration connections

List all Workflow Integration Connections.

List automation action details

Lists automation actions configured in a PagerDuty account for review or inventory.

List extension schemas

Lists PagerDuty extension schemas, which describe types of outbound extensions such as webhooks and integrations.

List field options on a custom field

Lists field options for a custom field on a PagerDuty incident type, identified by incident type ID or name and custom field ID.

List incident status update subscribers

Retrieves a list of subscribers to status updates for a specific incident in PagerDuty.

List incident type custom fields

Lists custom fields for a PagerDuty incident type, with optional field options.

List incident types

Lists PagerDuty incident types, filtered by enabled state.

List licenses

Lists all licenses for the PagerDuty account, showing current usage and available allocations.

List SCIM schemas

Retrieves all SCIM schemas supported by the PagerDuty service provider.

List SCIM users

Lists users via the SCIM (System for Cross-domain Identity Management) API endpoint.

List service custom fields

Lists all custom fields available for services in PagerDuty.

List supporting service impacts

Retrieves information about the impacts of supporting services on a specific business service in PagerDuty.

List templates

Lists PagerDuty templates with optional search, sorting and pagination.

List workflow integration connections

Lists workflow integration connections for a specific integration, with optional name filtering and cursor pagination.

List workflow integrations

List available Workflow Integrations.

Manage cache variables for event service

Creates a cache variable for a service event orchestration.

Merge source incidents into target incident

Merges multiple source incidents into a target incident in PagerDuty's incident management system.

Migrate integration between orchestrations

This endpoint facilitates the migration of an integration from one event orchestration to another within PagerDuty.

Modify entity tags

Add and/or remove tags from a PagerDuty entity (user, team, or escalation policy) in a single operation.

Ping webhook subscription

The PingWebhookSubscription endpoint sends a test POST request to a specified webhook subscription in your PagerDuty account.

Post account subscription for business service

Creates an account subscription for a specified PagerDuty business service.

Post alert grouping settings

Creates a new Alert Grouping Setting in PagerDuty, defining how alerts will be automatically grouped into incidents based on specified configurations.

Post analytic metrics on escalation policies

Retrieves and aggregates analytics metrics for incidents related to escalation policies in PagerDuty.

Post analytics metrics responder filters

The AnalyzeResponderMetrics endpoint aggregates and analyzes responder performance metrics for PagerDuty incidents.

Send change event to PagerDuty

Send a change event to PagerDuty to track deployments, configuration changes, or other significant system modifications.

Post event orchestration cache variables

Creates a new cache variable within a PagerDuty event orchestration.

Post incident metrics

Retrieve analytics metrics for responders and teams including incident counts, response times, on-call hours, interruptions, escalations, and engagement statistics.

Post incident metrics with filters

This endpoint retrieves and aggregates analytics metrics for incidents across all teams in PagerDuty.

Post incident note using id

Adds a new note to an existing incident in PagerDuty.

Post incidents analytics with filters

The AnalyzeRawIncidents endpoint retrieves and analyzes raw incident data from PagerDuty.

Post incidents metrics filtered by service

The AnalyzeIncidentMetrics endpoint aggregates and analyzes incident data for PagerDuty services based on specified filters and parameters.

Post incident status update

Posts a status update for a specific incident in PagerDuty.

Post responder incidents with filters

Retrieves raw incident analytics for a specific PagerDuty responder for workload analysis and operational reviews.

Post service automation action

This endpoint adds a service to an existing automation action in PagerDuty.

Post team notification subscription

Creates notification subscriptions for a specific team in PagerDuty.

Post team to runner

This endpoint adds a team to an Automation Action Runner in PagerDuty.

Preview schedule object

The preview_schedule endpoint allows you to simulate and visualize a PagerDuty schedule configuration before actually creating or updating it.

Render template for incident

Renders a specific template for a given incident in PagerDuty.

Retrieve abilities list

Lists feature abilities available to the PagerDuty account.

Test ability availability by ID

Tests whether a specific ability (feature capability) is available to your PagerDuty account using its unique identifier.

Retrieve action services by id

Retrieves services associated with a specified automation action.

Check if service event orchestration is active

Check if event orchestration is active for a specific PagerDuty service.

Retrieve addon by id

Retrieves details of a specific PagerDuty add-on by ID, including its name, type, source URL, and associated services when available.

Retrieve alert grouping settings by id

Retrieves the alert grouping settings for a specific configuration identified by its unique ID in PagerDuty.

Retrieve automation action invocation by id

Retrieves detailed information about a specific automation action invocation in PagerDuty.

Retrieve automation action invocations

Retrieves a list of automation action invocations from the PagerDuty incident management platform.

Retrieve automation action runner teams

Retrieves detailed information about a specific team association with an Automation Actions runner in PagerDuty.

Retrieve automation service action

Retrieves detailed information about the association between a specific automation action and a service in PagerDuty.

Retrieve business service by id

Retrieves detailed information about a specific business service by its ID.

Retrieve business service dependencies

Retrieves the service dependencies for a specific business service in PagerDuty.

Retrieve business service impactors

Retrieves impactors (typically incidents) currently affecting business services.

Retrieve business service impacts

Retrieves a list of business services impacted by a specific PagerDuty incident.

Retrieve business services

Retrieve a list of business services from your PagerDuty account.

Retrieve change event by id

Retrieves detailed information about a specific change event by its unique ID.

Retrieve change event information

Retrieves change events from PagerDuty.

Retrieve current user info

Retrieves the profile information of the currently authenticated user in the PagerDuty system.

Retrieve entity tags by id

Retrieves the tags associated with a specific entity in the PagerDuty system.

Retrieve event orchestration router by id

Retrieves the router configuration for a specific event orchestration in PagerDuty.

Retrieve extension by id

Retrieves detailed information about a specific extension in PagerDuty.

Retrieve extension list

Retrieves a paginated list of extensions associated with the authenticated PagerDuty account.

Retrieve incident by incident id

Retrieves detailed information about a specific incident in PagerDuty using its unique identifier.

Retrieve incident custom fields

Lists PagerDuty incident custom field definitions, optionally requesting field options, for reviewing the structure of incident data.

Retrieve incident custom field values

Retrieves the custom field values associated with a specific incident in PagerDuty.

Retrieve incident field options

Retrieves predefined field options for a specific PagerDuty incident custom field, useful for inspecting selectable values and validating input.

Retrieve incident workflow by id

Retrieves detailed information about a specific incident workflow in PagerDuty.

Retrieve incident workflow triggers

Retrieves a list of triggers associated with incident workflows in PagerDuty.

Retrieve integration by service id

Retrieves detailed information about a specific integration associated with a particular service in PagerDuty.

Retrieve license allocations

Retrieves the current license allocations for the PagerDuty account, showing which users have been allocated which licenses.

Retrieve list of services

Retrieves a list of services configured in the PagerDuty account.

Retrieve log entry by id

Retrieves detailed information about a specific log entry in the PagerDuty system.

Retrieve maintenance windows

Retrieves a list of maintenance windows from the PagerDuty incident management platform.

Retrieve notes for incident

Retrieves all notes associated with a specific incident in PagerDuty.

Retrieve notifications

Retrieves a list of notifications sent to users in PagerDuty within a specified date range.

Retrieve oncall handoff notification rule

Retrieves detailed information about a specific on-call handoff notification rule for a given user in PagerDuty.

Retrieve oncall handoff notification rules

Retrieves the on-call handoff notification rules for a specific user in PagerDuty.

Retrieve oncall list

Retrieves the current on-call information for your PagerDuty account.

Retrieve past incidents

Retrieves a list of past similar incidents for a specific incident using machine learning.

Retrieve postmortem by id

Retrieves the postmortem analysis for a specific post on a PagerDuty status page.

Retrieve rule by service id

Retrieves a specific PagerDuty service event rule by service ID and rule ID, to review its conditions and actions or prepare for migration.

Retrieve ruleset by id

Retrieves a legacy PagerDuty ruleset by ID, including its name, type, routing keys, and ownership metadata.

Retrieve ruleset list

Retrieves a list of rulesets from the PagerDuty system.

Retrieve rules for service id

Lists a page of legacy Service Event Rules for a specified PagerDuty service, including rule conditions and actions.

Retrieve rules from ruleset by id

Lists event rules in a specified legacy PagerDuty ruleset, including conditions, actions, ordering, and disabled status.

Retrieve schedule audit records by id

Retrieves a page of audit records for a specific legacy PagerDuty schedule, with date-range and cursor filters.

Retrieve schedule by id

Retrieves detailed information about a specific schedule in PagerDuty using its unique identifier.

Retrieve schedule override by id

Lists all schedule overrides for a specific schedule within a date range.

Retrieve service audit records by id

Retrieves the audit records for a specific PagerDuty service.

Retrieve service by id

Retrieves detailed information about a specific PagerDuty service using its unique identifier.

Retrieve service change events by id

Retrieves change events associated with a specific PagerDuty service.

Retrieve service impacts from status dashboards

Retrieves the service impacts associated with a specific status dashboard in PagerDuty.

Retrieve service status by id

Retrieves a list of services associated with a specific status page in PagerDuty.

Retrieve service status page

Retrieves detailed information about a specific service associated with a particular status page in PagerDuty.

Retrieve standards list

Retrieves the current set of Service Standards defined in the PagerDuty account.

Retrieve standards scores by resource type and id

Retrieves the standards scores for a specific technical service in PagerDuty.

Retrieve standards scores by resourcetype

Retrieves Service Standards scores for specified technical service IDs in PagerDuty.

Retrieve status dashboard by slug

Retrieves a PagerDuty status dashboard by URL slug, including its ID, name and URL slug.

Retrieve status dashboards information

Lists PagerDuty status dashboards, returning dashboard identifiers, names and URL slugs.

Retrieve status page post

Lists posts on a PagerDuty status page, with optional filters for post type, review status and status IDs.

Retrieve status page severities by id

Lists severity levels configured for a PagerDuty status page, optionally filtered to incident or maintenance posts.

Retrieve status pages status

Lists status definitions available for a PagerDuty status page, optionally filtered by incident or maintenance post type.

Retrieve status page subscription by id

Lists subscriptions for a PagerDuty status page, optionally filtering by status or channel, to review who receives page updates.

Retrieve tag by id

Retrieves a PagerDuty tag by its unique identifier, including its label and reference information.

Retrieve tags

Retrieves a list of tags from your PagerDuty account with optional filtering and pagination.

Retrieve team audit records

Retrieves the audit records for a specific team in PagerDuty.

Retrieve team details by id

Retrieves details for a PagerDuty team by ID, with optional privileges information.

Retrieve team list

The ListTeams endpoint retrieves a list of teams within a PagerDuty account.

Retrieve technical service details

Retrieves dependency information for a PagerDuty technical service by ID.

Retrieve template fields

Retrieves the available field definitions for PagerDuty status update templates.

Retrieve unrouted event orchestration by id

Retrieves the unrouted orchestration configuration for a specific Event Orchestration in PagerDuty.

Retrieve user audit records by id

Retrieves the audit records for a specific user in the PagerDuty system.

Retrieve user by id

Retrieves detailed information about a specific PagerDuty user by their ID.

Retrieve user contact methods via id

Retrieves the contact methods associated with a specific PagerDuty user, such as email addresses and phone numbers.

Retrieve user license information

Retrieves the license information for a specific user in the PagerDuty system.

Retrieve user notification rule

Retrieves a specific incident notification rule for a PagerDuty user, including its contact method reference, notification delay and urgency.

Retrieve user notification rules

Retrieves the notification rules for a specific user in PagerDuty.

Retrieve users by schedule id

Retrieves a list of users associated with a specific PagerDuty schedule.

Retrieve users list

Retrieves a list of users from the PagerDuty system.

Retrieve user status update notification rule

Retrieves a specific status update notification rule for a given user in PagerDuty.

Retrieve vendor by id

Get detailed information about a specific PagerDuty vendor integration by its ID.

Retrieve webhook subscriptions

Retrieves a list of all webhook subscriptions associated with the authenticated PagerDuty account.

Send MCP request

Tool to send JSON-RPC requests to PagerDuty's Model Context Protocol (MCP) endpoint.

Send responder requests for incidents

Send responder requests to users or escalation policies for a PagerDuty incident.

Set business service impact status

This endpoint updates the impact status of a specific incident on a particular business service in PagerDuty.

Set global priority threshold

Sets the global Priority Threshold for Business Services in PagerDuty, determining which incidents can impact these services based on their priority level.

Snooze incident by duration

Snooze an acknowledged incident in PagerDuty for a specified duration.

Subscribe entities to business services

This endpoint allows you to subscribe users or teams to a specific business service in PagerDuty.

Subscribe entities to incident status updates

Subscribes specified users or teams to receive status updates for a particular incident in PagerDuty.

Subscribe to user notifications

Creates notification subscriptions for a specific user in PagerDuty.

Unsubscribe business service entity

This endpoint unsubscribes specified users or teams from receiving notifications for a particular business service in PagerDuty.

Unsubscribe from incident status updates

Unsubscribes specified users or teams from receiving status updates for a particular incident in PagerDuty.

Unsubscribe team notification subscriptions

Unsubscribes a team from notifications for specific incidents or business services in PagerDuty.

Unsubscribe user notification subscriptions

This endpoint allows unsubscribing a user from notifications for specific incidents or business services in PagerDuty.

Update a custom field for an incident type

Updates a custom field for an incident type, including its display name, enabled status, default value, or description.

Update add on by id

Updates an existing Add-on in PagerDuty with new properties.

Update alert grouping settings byid

Update an existing Alert Grouping Setting in PagerDuty by its ID.

Update alert in incident

Updates the status of a specific alert within an incident in PagerDuty.

Update an incident type

Updates a PagerDuty incident type identified by ID or name, including its display name, enabled state, or description.

Update incident workflow trigger

Updates an incident workflow trigger's type, workflow association, condition, service scope, incident types, or manual permissions.

Update automation runner info

This endpoint allows you to update an existing Automation Action Runner in PagerDuty.

Update business service by id

This endpoint allows you to update an existing Business Service in PagerDuty.

Update change event by ID

Update an existing change event in PagerDuty by its unique ID.

Update Custom Field Display Name

Updates an existing custom field for incidents in PagerDuty.

Update custom field option

Updates the value or data type of an existing custom field option on a PagerDuty incident type, identified by the incident type, field, and option.

Update escalation policy by id

Updates an existing PagerDuty escalation policy by ID, including its name, description, escalation rules, team, looping, and on-call handoff notification settings.

Update escalation policy for team

Associates an escalation policy with a team in PagerDuty.

Update event orchestration by id

Updates an existing Event Orchestration in PagerDuty.

Update Event Orchestration Cache Variable

This endpoint updates a cache variable associated with a specific service in PagerDuty's event orchestrations.

Update event rule by id

Updates an existing Event Rule in a PagerDuty Ruleset, including its matching conditions, actions, position, active status, and time frame.

Update event rule for service

Updates an existing PagerDuty Service Event Rule, including its conditions, time restrictions, extraction variables, actions, position, or disabled state.

Update extension by id

Updates an existing extension in PagerDuty.

Update the global orchestration for an event orchestration

Update the Global Orchestration configuration for an Event Orchestration.

Update incident alerts

This endpoint allows you to update the status of multiple alerts associated with a specific incident in PagerDuty.

Update incident by id

Updates an existing PagerDuty incident by ID, including its status, assignments, escalation level, urgency, title, incident type, or conference bridge.

Update incident custom field values

Updates custom field values for a specific PagerDuty incident, overwriting specified values.

Update incident details

This endpoint allows for bulk updating of multiple PagerDuty incidents in a single API call.

Update incident workflow

This endpoint updates an existing Incident Workflow in PagerDuty by its unique identifier.

Update integration by id and integration id

Updates an existing integration for a specific PagerDuty service.

Update integration label

This endpoint updates the label (name) of an integration associated with a specific event orchestration in PagerDuty.

Update log entry channel

Updates collaboration channel information for a specific log entry in PagerDuty.

Update maintenance window by id

Updates an existing maintenance window in PagerDuty's incident management system.

Update oncall handoff notification rule

Updates a user's on-call handoff notification rule, including its notification advance time, handoff type, and contact method.

Update orchestration router details

Updates the configuration of an existing Event Orchestration Router in PagerDuty.

Update ruleset by id

Updates the name or team association of an existing legacy PagerDuty ruleset by ID.

Update schedule by id

The UpdateSchedule endpoint modifies an existing on-call schedule in PagerDuty.

Update service by id

Updates an existing service in PagerDuty with the provided configuration.

Update service orchestration active status

Update the active status of a service orchestration in PagerDuty.

Update standard by id

Updates an existing standard in the PagerDuty incident management platform.

Update status page post

Updates an existing status page post update with new information.

Update status page post info

Adds a post update to an existing PagerDuty status page post.

Update status page post resource

Updates an existing status page post on a PagerDuty Status Page.

Update team by id

Updates an existing team in PagerDuty by modifying its name, description, visibility, or parent team.

Update template by id

The UpdateTemplate endpoint allows you to modify an existing status update template in PagerDuty.

Update the service orchestration for a service

Update a Service Orchestration for a service.

Update unrouted orchestration rules

Updates the unrouted orchestration rules for a specific Event Orchestration in PagerDuty.

Update user information

Updates an existing user's information in PagerDuty.

Update user status update notification rule by id

Updates a specific status update notification rule for a PagerDuty user.

Update user role on team

Adds a user to a team or updates their role on a team.

Update workflow integration connection

Update an existing Workflow Integration Connection.

FAQ

Frequently asked questions

With a standalone Pagerduty MCP server, the agents and LLMs can only access a fixed set of Pagerduty tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Pagerduty and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Vercel AI SDK v6 fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Pagerduty tools.

Yes, absolutely. You can configure which Pagerduty scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Pagerduty data and credentials are handled as safely as possible.

Start with Pagerduty.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Pagerduty tool your agent needs.Free to start.

Start building