arcade-mcp/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateServiceIntegration.json
jottakka f2332a7682
[Moar][Rewrapping] Rewrapping tools (#653)
## Rewrapping

- Calendly
- Airtable
- Squareup
- PagerDuty
- Trello
- Miro

---------

Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-24 18:05:33 -03:00

226 lines
28 KiB
JSON

{
"name": "CreateServiceIntegration",
"fully_qualified_name": "PagerdutyApi.CreateServiceIntegration@2.0.0",
"description": "Create a new integration for a specific service.\n\nUse this tool to create a new integration for a service, which can represent an application, component, or team. This action is relevant when you need to establish connections that allow incident management for that service.",
"toolkit": {
"name": "ArcadePagerdutyApi",
"description": null,
"version": "2.0.0"
},
"input": {
"parameters": [
{
"name": "resource_id",
"required": true,
"description": "The ID of the resource to create an integration for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the resource."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "accept_version_header",
"required": true,
"description": "Specify the version of the API to use with the 'Accept' header.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The `Accept` header is used as a versioning header."
},
"inferrable": true,
"http_endpoint_parameter_name": "Accept"
},
{
"name": "content_type_header",
"required": true,
"description": "Specify the content type for the request. Use 'application/json' for JSON payloads.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"application/json"
],
"properties": null,
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "Content-Type"
},
{
"name": "integration_details",
"required": false,
"description": "The integration details to be created, provided as a JSON object.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"integration": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"inner_properties": null,
"description": "The integration to be created"
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'createServiceIntegration'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-pagerduty",
"provider_type": "oauth2",
"id": null,
"oauth2": null
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the Pagerduty API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.pagerduty.com/services/{id}/integrations",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "resource_id",
"description": "The ID of the resource.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the resource."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "Accept",
"tool_parameter_name": "accept_version_header",
"description": "The `Accept` header is used as a versioning header.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The `Accept` header is used as a versioning header."
},
"accepted_as": "header",
"required": true,
"deprecated": false,
"default": "application/vnd.pagerduty+json;version=2",
"documentation_urls": []
},
{
"name": "Content-Type",
"tool_parameter_name": "content_type_header",
"description": "",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"application/json"
],
"properties": null,
"inner_properties": null,
"description": ""
},
"accepted_as": "header",
"required": true,
"deprecated": false,
"default": "application/json",
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "integration_details",
"description": "The integration to be created",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"integration": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"inner_properties": null,
"description": "The integration to be created"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"integration\": {\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"readOnly\": true\n },\n \"summary\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"description\": \"A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier.\"\n },\n \"type\": {\n \"type\": \"string\",\n \"readOnly\": true,\n \"description\": \"A string that determines the schema of the object. This must be the standard name for the entity, suffixed by `_reference` if the object is a reference.\"\n },\n \"self\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"format\": \"url\",\n \"description\": \"the API show URL at which the object is accessible\"\n },\n \"html_url\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"format\": \"url\",\n \"description\": \"a URL at which the entity is uniquely displayed in the Web app\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"aws_cloudwatch_inbound_integration\",\n \"cloudkick_inbound_integration\",\n \"event_transformer_api_inbound_integration\",\n \"generic_email_inbound_integration\",\n \"generic_events_api_inbound_integration\",\n \"keynote_inbound_integration\",\n \"nagios_inbound_integration\",\n \"pingdom_inbound_integration\",\n \"sql_monitor_inbound_integration\",\n \"events_api_v2_inbound_integration\"\n ]\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of this integration.\"\n },\n \"service\": {\n \"allOf\": [\n {\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"readOnly\": true\n },\n \"summary\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"description\": \"A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier.\"\n },\n \"type\": {\n \"type\": \"string\",\n \"readOnly\": true,\n \"description\": \"A string that determines the schema of the object. This must be the standard name for the entity, suffixed by `_reference` if the object is a reference.\"\n },\n \"self\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"format\": \"url\",\n \"description\": \"the API show URL at which the object is accessible\"\n },\n \"html_url\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"format\": \"url\",\n \"description\": \"a URL at which the entity is uniquely displayed in the Web app\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\"\n ]\n }\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"service_reference\"\n ]\n }\n }\n }\n ]\n },\n \"created_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"The date/time when this integration was created.\",\n \"readOnly\": true\n },\n \"vendor\": {\n \"allOf\": [\n {\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"readOnly\": true\n },\n \"summary\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"description\": \"A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier.\"\n },\n \"type\": {\n \"type\": \"string\",\n \"readOnly\": true,\n \"description\": \"A string that determines the schema of the object. This must be the standard name for the entity, suffixed by `_reference` if the object is a reference.\"\n },\n \"self\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"format\": \"url\",\n \"description\": \"the API show URL at which the object is accessible\"\n },\n \"html_url\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"readOnly\": true,\n \"format\": \"url\",\n \"description\": \"a URL at which the entity is uniquely displayed in the Web app\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\"\n ]\n }\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"vendor_reference\"\n ]\n }\n }\n }\n ]\n },\n \"integration_email\": {\n \"type\": \"string\",\n \"description\": \"Specify for generic_email_inbound_integration. Must be set to an email address @your-subdomain.pagerduty.com\"\n },\n \"email_incident_creation\": {\n \"type\": \"string\",\n \"description\": \"Specify for generic_email_inbound_integration\",\n \"enum\": [\n \"on_new_email\",\n \"on_new_email_subject\",\n \"only_if_no_open_incidents\",\n \"use_rules\"\n ]\n },\n \"email_filter_mode\": {\n \"type\": \"string\",\n \"description\": \"Specify for generic_email_inbound_integration. May override email_incident_creation\",\n \"enum\": [\n \"all-email\",\n \"or-rules-email\",\n \"and-rules-email\"\n ]\n },\n \"email_parsers\": {\n \"type\": \"array\",\n \"description\": \"Specify for generic_email_inbound_integration.\",\n \"uniqueItems\": true,\n \"minItems\": 1,\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"action\": {\n \"type\": \"string\",\n \"enum\": [\n \"trigger\",\n \"resolve\"\n ]\n },\n \"match_predicate\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"all\",\n \"any\",\n \"not\",\n \"contains\",\n \"exactly\",\n \"regex\"\n ]\n },\n \"matcher\": {\n \"type\": \"string\",\n \"description\": \"Required if the type is `contains`, `exactly` or `regex`.\",\n \"minLength\": 1\n },\n \"part\": {\n \"type\": \"string\",\n \"description\": \"The email field that will attempt to use the matcher expression. Required if the type is `contains`, `exactly` or `regex`.\",\n \"enum\": [\n \"body\",\n \"subject\",\n \"from_addresses\"\n ]\n },\n \"children\": {\n \"type\": \"array\",\n \"description\": \"Additional matchers to be run. Must be not empty if the type is `all`, `any`, or `not`.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/MatchPredicate\",\n \"has_circular_reference\": true\n }\n }\n },\n \"required\": [\n \"type\",\n \"part\",\n \"children\"\n ]\n },\n \"value_extractors\": {\n \"type\": \"array\",\n \"description\": \"Additional values that will be pulled in to the Incident object. Exactly one value extractor must have a `value_name` of `incident_key`.\",\n \"uniqueItems\": true,\n \"minItems\": 1,\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"entire\",\n \"regex\",\n \"between\"\n ]\n },\n \"part\": {\n \"type\": \"string\",\n \"enum\": [\n \"body\",\n \"subject\",\n \"from_addresses\"\n ]\n },\n \"value_name\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"description\": \"The field name to set in the Incident object. Exactly one must use the `value_name` of `incident_key`\"\n },\n \"regex\": {\n \"type\": \"string\"\n },\n \"starts_after\": {\n \"type\": \"string\"\n },\n \"ends_with\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"part\",\n \"value_name\"\n ]\n }\n }\n },\n \"required\": [\n \"action\",\n \"match_predicate\"\n ]\n }\n },\n \"email_parsing_fallback\": {\n \"type\": \"string\",\n \"description\": \"Specify for generic_email_inbound_integration.\",\n \"enum\": [\n \"open_new_incident\",\n \"discard\"\n ]\n },\n \"email_filters\": {\n \"type\": \"array\",\n \"description\": \"Specify for generic_email_inbound_integration.\",\n \"uniqueItems\": true,\n \"minItems\": 1,\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"subject_mode\": {\n \"type\": \"string\",\n \"enum\": [\n \"match\",\n \"no-match\",\n \"always\"\n ]\n },\n \"subject_regex\": {\n \"type\": \"string\",\n \"description\": \"Specify if subject_mode is set to match or no-match\"\n },\n \"body_mode\": {\n \"type\": \"string\",\n \"enum\": [\n \"match\",\n \"no-match\",\n \"always\"\n ]\n },\n \"body_regex\": {\n \"type\": \"string\",\n \"description\": \"Specify if body_mode is set to match or no-match\"\n },\n \"from_email_mode\": {\n \"type\": \"string\",\n \"enum\": [\n \"match\",\n \"no-match\",\n \"always\"\n ]\n },\n \"from_email_regex\": {\n \"type\": \"string\",\n \"description\": \"Specify if from_email_mode is set to match or no-match\"\n }\n },\n \"required\": [\n \"subject_mode\",\n \"body_mode\",\n \"from_email_mode\"\n ]\n },\n \"required\": [\n \"type\",\n \"name\"\n ]\n }\n }\n }\n ]\n }\n },\n \"required\": [\n \"integration\"\n ]\n },\n \"examples\": {\n \"email_integration\": {\n \"summary\": \"Request Example for Email Integration\",\n \"value\": {\n \"integration\": {\n \"type\": \"generic_email_inbound_integration\",\n \"name\": \"Email\",\n \"service\": {\n \"id\": \"PQL78HM\",\n \"type\": \"service_reference\"\n },\n \"integration_email\": \"my-email-based-integration@subdomain.pagerduty.com\",\n \"vendor\": {\n \"type\": \"vendor_reference\",\n \"id\": \"PZD94QK\"\n }\n }\n }\n },\n \"email_integration_with_filters\": {\n \"summary\": \"Email Integration With Filters\",\n \"value\": {\n \"integration\": {\n \"type\": \"generic_email_inbound_integration\",\n \"name\": \"Email with Filters\",\n \"integration_email\": \"your-service@subdomain.pd-staging.com\",\n \"email_incident_creation\": \"on_new_email_subject\",\n \"email_filter_mode\": \"or-rules-email\",\n \"email_parsers\": [\n {\n \"action\": \"trigger\",\n \"match_predicate\": {\n \"type\": \"any\",\n \"matcher\": \"this thing\",\n \"part\": \"body\",\n \"children\": []\n },\n \"value_extractors\": [\n {\n \"type\": \"entire\",\n \"part\": \"body\",\n \"value_name\": \"incident_key\"\n }\n ]\n }\n ],\n \"email_parsing_fallback\": \"discard\",\n \"email_filters\": [\n {\n \"subject_mode\": \"match\",\n \"subject_regex\": \"alert\",\n \"body_mode\": \"match\",\n \"body_regex\": \"alert\",\n \"from_email_mode\": \"match\",\n \"from_email_regex\": \"alert\"\n }\n ]\n }\n }\n },\n \"events_v2_integration\": {\n \"summary\": \"Request Example for Events v2 Integration\",\n \"value\": {\n \"integration\": {\n \"type\": \"events_api_v2_inbound_integration\",\n \"name\": \"Events V2\",\n \"service\": {\n \"id\": \"PQL78HM\",\n \"type\": \"service_reference\"\n }\n }\n }\n }\n }\n }\n },\n \"description\": \"The integration to be created\"\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": false
}
}