Real-Time Operations and Incident Response
Emit new event each time a new user rotates onto an on-call rotation
Emit new event each time an incident is created or updated
Emit an event for each new or modified record in a table
Emit an event for each new or modified record in a view
Find the user on call for a specific schedule. See the docs here
Create one or more records in a table by passing an array of objects containing field names and values as key/value pairs.
Retrieve records from a table with automatic pagination. Optionally sort and filter results.
PagerDuty's APIs allow you to integrate the powerful incident response
capabilities of PagerDuty with your own custom applications. With PagerDuty's
APIs, you can build applications to optimize your incident response process,
collaborate with teams more effectively, and analyze data from your incident
response process. Here are some examples of what you can do with PagerDuty's
APIs:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
pagerduty: {
type: "app",
app: "pagerduty",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.pagerduty.com/users/me`,
headers: {
Authorization: `Bearer ${this.pagerduty.$auth.oauth_access_token}`,
"Accept": `application/vnd.pagerduty+json;version=2`,
},
})
},
})
Using the Airtable API, you can build applications that can:
module.exports = defineComponent({
props: {
airtable: {
type: "app",
app: "airtable",
},
baseId: {
type: "$.airtable.baseId",
appProp: "airtable",
},
tableId: {
type: "$.airtable.tableId",
baseIdProp: "baseId",
},
},
async run({steps, $}) {
const Airtable = require('airtable');
const base = new Airtable({apiKey: this.airtable.$auth.api_key}).base(this.baseId);
const data = []
await base(this.tableId).select({
// pass optional config parameters here
}).eachPage(function page(records, fetchNextPage) {
// This function (`page`) will get called for each page of records.
records.forEach(function(record) {
data.push(record._rawJson)
});
// To fetch the next page of records, call `fetchNextPage`.
// If there are more records, `page` will get called again.
// If there are no more records, `done` will get called.
fetchNextPage();
})
return data
},
})