{"_id":"56a16a3f470ae00d00c30632","category":{"_id":"564e5a9b1560880d008d30dd","pages":["564e5a9c1560880d008d30de","56b217d91bc8490d00701f1b","56c3ccf72d97560d00e23cdc","56c515470fba010d00430759","56c515606889720d0099daf7","56d9e2106fcdd00b0002cc3f"],"project":"564e5930c3553e0d003e53d0","version":"564e5a9b1560880d008d30dc","__v":6,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-11-19T23:20:17.607Z","from_sync":false,"order":0,"slug":"documentation","title":"Getting Started"},"githubsync":"","__v":10,"parentDoc":null,"project":"564e5930c3553e0d003e53d0","user":"5668c7855d13810d0060961d","version":{"_id":"564e5a9b1560880d008d30dc","project":"564e5930c3553e0d003e53d0","__v":27,"createdAt":"2015-11-19T23:26:19.166Z","releaseDate":"2015-11-19T23:26:19.166Z","categories":["564e5a9b1560880d008d30dd","566318e1f5ca460d00f41896","56631d08cd54d50d005015fa","56631d2a81ad7417006a202c","5668ba19fbd7680d009375f4","5668cb8b10bda80d00797ed9","5668cb9d10bda80d00797eda","56830d8a3f94e00d004e2a7a","56830d9072bb720d0091f594","56830d94cb4d190d0027698e","56830dc44aecbd0d00a464c5","569e90f3c9b43e0d00c4bab1","56a96d338791090d00113bab","56b12d8336d2580d00247877","56c36bf0a869d017002ea55b","56c36bf93d30210d00ea84bb","56c77749b935671700ff0304","56c7ab9e5652c217008e091a","56cb8bdad5c6241d00ef5e61","58aefce02470660f00b54539","58aefd0bebd7370f0078b954","59ca65ca4337830026edf24f","5c33cd9eb47ba20051ac8d64","5c33df728bec1d0063431c34","5c4783ef523219027055513a","5c4f35033400f3010203a999","5d1d0c9f19c3a0003aeb525a"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"Foundation","version_clean":"2.0.0","version":"2"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-01-21T23:31:11.388Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":2,"body":"Thank you for your interest in integrating with PagerDuty! Integrations can be built for internal, private use or for public distribution. Building a first-class PagerDuty integration is a great way to get your offering noticed by the PagerDuty community. \n\nPublishing an integration with us gives you these benefits:\n  * A listing in our [integrations directory](https://www.pagerduty.com/integrations/)\n  * Exposure to PagerDuty’s large DevOps community \n  * Streamlined set up for PagerDuty users\n  * Opportunity for coordinated launch communication\n\nIf you are interested in publishing an integration, [please register here](https://pdconnect.wufoo.com/forms/become-a-pagerduty-technology-partner/).\n\n## Get Started\n### 1. Do you intend to publish an integration for all PagerDuty users?\nIf so, [please register here](https://pdconnect.wufoo.com/forms/become-a-pagerduty-technology-partner/). Someone will respond and support you through the process.\nIf your integration will only be used internally, you can skip this step.\n\n### 2. Send data to PagerDuty.\nWhat type of data will you send to PagerDuty?\n\n*Machine-driven monitoring event data*\nThe PagerDuty [Events API](https://v2.developer.pagerduty.com/docs/events-api-v2) is well-suited for your needs. The Events API allows you to asynchronously fire off events (to trigger, acknowledge, or resolve an incident). It allows your integration to feed into PagerDuty’s [Event Intelligence](https://www.pagerduty.com/features/event-intelligence-and-automation/) features like Intelligent Alert Grouping and Similar Incidents.\n\nThe Events API requires data in the [PagerDuty Common Event Format (PD-CEF)](https://support.pagerduty.com/docs/pd-cef). If you would prefer to send a webhook directly to PagerDuty in any format, you can write some javascript in a [Custom Event Transformer](https://v2.developer.pagerduty.com/docs/creating-an-integration-inline) to parse the webhook and reformat it into the PD-CEF.\n\n*Human-driven event data*\nThe PagerDuty [REST API](https://v2.developer.pagerduty.com/v2/page/api-reference) is best for human driven activity (like opening or closing a ticket). You can use the REST API to synchronously trigger an incident and take additional actions like assigning a responder or adding a note with additional context. The REST API also allows you to take actions as you would in our web interface, for example: see who is on call for a service, modify a schedule, or run a response play on an incident.\n\nIf your system is not capable of making API requests, you can also [send an email to PagerDuty](https://www.pagerduty.com/docs/guides/email-integration-guide/). Email is the least preferred method because it is less reliable.\n\n### 3.Consume data from PagerDuty\nOur most popular integrations are “bi-directional”.  When an action takes place in PagerDuty, information is sent back to the originating tool to keep things in sync and streamline workflows. For example, if an incident is resolved in PagerDuty, a corresponding alert is closed in another system.\n\n*Subscribe to events - Webhooks*\nReceive a webhook when a [variety of events occur](https://v2.developer.pagerduty.com/docs/webhooks-v2-overview) on a PagerDuty service (for example: an incident is resolved or a note is added to an incident). You can programmatically create a webhook subscription using the [*extensions* endpoint](https://v2.developer.pagerduty.com/v2/page/api-reference#!/Extensions/get_extensions) on the REST API. \n\n*Occasional requests - REST API*\nIf your application does not require timely access to data, you can request resources occasionally from our REST API.\n\n### 4.Interact with users in the PagerDuty interface\n*Button-driven actions - Custom Incident Action*\nIf your integration requires a button press in PagerDuty, you can place a button in the “More Actions” dropdown on an incident in our web or mobile apps using a Custom Incident Action. This will fire a webhook to indicate that the button was pressed.\n\n*Present information in an iFrame - Add-ons*\nOn the web, you can load an iframe on the Incident Details page or on a separate full page which can be accessed from the top navigation in PagerDuty. This is called an add-on. Add-ons can be managed over the REST API using the [addons endpoint](https://v2.developer.pagerduty.com/v2/page/api-reference#!/Add-ons/get_addons).\n\n### 5.Start building!\nMake sample API requests directly from our documentation. Leverage client libraries and code samples to quickly get started in the language of your choice.\n  * [Events API Reference](https://v2.developer.pagerduty.com/docs/events-api-v2)\n  * [REST API Reference](https://v2.developer.pagerduty.com/v2/page/api-reference#!/API_Reference/get_api_reference)\n  * [Client Libraries](https://support.pagerduty.com/v1/docs/code-libraries)\n  * [Code Samples](https://support.pagerduty.com/docs/code-samples)\n\nStill need help? Try posting in our [developer community forum](https://community.pagerduty.com/c/dev) or contact our support team at [support:::at:::pagerduty.com](mailto:support@pagerduty.com).","excerpt":"","slug":"integrating","type":"basic","title":"Integrate with PagerDuty"}

Integrate with PagerDuty


Thank you for your interest in integrating with PagerDuty! Integrations can be built for internal, private use or for public distribution. Building a first-class PagerDuty integration is a great way to get your offering noticed by the PagerDuty community. Publishing an integration with us gives you these benefits: * A listing in our [integrations directory](https://www.pagerduty.com/integrations/) * Exposure to PagerDuty’s large DevOps community * Streamlined set up for PagerDuty users * Opportunity for coordinated launch communication If you are interested in publishing an integration, [please register here](https://pdconnect.wufoo.com/forms/become-a-pagerduty-technology-partner/). ## Get Started ### 1. Do you intend to publish an integration for all PagerDuty users? If so, [please register here](https://pdconnect.wufoo.com/forms/become-a-pagerduty-technology-partner/). Someone will respond and support you through the process. If your integration will only be used internally, you can skip this step. ### 2. Send data to PagerDuty. What type of data will you send to PagerDuty? *Machine-driven monitoring event data* The PagerDuty [Events API](https://v2.developer.pagerduty.com/docs/events-api-v2) is well-suited for your needs. The Events API allows you to asynchronously fire off events (to trigger, acknowledge, or resolve an incident). It allows your integration to feed into PagerDuty’s [Event Intelligence](https://www.pagerduty.com/features/event-intelligence-and-automation/) features like Intelligent Alert Grouping and Similar Incidents. The Events API requires data in the [PagerDuty Common Event Format (PD-CEF)](https://support.pagerduty.com/docs/pd-cef). If you would prefer to send a webhook directly to PagerDuty in any format, you can write some javascript in a [Custom Event Transformer](https://v2.developer.pagerduty.com/docs/creating-an-integration-inline) to parse the webhook and reformat it into the PD-CEF. *Human-driven event data* The PagerDuty [REST API](https://v2.developer.pagerduty.com/v2/page/api-reference) is best for human driven activity (like opening or closing a ticket). You can use the REST API to synchronously trigger an incident and take additional actions like assigning a responder or adding a note with additional context. The REST API also allows you to take actions as you would in our web interface, for example: see who is on call for a service, modify a schedule, or run a response play on an incident. If your system is not capable of making API requests, you can also [send an email to PagerDuty](https://www.pagerduty.com/docs/guides/email-integration-guide/). Email is the least preferred method because it is less reliable. ### 3.Consume data from PagerDuty Our most popular integrations are “bi-directional”. When an action takes place in PagerDuty, information is sent back to the originating tool to keep things in sync and streamline workflows. For example, if an incident is resolved in PagerDuty, a corresponding alert is closed in another system. *Subscribe to events - Webhooks* Receive a webhook when a [variety of events occur](https://v2.developer.pagerduty.com/docs/webhooks-v2-overview) on a PagerDuty service (for example: an incident is resolved or a note is added to an incident). You can programmatically create a webhook subscription using the [*extensions* endpoint](https://v2.developer.pagerduty.com/v2/page/api-reference#!/Extensions/get_extensions) on the REST API. *Occasional requests - REST API* If your application does not require timely access to data, you can request resources occasionally from our REST API. ### 4.Interact with users in the PagerDuty interface *Button-driven actions - Custom Incident Action* If your integration requires a button press in PagerDuty, you can place a button in the “More Actions” dropdown on an incident in our web or mobile apps using a Custom Incident Action. This will fire a webhook to indicate that the button was pressed. *Present information in an iFrame - Add-ons* On the web, you can load an iframe on the Incident Details page or on a separate full page which can be accessed from the top navigation in PagerDuty. This is called an add-on. Add-ons can be managed over the REST API using the [addons endpoint](https://v2.developer.pagerduty.com/v2/page/api-reference#!/Add-ons/get_addons). ### 5.Start building! Make sample API requests directly from our documentation. Leverage client libraries and code samples to quickly get started in the language of your choice. * [Events API Reference](https://v2.developer.pagerduty.com/docs/events-api-v2) * [REST API Reference](https://v2.developer.pagerduty.com/v2/page/api-reference#!/API_Reference/get_api_reference) * [Client Libraries](https://support.pagerduty.com/v1/docs/code-libraries) * [Code Samples](https://support.pagerduty.com/docs/code-samples) Still need help? Try posting in our [developer community forum](https://community.pagerduty.com/c/dev) or contact our support team at [support@pagerduty.com](mailto:support@pagerduty.com).