{"_id":"5de6e1fa529970001220a9b5","project":"564e5930c3553e0d003e53d0","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"},"category":{"_id":"5d1d0c9f19c3a0003aeb525a","project":"564e5930c3553e0d003e53d0","version":"564e5a9b1560880d008d30dc","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2019-07-03T20:14:23.802Z","from_sync":false,"order":2,"slug":"app-integration-development","title":"App / Integration Development"},"user":"59e10aa4bf9ac7001a235dd6","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2019-12-03T22:30:18.071Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"Once you have [created an app](https://v2.developer.pagerduty.com/docs/how-to-build-an-app), you you'll need to add functionality to your app to make it useful.\n\n## PagerDuty app functionality\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"App Functionality\",\n    \"0-0\": \"[Events Integration](doc:developing-a-pagerduty-integration)\",\n    \"1-0\": \"[Simple Install Flow](doc:developing-a-pagerduty-integration#section-simple-install-flow-optional-but-recommended-)\",\n    \"0-1\": \"Send machine events **from** your tool **to** PagerDuty over our asynchronous [Events API v2](doc:events-api-v2). This is the best way for monitoring tools to connect with PagerDuty in order to trigger incidents.\",\n    \"1-1\": \"If you're using Events Integration, your users can quickly connect to PagerDuty directly from your tool with the Simple Install Flow! [See Demo](https://acme.pagerduty.dev)\",\n    \"2-0\": \"[OAuth 2](doc:oauth-2-functionality)\",\n    \"2-1\": \"Connect to our [REST API](https://api-reference.pagerduty.com/) as a PagerDuty user (not full account access) to administer PagerDuty or get data (create an on-call schedule, get a list of team members, etc).\",\n    \"h-1\": \"Description\"\n  },\n  \"cols\": 2,\n  \"rows\": 3\n}\n[/block]\n## More ways to connect with PagerDuty\n\nThese platform features are not available through PagerDuty's app configuration framework (yet!) but are still available for your app to use.\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"REST API token\",\n    \"0-1\": \"If you need account-level access to a PagerDuty account, you can [request a token from PagerDuty admin users](https://support.pagerduty.com/docs/generating-api-keys#section-rest-api-keys).\",\n    \"1-1\": \"PagerDuty will send messages **to** your tool when certain activities occur. For example: incident triggered, note is added to an incident, etc).\\n\\nThere are 2 ways to create a webhook extension:\\n* [`/extensions` endpoint](https://api-reference.pagerduty.com/#!/Extensions/post_extensions) on the REST API\\n* [In the PagerDuty user interface](https://support.pagerduty.com/docs/webhooks)\",\n    \"1-0\": \"[Webhooks](doc:webhooks-v2-overview)\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\n## Which app functionality is right for me?\nUse our [API Picker](doc:api-picker) resource to choose the app functionality that's right for your needs.\n\n## Adding functionality to your app\n\n1. Go to your app's configuration page. [See how to register or edit an app](doc:how-to-build-an-app)\n2. Scroll down the the **Functionality** section of the page and click the **Add** button on the card which represents the functionality you would like to add. See the above section for more information on app functionality.\n3. On the next page, you'll be asked for more information to configure that app functionality.\n4. Click **Save** to save the configuration and add that functionality to your app.\n5. Click the **Manage** button to make edits or remove functionality from an app\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/9d47da4-app_functionality.png\",\n        \"app_functionality.png\",\n        1316,\n        636,\n        \"#272727\"\n      ]\n    }\n  ]\n}\n[/block]\n## Removing functionality from your app\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"body\": \"This action cannot be undone. Be sure that app functionality is not needed before you remove it.\"\n}\n[/block]\n1. Go to your app's configuration page. [See how to register or edit an app](doc:how-to-build-an-app)\n2. Scroll down the the **Functionality** section of the page and click the **Manage** button on the card which represents the functionality you would like to remove.\n3. Scroll to the **Danger Zone** at the bottom of the page and click **Delete** \n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/e0459b7-delete_functionality.png\",\n        \"delete_functionality.png\",\n        1388,\n        216,\n        \"#1c1c1c\"\n      ]\n    }\n  ]\n}\n[/block]\n4. Confirm that you would like to remove app functionality\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/b0d7cd5-delete_confirm.png\",\n        \"delete_confirm.png\",\n        1290,\n        526,\n        \"#818181\"\n      ]\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"app-functionality","type":"basic","title":"App Functionality Overview"}

App Functionality Overview


Once you have [created an app](https://v2.developer.pagerduty.com/docs/how-to-build-an-app), you you'll need to add functionality to your app to make it useful. ## PagerDuty app functionality [block:parameters] { "data": { "h-0": "App Functionality", "0-0": "[Events Integration](doc:developing-a-pagerduty-integration)", "1-0": "[Simple Install Flow](doc:developing-a-pagerduty-integration#section-simple-install-flow-optional-but-recommended-)", "0-1": "Send machine events **from** your tool **to** PagerDuty over our asynchronous [Events API v2](doc:events-api-v2). This is the best way for monitoring tools to connect with PagerDuty in order to trigger incidents.", "1-1": "If you're using Events Integration, your users can quickly connect to PagerDuty directly from your tool with the Simple Install Flow! [See Demo](https://acme.pagerduty.dev)", "2-0": "[OAuth 2](doc:oauth-2-functionality)", "2-1": "Connect to our [REST API](https://api-reference.pagerduty.com/) as a PagerDuty user (not full account access) to administer PagerDuty or get data (create an on-call schedule, get a list of team members, etc).", "h-1": "Description" }, "cols": 2, "rows": 3 } [/block] ## More ways to connect with PagerDuty These platform features are not available through PagerDuty's app configuration framework (yet!) but are still available for your app to use. [block:parameters] { "data": { "0-0": "REST API token", "0-1": "If you need account-level access to a PagerDuty account, you can [request a token from PagerDuty admin users](https://support.pagerduty.com/docs/generating-api-keys#section-rest-api-keys).", "1-1": "PagerDuty will send messages **to** your tool when certain activities occur. For example: incident triggered, note is added to an incident, etc).\n\nThere are 2 ways to create a webhook extension:\n* [`/extensions` endpoint](https://api-reference.pagerduty.com/#!/Extensions/post_extensions) on the REST API\n* [In the PagerDuty user interface](https://support.pagerduty.com/docs/webhooks)", "1-0": "[Webhooks](doc:webhooks-v2-overview)" }, "cols": 2, "rows": 2 } [/block] ## Which app functionality is right for me? Use our [API Picker](doc:api-picker) resource to choose the app functionality that's right for your needs. ## Adding functionality to your app 1. Go to your app's configuration page. [See how to register or edit an app](doc:how-to-build-an-app) 2. Scroll down the the **Functionality** section of the page and click the **Add** button on the card which represents the functionality you would like to add. See the above section for more information on app functionality. 3. On the next page, you'll be asked for more information to configure that app functionality. 4. Click **Save** to save the configuration and add that functionality to your app. 5. Click the **Manage** button to make edits or remove functionality from an app [block:image] { "images": [ { "image": [ "https://files.readme.io/9d47da4-app_functionality.png", "app_functionality.png", 1316, 636, "#272727" ] } ] } [/block] ## Removing functionality from your app [block:callout] { "type": "danger", "body": "This action cannot be undone. Be sure that app functionality is not needed before you remove it." } [/block] 1. Go to your app's configuration page. [See how to register or edit an app](doc:how-to-build-an-app) 2. Scroll down the the **Functionality** section of the page and click the **Manage** button on the card which represents the functionality you would like to remove. 3. Scroll to the **Danger Zone** at the bottom of the page and click **Delete** [block:image] { "images": [ { "image": [ "https://files.readme.io/e0459b7-delete_functionality.png", "delete_functionality.png", 1388, 216, "#1c1c1c" ] } ] } [/block] 4. Confirm that you would like to remove app functionality [block:image] { "images": [ { "image": [ "https://files.readme.io/b0d7cd5-delete_confirm.png", "delete_confirm.png", 1290, 526, "#818181" ] } ] } [/block]