PagerDuty connector
OAuth 2.0 developer_toolsConnect to PagerDuty to manage incidents, services, users, teams, escalation policies, schedules, and on-call rotations.
PagerDuty connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'pagerduty'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize PagerDuty:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'pagerduty_escalation_policies_list',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "pagerduty"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize PagerDuty:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="pagerduty_escalation_policies_list",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- List escalation policies, maintenance windows, schedules — List escalation policies in PagerDuty
- Create service, incident note, team — Create a new service in PagerDuty
- Delete user, schedule, escalation policy — Delete a PagerDuty user
- Update team, incident, maintenance window — Update an existing PagerDuty team’s name or description
- Get service, maintenance window, escalation policy — Get details of a specific PagerDuty service by its ID
- Manage incident — Manage multiple PagerDuty incidents in bulk
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
pagerduty_escalation_policies_list
#
List escalation policies in PagerDuty. Supports filtering by query, user, team, and includes. 7 params
List escalation policies in PagerDuty. Supports filtering by query, user, team, and includes.
include string optional Additional resources to include. Options: services, teams, targets. limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. query string optional Filters the results by name. sort_by string optional Used to specify a field to sort the response on. Options: name, name:asc, name:desc. team_ids string optional Comma-separated list of team IDs to filter escalation policies by. user_ids string optional Comma-separated list of user IDs to filter escalation policies for. pagerduty_escalation_policy_create
#
Create a new escalation policy in PagerDuty. Escalation policies define who gets notified and in what order when an incident is triggered. 7 params
Create a new escalation policy in PagerDuty. Escalation policies define who gets notified and in what order when an incident is triggered.
name string required The name of the escalation policy. target_id string required The ID of the user or schedule to notify in the first escalation rule. description string optional A description of the escalation policy. num_loops integer optional The number of times the escalation policy will repeat after reaching the end of its escalation rules. on_call_handoff_notifications string optional Determines how on call handoff notifications will be sent for users on the escalation policy. Options: if_has_services, always. rule_escalation_delay_in_minutes integer optional The number of minutes before an unacknowledged incident escalates to the next rule. target_type string optional The type of the first escalation rule target. Options: user_reference, schedule_reference. pagerduty_escalation_policy_delete
#
Delete a PagerDuty escalation policy. The policy must not be in use by any services or schedules. 1 param
Delete a PagerDuty escalation policy. The policy must not be in use by any services or schedules.
id string required The ID of the escalation policy to delete. pagerduty_escalation_policy_get
#
Get details of a specific PagerDuty escalation policy by its ID. 2 params
Get details of a specific PagerDuty escalation policy by its ID.
id string required The ID of the escalation policy to retrieve. include string optional Additional resources to include. Options: services, teams, targets. pagerduty_escalation_policy_update
#
Update an existing PagerDuty escalation policy's name, description, or loop settings. 5 params
Update an existing PagerDuty escalation policy's name, description, or loop settings.
id string required The ID of the escalation policy to update. description string optional Updated description of the escalation policy. name string optional The updated name of the escalation policy. num_loops integer optional The number of times the escalation policy will repeat after reaching the end. on_call_handoff_notifications string optional Determines how on-call handoff notifications are sent. Options: if_has_services, always. pagerduty_incident_create
#
Create a new incident in PagerDuty. Requires a title, service ID, and the email of the user creating the incident. 8 params
Create a new incident in PagerDuty. Requires a title, service ID, and the email of the user creating the incident.
from_email string required The email address of the user creating the incident. Required by PagerDuty. service_id string required The ID of the service the incident belongs to. title string required A brief description of the incident. body_details string optional Additional details about the incident body (plain text). escalation_policy_id string optional The ID of the escalation policy to assign to the incident. incident_key string optional A string that identifies the incident. Used for deduplication. priority_id string optional The ID of the priority to assign to the incident. urgency string optional The urgency of the incident. Options: high, low. pagerduty_incident_get
#
Get details of a specific PagerDuty incident by its ID, including status, assignments, services, and timeline. 1 param
Get details of a specific PagerDuty incident by its ID, including status, assignments, services, and timeline.
id string required The ID of the incident to retrieve. pagerduty_incident_manage
#
Manage multiple PagerDuty incidents in bulk. Acknowledge, resolve, merge, or reassign multiple incidents at once. 3 params
Manage multiple PagerDuty incidents in bulk. Acknowledge, resolve, merge, or reassign multiple incidents at once.
from_email string required The email address of the user performing the bulk action. Required by PagerDuty. incident_ids string required Comma-separated list of incident IDs to manage. status string required The status to apply to all specified incidents. Options: acknowledged, resolved. pagerduty_incident_note_create
#
Add a note to a PagerDuty incident. Notes are visible to all responders on the incident. 3 params
Add a note to a PagerDuty incident. Notes are visible to all responders on the incident.
content string required The content of the note to add to the incident. from_email string required The email address of the user creating the note. Required by PagerDuty. id string required The ID of the incident to add a note to. pagerduty_incident_update
#
Update an existing PagerDuty incident. Can change status, urgency, title, priority, escalation policy, or reassign it. 9 params
Update an existing PagerDuty incident. Can change status, urgency, title, priority, escalation policy, or reassign it.
from_email string required The email address of the user making the update. Required by PagerDuty. id string required The ID of the incident to update. assignee_id string optional The ID of the user to assign the incident to. escalation_policy_id string optional The ID of the escalation policy to assign to the incident. priority_id string optional The ID of the priority to assign to the incident. resolution string optional The resolution note for the incident (used when resolving). status string optional The new status of the incident. Options: acknowledged, resolved. title string optional A brief description of the incident. urgency string optional The urgency of the incident. Options: high, low. pagerduty_incidents_list
#
List existing incidents in PagerDuty. Supports filtering by status, urgency, service, team, assigned user, and date range. 12 params
List existing incidents in PagerDuty. Supports filtering by status, urgency, service, team, assigned user, and date range.
date_range string optional When set to 'all', the since and until parameters and defaults are ignored. include string optional Array of additional resources to include. Options: acknowledgers, agents, assignees, conference_bridge, escalation_policies, first_trigger_log_entries, responders, services, teams, users. limit integer optional The number of results to return per page. Maximum 100. offset integer optional Offset to start pagination search results. service_ids string optional Comma-separated list of service IDs to filter incidents by. since string optional The start of the date range to search (ISO 8601 format). sort_by string optional Used to specify a field you would like to sort the response on. Options: incident_number, created_at, resolved_at, urgency. statuses string optional Comma-separated list of statuses to filter by. Options: triggered, acknowledged, resolved. team_ids string optional Comma-separated list of team IDs to filter incidents by. until string optional The end of the date range to search (ISO 8601 format). urgencies string optional Comma-separated list of urgencies to filter by. Options: high, low. user_ids string optional Comma-separated list of user IDs to filter incidents assigned to. pagerduty_log_entries_list
#
List log entries across all incidents in PagerDuty. Log entries record actions taken on incidents including notifications, acknowledgements, and assignments. 8 params
List log entries across all incidents in PagerDuty. Log entries record actions taken on incidents including notifications, acknowledgements, and assignments.
include string optional Additional resources to include. Options: incidents, services, channels, teams. is_overview boolean optional If true, only show log entries of type 'notify_log_entry'. limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. since string optional The start of the date range (ISO 8601). team_ids string optional Comma-separated list of team IDs to filter log entries by. time_zone string optional Time zone for the log entries (IANA format). until string optional The end of the date range (ISO 8601). pagerduty_log_entry_get
#
Get details of a specific PagerDuty log entry by its ID. 3 params
Get details of a specific PagerDuty log entry by its ID.
id string required The ID of the log entry to retrieve. include string optional Additional resources to include. Options: incidents, services, channels, teams. time_zone string optional Time zone for the log entry (IANA format). pagerduty_maintenance_window_create
#
Create a new maintenance window in PagerDuty. During a maintenance window, no incidents will be created for the associated services. 5 params
Create a new maintenance window in PagerDuty. During a maintenance window, no incidents will be created for the associated services.
end_time string required The end time of the maintenance window (ISO 8601 format). from_email string required The email address of the user creating the maintenance window. Required by PagerDuty. service_ids string required Comma-separated list of service IDs to include in the maintenance window. start_time string required The start time of the maintenance window (ISO 8601 format). description string optional A description of the maintenance window. pagerduty_maintenance_window_delete
#
Delete a PagerDuty maintenance window. Only future and ongoing maintenance windows may be deleted. 1 param
Delete a PagerDuty maintenance window. Only future and ongoing maintenance windows may be deleted.
id string required The ID of the maintenance window to delete. pagerduty_maintenance_window_get
#
Get details of a specific PagerDuty maintenance window by its ID. 2 params
Get details of a specific PagerDuty maintenance window by its ID.
id string required The ID of the maintenance window to retrieve. include string optional Additional resources to include. Options: services, teams. pagerduty_maintenance_window_update
#
Update an existing PagerDuty maintenance window's description, start time, or end time. 4 params
Update an existing PagerDuty maintenance window's description, start time, or end time.
id string required The ID of the maintenance window to update. description string optional Updated description of the maintenance window. end_time string optional Updated end time of the maintenance window (ISO 8601 format). start_time string optional Updated start time of the maintenance window (ISO 8601 format). pagerduty_maintenance_windows_list
#
List maintenance windows in PagerDuty. Maintenance windows disable incident notifications for services during scheduled maintenance periods. 7 params
List maintenance windows in PagerDuty. Maintenance windows disable incident notifications for services during scheduled maintenance periods.
filter string optional Filter maintenance windows by time. Options: past, future, ongoing. include string optional Additional resources to include. Options: services, teams. limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. query string optional Filters the results by description. service_ids string optional Comma-separated list of service IDs to filter maintenance windows by. team_ids string optional Comma-separated list of team IDs to filter maintenance windows by. pagerduty_notifications_list
#
List notifications sent for incidents in a given time range. Notifications are messages sent to users when incidents are triggered, acknowledged, or resolved. 7 params
List notifications sent for incidents in a given time range. Notifications are messages sent to users when incidents are triggered, acknowledged, or resolved.
since string required The start of the date range (ISO 8601). Required. until string required The end of the date range (ISO 8601). Required. filter string optional Filters the results by notification type. Options: sms_notification, email_notification, phone_notification, push_notification. include string optional Additional resources to include. Options: users. limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. time_zone string optional Time zone for the notification data (IANA format). pagerduty_oncalls_list
#
List who is on call right now or within a date range. Supports filtering by schedule, escalation policy, and user. 10 params
List who is on call right now or within a date range. Supports filtering by schedule, escalation policy, and user.
earliest boolean optional When set to true, returns only the earliest on-call for each combination of escalation policy, escalation level, and user. escalation_policy_ids string optional Comma-separated list of escalation policy IDs to filter by. include string optional Additional resources to include. Options: users, schedules, escalation_policies. limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. schedule_ids string optional Comma-separated list of schedule IDs to filter by. since string optional The start of the time range to retrieve on-call information (ISO 8601). time_zone string optional Time zone for the on-call data (IANA format). until string optional The end of the time range to retrieve on-call information (ISO 8601). user_ids string optional Comma-separated list of user IDs to filter on-calls by. pagerduty_priorities_list
#
List the priority options available for incidents in PagerDuty. Returns all configured priority levels. 0 params
List the priority options available for incidents in PagerDuty. Returns all configured priority levels.
pagerduty_schedule_create
#
Create a new on-call schedule in PagerDuty with a single layer. Schedules determine who is on call at any given time. 8 params
Create a new on-call schedule in PagerDuty with a single layer. Schedules determine who is on call at any given time.
layer_start string required The start time of the schedule layer (ISO 8601 format). name string required The name of the schedule. rotation_virtual_start string required The effective start time of the rotation to align turn order (ISO 8601 format). time_zone string required The time zone of the schedule (IANA format, e.g., America/New_York). user_ids string required Comma-separated list of user IDs to include in the rotation. description string optional A description of the schedule. layer_name string optional The name of the first schedule layer. rotation_turn_length_seconds integer optional The duration of each on-call rotation turn in seconds (e.g., 86400 = 1 day, 604800 = 1 week). pagerduty_schedule_delete
#
Delete a PagerDuty on-call schedule. The schedule must not be associated with any escalation policies. 1 param
Delete a PagerDuty on-call schedule. The schedule must not be associated with any escalation policies.
id string required The ID of the schedule to delete. pagerduty_schedule_get
#
Get details of a specific PagerDuty on-call schedule by its ID, including layers and users. 4 params
Get details of a specific PagerDuty on-call schedule by its ID, including layers and users.
id string required The ID of the schedule to retrieve. since string optional The start of the date range to show schedule entries for (ISO 8601). time_zone string optional Time zone of the displayed schedule (IANA format). until string optional The end of the date range to show schedule entries for (ISO 8601). pagerduty_schedule_update
#
Update an existing PagerDuty on-call schedule's name, description, or time zone. 4 params
Update an existing PagerDuty on-call schedule's name, description, or time zone.
id string required The ID of the schedule to update. description string optional Updated description of the schedule. name string optional Updated name of the schedule. time_zone string optional Updated time zone (IANA format, e.g., America/New_York). pagerduty_schedules_list
#
List on-call schedules in PagerDuty. Supports filtering by query string and pagination. 4 params
List on-call schedules in PagerDuty. Supports filtering by query string and pagination.
include string optional Additional resources to include. Options: schedule_layers, teams, users. limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. query string optional Filters the results by name. pagerduty_service_create
#
Create a new service in PagerDuty. A service represents something you monitor and manage incidents for. 6 params
Create a new service in PagerDuty. A service represents something you monitor and manage incidents for.
escalation_policy_id string required The ID of the escalation policy to assign to this service. name string required The name of the service. acknowledgement_timeout integer optional Time in seconds that an incident is automatically re-triggered after being acknowledged. Set to 0 to disable. alert_creation string optional Whether a service creates only incidents or creates both incidents and alerts. Options: create_incidents, create_alerts_and_incidents. auto_resolve_timeout integer optional Time in seconds that an incident is automatically resolved if left open. Set to 0 to disable. description string optional The user-provided description of the service. pagerduty_service_delete
#
Delete an existing PagerDuty service. This action is irreversible. Only services without open incidents may be deleted. 1 param
Delete an existing PagerDuty service. This action is irreversible. Only services without open incidents may be deleted.
id string required The ID of the service to delete. pagerduty_service_get
#
Get details of a specific PagerDuty service by its ID. 2 params
Get details of a specific PagerDuty service by its ID.
id string required The ID of the service to retrieve. include string optional Additional resources to include. Options: escalation_policies, teams, integrations. pagerduty_service_update
#
Update an existing PagerDuty service. Can change name, description, escalation policy, timeouts, and alert creation settings. 8 params
Update an existing PagerDuty service. Can change name, description, escalation policy, timeouts, and alert creation settings.
id string required The ID of the service to update. acknowledgement_timeout integer optional Time in seconds that an incident is automatically re-triggered after being acknowledged. alert_creation string optional Whether a service creates only incidents or also alerts. Options: create_incidents, create_alerts_and_incidents. auto_resolve_timeout integer optional Time in seconds that an incident is automatically resolved if left open. description string optional The user-provided description of the service. escalation_policy_id string optional The ID of the escalation policy to assign to this service. name string optional The name of the service. status string optional The current state of the service. Options: active, warning, critical, maintenance, disabled. pagerduty_services_list
#
List existing services in PagerDuty. Supports filtering by team, query string, and pagination. 6 params
List existing services in PagerDuty. Supports filtering by team, query string, and pagination.
include string optional Additional resources to include. Options: escalation_policies, teams, integrations, auto_pause_notifications_parameters. limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. query string optional Filters the results by name. sort_by string optional Sort results by this field. Options: name, name:asc, name:desc. team_ids string optional Comma-separated list of team IDs to filter services by. pagerduty_team_create
#
Create a new team in PagerDuty. Teams allow grouping of users and services. 2 params
Create a new team in PagerDuty. Teams allow grouping of users and services.
name string required The name of the team. description string optional A description of the team. pagerduty_team_delete
#
Delete a PagerDuty team. The team must have no associated users, services, or escalation policies before it can be deleted. 1 param
Delete a PagerDuty team. The team must have no associated users, services, or escalation policies before it can be deleted.
id string required The ID of the team to delete. pagerduty_team_get
#
Get details of a specific PagerDuty team by its ID. 1 param
Get details of a specific PagerDuty team by its ID.
id string required The ID of the team to retrieve. pagerduty_team_update
#
Update an existing PagerDuty team's name or description. 3 params
Update an existing PagerDuty team's name or description.
id string required The ID of the team to update. description string optional Updated description of the team. name string optional The updated name of the team. pagerduty_teams_list
#
List teams in PagerDuty. Supports filtering by query string and pagination. 3 params
List teams in PagerDuty. Supports filtering by query string and pagination.
limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. query string optional Filters the results by name. pagerduty_user_create
#
Create a new user in PagerDuty. Requires name, email, and the creating user's email in the From header. 6 params
Create a new user in PagerDuty. Requires name, email, and the creating user's email in the From header.
email string required The user's email address. from_email string required The email address of the admin creating this user. Required by PagerDuty. name string required The name of the user. color string optional The schedule color for the user. role string optional The user's role. Options: admin, limited_user, observer, owner, read_only_user, restricted_access, read_only_limited_user, user. time_zone string optional The time zone of the user (IANA format, e.g., America/New_York). pagerduty_user_delete
#
Delete a PagerDuty user. Users cannot be deleted if they are the only remaining account owner. 1 param
Delete a PagerDuty user. Users cannot be deleted if they are the only remaining account owner.
id string required The ID of the user to delete. pagerduty_user_get
#
Get details of a specific PagerDuty user by their ID. 2 params
Get details of a specific PagerDuty user by their ID.
id string required The ID of the user to retrieve. include string optional Additional resources to include. Options: contact_methods, notification_rules, teams. pagerduty_user_update
#
Update an existing PagerDuty user's profile including name, email, role, time zone, and color. 6 params
Update an existing PagerDuty user's profile including name, email, role, time zone, and color.
id string required The ID of the user to update. color string optional The schedule color for the user. email string optional The user's updated email address. name string optional The updated name of the user. role string optional The user's role. Options: admin, limited_user, observer, owner, read_only_user, restricted_access, read_only_limited_user, user. time_zone string optional The time zone of the user (IANA format, e.g., America/New_York). pagerduty_users_list
#
List users in PagerDuty. Supports filtering by query, team, and includes. 5 params
List users in PagerDuty. Supports filtering by query, team, and includes.
include string optional Additional resources to include. Options: contact_methods, notification_rules, teams. limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. query string optional Filters the results by name. team_ids string optional Comma-separated list of team IDs to filter users by. pagerduty_vendors_list
#
List available PagerDuty vendors (integration types). Vendors represent the services or monitoring tools that can be integrated with PagerDuty. 3 params
List available PagerDuty vendors (integration types). Vendors represent the services or monitoring tools that can be integrated with PagerDuty.
limit integer optional The number of results per page. Maximum 100. offset integer optional Offset to start pagination search results. query string optional Filters the results by vendor name.