PagerDuty
Connect PagerDuty to Ploy to see every user in your PagerDuty account, their base role, which teams they belong to and with which team role, and who is on call on each schedule. Ploy can also add people to the account, change their base role, remove them, and add or remove them from teams.
This integration is in beta
The PagerDuty integration is in beta. It was built from PagerDuty's API documentation and has not yet been checked against a live PagerDuty account, so some details may need adjusting once customers connect it. Beta does not limit what the integration can do.
The first step of setup is a consent checkbox. Ticking it lets Ploy capture redacted error data when a request to PagerDuty fails: the error response PagerDuty sends back, with personal details, keys and other secrets removed. Ploy uses it only to fix problems with this integration. You must tick the box to continue.
What Ploy reads
Every user in your PagerDuty account, with their name and email address
Each user's base role: Account Owner, Global Admin, Manager, Responder, Observer, Restricted Access, Full Stakeholder or Limited Stakeholder
Every team, and the members of each team with their team role (Manager, Responder or Observer)
Every schedule, and who is on call on it now and over the next two days, with overrides applied
Ploy does not read your incidents, services, escalation policies, notification rules or contact methods.
Before you start
You need to be a PagerDuty account admin (Global Admin or Account Owner) to create an API key.
Know which service region your account is in: the United States (the default) or the European Union.
Create an API key in PagerDuty
Sign in to PagerDuty as an account admin.
Open Integrations, then API Access Keys.
Create a new API key and give it a description such as Ploy.
Leave Read-only unticked if you want Ploy to add, change and remove people and team members. Tick it if you only want Ploy to read.
Create the key and copy it straight away. PagerDuty shows it only once. Treat it like a password.
Use an account API key rather than a personal user key: an account key sees the whole account and keeps working when the person who made it leaves.
Connect PagerDuty in Ploy
In Ploy, open Integrations and choose PagerDuty.
Tick the beta consent checkbox.
Select your PagerDuty service region.
Paste the API key.
Click Test. Ploy reads your PagerDuty users to check the key and region work.
Finish the setup. The first scan starts straight away.
Things to know
Users and who is on call are checked every hour. Teams and their members are checked every six hours.
PagerDuty has no way to suspend a user, so a user deleted in PagerDuty loses their access in Ploy at the next scan.
Adding a person creates them with the Responder role unless you choose another, and PagerDuty sends them an invitation email. Someone who already has a PagerDuty user is left as they are.
Removing a base role moves the person down to Responder. It never removes them from PagerDuty. Removing Responder, or a narrower role, changes nothing.
Removing a person deletes their PagerDuty user. This cannot be undone from Ploy.
Ploy cannot remove the account owner, change the owner's role, or make someone the owner. Do that in PagerDuty.
Adding someone to a team from Ploy gives them the team role their base role implies. They must already be a PagerDuty user, and someone already on the team keeps their team role.
Observer, Restricted Access and the Stakeholder roles depend on your PagerDuty plan. If your plan does not include one, PagerDuty refuses the change and Ploy shows its reason.
Troubleshooting
PagerDuty refused the API key
Check the key was copied in full, that it still exists under Integrations, API Access Keys, and that the region you chose matches your account. A key only works in its own region.
PagerDuty refused to list users
Use an account API key created by an account admin.
A change from Ploy was refused
The API key must not be read-only to add, change or remove people. If the message mentions your plan, the role you chose is not part of your PagerDuty plan. PagerDuty's own reason is shown with the error.