PagerDuty ACTION
List On-Calls
List on-call entries — who is on call right now or during a given time window. Filterable by schedule IDs or escalation policy IDs. Use List Schedules to discover schedule IDs and List Escalation Policies to discover policy IDs. Time params use ISO 8601 with explicit UTC offset, e.g.
2026-06-02T15:00:00-07:00. Set earliest: true to get one on-call entry per unique (schedule, escalation policy, escalation level) combination. See the documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's PagerDuty account once, then configure and run List On-Calls from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "pagerduty-list-oncalls",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
pagerduty: { authProvisionId: "apn_xxxxxxx" },
scheduleIds: ["Schedule IDs"],
escalationPolicyIds: ["Escalation Policy IDs"],
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "pagerduty-list-oncalls",
"configured_props": {
"pagerduty": { "authProvisionId": "apn_xxxxxxx" },
"scheduleIds": ["Schedule IDs"],
"escalationPolicyIds": ["Escalation Policy IDs"]
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "pagerduty",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "pagerduty-list-oncalls",
arguments: {
scheduleIds: ["Schedule IDs"],
escalationPolicyIds: ["Escalation Policy IDs"],
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
scheduleIds Schedule IDs | string[] | Filter results to on-calls for these schedule IDs. Use List Schedules to discover IDs. Optional |
escalationPolicyIds Escalation Policy IDs | string[] | Filter results to on-calls for these escalation policy IDs. Optional |
since Since | string | Start of time range (ISO 8601 with UTC offset, e.g. 2026-06-02T15:00:00-07:00). Defaults to now. Optional |
until Until | string | End of time range (ISO 8601 with UTC offset). Defaults to now. Search range cannot exceed 3 months. Optional |
earliest Earliest Only | boolean | When true, returns only the earliest on-call per unique (schedule, escalation policy, level) combination. Optional |
limit Limit | integer | Maximum number of results to return (1–100). Default: 25. Optional |
offset Offset | integer | Pagination offset. Default: 0. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- pagerduty-list-oncalls
- Version
- 0.0.2
- App
- PagerDuty
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗