PagerDuty connector
OAuth 2.0Developer ToolsMonitoringConnect 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.
includestringoptionalAdditional resources to include. Options: services, teams, targets.limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.querystringoptionalFilters the results by name.sort_bystringoptionalUsed to specify a field to sort the response on. Options: name, name:asc, name:desc.team_idsstringoptionalComma-separated list of team IDs to filter escalation policies by.user_idsstringoptionalComma-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.
namestringrequiredThe name of the escalation policy.target_idstringrequiredThe ID of the user or schedule to notify in the first escalation rule.descriptionstringoptionalA description of the escalation policy.num_loopsintegeroptionalThe number of times the escalation policy will repeat after reaching the end of its escalation rules.on_call_handoff_notificationsstringoptionalDetermines how on call handoff notifications will be sent for users on the escalation policy. Options: if_has_services, always.rule_escalation_delay_in_minutesintegeroptionalThe number of minutes before an unacknowledged incident escalates to the next rule.target_typestringoptionalThe 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.
idstringrequiredThe 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.
idstringrequiredThe ID of the escalation policy to retrieve.includestringoptionalAdditional 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.
idstringrequiredThe ID of the escalation policy to update.descriptionstringoptionalUpdated description of the escalation policy.namestringoptionalThe updated name of the escalation policy.num_loopsintegeroptionalThe number of times the escalation policy will repeat after reaching the end.on_call_handoff_notificationsstringoptionalDetermines 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_emailstringrequiredThe email address of the user creating the incident. Required by PagerDuty.service_idstringrequiredThe ID of the service the incident belongs to.titlestringrequiredA brief description of the incident.body_detailsstringoptionalAdditional details about the incident body (plain text).escalation_policy_idstringoptionalThe ID of the escalation policy to assign to the incident.incident_keystringoptionalA string that identifies the incident. Used for deduplication.priority_idstringoptionalThe ID of the priority to assign to the incident.urgencystringoptionalThe 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.
idstringrequiredThe 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_emailstringrequiredThe email address of the user performing the bulk action. Required by PagerDuty.incident_idsstringrequiredComma-separated list of incident IDs to manage.statusstringrequiredThe 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.
contentstringrequiredThe content of the note to add to the incident.from_emailstringrequiredThe email address of the user creating the note. Required by PagerDuty.idstringrequiredThe 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_emailstringrequiredThe email address of the user making the update. Required by PagerDuty.idstringrequiredThe ID of the incident to update.assignee_idstringoptionalThe ID of the user to assign the incident to.escalation_policy_idstringoptionalThe ID of the escalation policy to assign to the incident.priority_idstringoptionalThe ID of the priority to assign to the incident.resolutionstringoptionalThe resolution note for the incident (used when resolving).statusstringoptionalThe new status of the incident. Options: acknowledged, resolved.titlestringoptionalA brief description of the incident.urgencystringoptionalThe 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_rangestringoptionalWhen set to 'all', the since and until parameters and defaults are ignored.includestringoptionalArray of additional resources to include. Options: acknowledgers, agents, assignees, conference_bridge, escalation_policies, first_trigger_log_entries, responders, services, teams, users.limitintegeroptionalThe number of results to return per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.service_idsstringoptionalComma-separated list of service IDs to filter incidents by.sincestringoptionalThe start of the date range to search (ISO 8601 format).sort_bystringoptionalUsed to specify a field you would like to sort the response on. Options: incident_number, created_at, resolved_at, urgency.statusesstringoptionalComma-separated list of statuses to filter by. Options: triggered, acknowledged, resolved.team_idsstringoptionalComma-separated list of team IDs to filter incidents by.untilstringoptionalThe end of the date range to search (ISO 8601 format).urgenciesstringoptionalComma-separated list of urgencies to filter by. Options: high, low.user_idsstringoptionalComma-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.
includestringoptionalAdditional resources to include. Options: incidents, services, channels, teams.is_overviewbooleanoptionalIf true, only show log entries of type 'notify_log_entry'.limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.sincestringoptionalThe start of the date range (ISO 8601).team_idsstringoptionalComma-separated list of team IDs to filter log entries by.time_zonestringoptionalTime zone for the log entries (IANA format).untilstringoptionalThe 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.
idstringrequiredThe ID of the log entry to retrieve.includestringoptionalAdditional resources to include. Options: incidents, services, channels, teams.time_zonestringoptionalTime 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_timestringrequiredThe end time of the maintenance window (ISO 8601 format).from_emailstringrequiredThe email address of the user creating the maintenance window. Required by PagerDuty.service_idsstringrequiredComma-separated list of service IDs to include in the maintenance window.start_timestringrequiredThe start time of the maintenance window (ISO 8601 format).descriptionstringoptionalA 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.
idstringrequiredThe 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.
idstringrequiredThe ID of the maintenance window to retrieve.includestringoptionalAdditional 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.
idstringrequiredThe ID of the maintenance window to update.descriptionstringoptionalUpdated description of the maintenance window.end_timestringoptionalUpdated end time of the maintenance window (ISO 8601 format).start_timestringoptionalUpdated 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.
filterstringoptionalFilter maintenance windows by time. Options: past, future, ongoing.includestringoptionalAdditional resources to include. Options: services, teams.limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.querystringoptionalFilters the results by description.service_idsstringoptionalComma-separated list of service IDs to filter maintenance windows by.team_idsstringoptionalComma-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.
sincestringrequiredThe start of the date range (ISO 8601). Required.untilstringrequiredThe end of the date range (ISO 8601). Required.filterstringoptionalFilters the results by notification type. Options: sms_notification, email_notification, phone_notification, push_notification.includestringoptionalAdditional resources to include. Options: users.limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.time_zonestringoptionalTime 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.
earliestbooleanoptionalWhen set to true, returns only the earliest on-call for each combination of escalation policy, escalation level, and user.escalation_policy_idsstringoptionalComma-separated list of escalation policy IDs to filter by.includestringoptionalAdditional resources to include. Options: users, schedules, escalation_policies.limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.schedule_idsstringoptionalComma-separated list of schedule IDs to filter by.sincestringoptionalThe start of the time range to retrieve on-call information (ISO 8601).time_zonestringoptionalTime zone for the on-call data (IANA format).untilstringoptionalThe end of the time range to retrieve on-call information (ISO 8601).user_idsstringoptionalComma-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_startstringrequiredThe start time of the schedule layer (ISO 8601 format).namestringrequiredThe name of the schedule.rotation_virtual_startstringrequiredThe effective start time of the rotation to align turn order (ISO 8601 format).time_zonestringrequiredThe time zone of the schedule (IANA format, e.g., America/New_York).user_idsstringrequiredComma-separated list of user IDs to include in the rotation.descriptionstringoptionalA description of the schedule.layer_namestringoptionalThe name of the first schedule layer.rotation_turn_length_secondsintegeroptionalThe 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.
idstringrequiredThe 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.
idstringrequiredThe ID of the schedule to retrieve.sincestringoptionalThe start of the date range to show schedule entries for (ISO 8601).time_zonestringoptionalTime zone of the displayed schedule (IANA format).untilstringoptionalThe 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.
idstringrequiredThe ID of the schedule to update.descriptionstringoptionalUpdated description of the schedule.namestringoptionalUpdated name of the schedule.time_zonestringoptionalUpdated 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.
includestringoptionalAdditional resources to include. Options: schedule_layers, teams, users.limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.querystringoptionalFilters 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_idstringrequiredThe ID of the escalation policy to assign to this service.namestringrequiredThe name of the service.acknowledgement_timeoutintegeroptionalTime in seconds that an incident is automatically re-triggered after being acknowledged. Set to 0 to disable.alert_creationstringoptionalWhether a service creates only incidents or creates both incidents and alerts. Options: create_incidents, create_alerts_and_incidents.auto_resolve_timeoutintegeroptionalTime in seconds that an incident is automatically resolved if left open. Set to 0 to disable.descriptionstringoptionalThe 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.
idstringrequiredThe 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.
idstringrequiredThe ID of the service to retrieve.includestringoptionalAdditional 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.
idstringrequiredThe ID of the service to update.acknowledgement_timeoutintegeroptionalTime in seconds that an incident is automatically re-triggered after being acknowledged.alert_creationstringoptionalWhether a service creates only incidents or also alerts. Options: create_incidents, create_alerts_and_incidents.auto_resolve_timeoutintegeroptionalTime in seconds that an incident is automatically resolved if left open.descriptionstringoptionalThe user-provided description of the service.escalation_policy_idstringoptionalThe ID of the escalation policy to assign to this service.namestringoptionalThe name of the service.statusstringoptionalThe 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.
includestringoptionalAdditional resources to include. Options: escalation_policies, teams, integrations, auto_pause_notifications_parameters.limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.querystringoptionalFilters the results by name.sort_bystringoptionalSort results by this field. Options: name, name:asc, name:desc.team_idsstringoptionalComma-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.
namestringrequiredThe name of the team.descriptionstringoptionalA 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.
idstringrequiredThe 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.
idstringrequiredThe 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.
idstringrequiredThe ID of the team to update.descriptionstringoptionalUpdated description of the team.namestringoptionalThe 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.
limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.querystringoptionalFilters 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.
emailstringrequiredThe user's email address.from_emailstringrequiredThe email address of the admin creating this user. Required by PagerDuty.namestringrequiredThe name of the user.colorstringoptionalThe schedule color for the user.rolestringoptionalThe user's role. Options: admin, limited_user, observer, owner, read_only_user, restricted_access, read_only_limited_user, user.time_zonestringoptionalThe 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.
idstringrequiredThe 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.
idstringrequiredThe ID of the user to retrieve.includestringoptionalAdditional 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.
idstringrequiredThe ID of the user to update.colorstringoptionalThe schedule color for the user.emailstringoptionalThe user's updated email address.namestringoptionalThe updated name of the user.rolestringoptionalThe user's role. Options: admin, limited_user, observer, owner, read_only_user, restricted_access, read_only_limited_user, user.time_zonestringoptionalThe 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.
includestringoptionalAdditional resources to include. Options: contact_methods, notification_rules, teams.limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.querystringoptionalFilters the results by name.team_idsstringoptionalComma-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.
limitintegeroptionalThe number of results per page. Maximum 100.offsetintegeroptionalOffset to start pagination search results.querystringoptionalFilters the results by vendor name.