Developer
App Overview
Explains what a PagerDuty app is, who can build one, and the difference between apps for private use versus public distribution.
Note
This section is intended for developers building an app with PagerDuty. For information on how to add or remove an existing app on your PagerDuty account, visit our Knowledge Base
What is an app?
An app allows customers to set up other web-enabled businesses to work with PagerDuty or to make PagerDuty more useful. Apps can send data to PagerDuty, receive data from PagerDuty, or both.
Who builds apps?
Apps are built by PagerDuty, our partners, our customers, system integrators, and the open source community! Any PagerDuty customer or developer with a PagerDuty developer account has access to PagerDuty app development tools.
Can my app be used by other PagerDuty accounts?
Yes, apps can be created for either private use (on your account only) or public use which can be installed and used by other PagerDuty customers. See Private Apps and Publish an App.
Getting Started
- Not a PagerDuty customer? Sign up for a developer account to get access to PagerDuty.
- Register your app and add functionality to it
- Publish an app (completely optional)
App Functionality
There are two kinds of app functionality: Events Integration, or OAuth. An app can have either, or both.
Events Integration
Events Integration sends machine events from your tool to PagerDuty via the v2 Events API. This is the best way for a monitoring tool to connect with PagerDuty, and it can trigger, acknowledge, and resolve incidents.
The Events API is asynchronous and designed for high volume. Events flow through PagerDuty's Event Intelligence features, which group, deduplicate, and triage them to reduce noise and speed up response.
It can also send Change Events — informational signals about recent changes such as code deploys and system config changes, which are displayed in PagerDuty rather than triggering an incident.
Two optional pieces come with it:
- The Simple Install Flow lets your users connect to PagerDuty from inside your tool, instead of copying and pasting integration keys. See the demo here.
- An Event Transformer converts a payload PagerDuty does not understand natively into the Events API v2 format.
OAuth Integration
OAuth connects your app to the REST API, which manages PagerDuty resources — users, teams, services, schedules, escalation policies, and so on. This is what you want for an app that administers PagerDuty or reads data out of it, such as a chat tool integration.
The REST API can also trigger and manage incidents, through the /incidents endpoint. Use it when you specifically intend to create one incident — typically in response to a human action such as opening a ticket, clicking a button, or typing a chat command. It is synchronous, so you get a reference to the incident back, and it has an operation-specific rate limit of 300 req/min. For machine events at volume, use Events Integration instead.
There are two kinds of OAuth functionality:
- Classic User OAuth acts as a PagerDuty user via an authorization code grant, with a blanket
readorwritescope. A user on any account can authorize it as soon as it is registered, without publishing. - Scoped OAuth scopes access per resource type, and supports both the authorization code and client credentials grants, to act as a user or as the app itself, respectively. It works on the account that created the app as soon as it is registered; once published and installed on other accounts, it can act as a user there too.
For chat integrations, see also lita-pagerduty and the hubot library.
Other ways to integrate with PagerDuty
These are not app functionality — you configure them outside of app registration — but they are often part of an integration.
| Webhooks | PagerDuty will send messages to your tool when certain activities occur. For example: when an incident is triggered, when a note is added to an incident, etc). There are 2 ways to create a webhook subscription:
|
| Add-ons | Add-ons are iframes which can be placed on a PagerDuty incident (web or mobile) or as a full page on the web. Two ways to create add-ons:
|
| REST API Token | If you need account-level access to a PagerDuty account, you can request a token from PagerDuty admin users. |