arcade-mcp/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateUnroutedEventRules.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

208 lines
34 KiB
JSON

{
"name": "UpdateUnroutedEventRules",
"fully_qualified_name": "PagerdutyApi.UpdateUnroutedEventRules@2.0.0",
"description": "Update rules for Unrouted events in Global Event Orchestration.\n\nThis tool updates the rules for handling Unrouted events in a Global Event Orchestration. Use it when you need to modify how unrouted events are processed, without routing them to a specific service. The tool evaluates events against its rules and can modify or enhance them for further processing.",
"toolkit": {
"name": "ArcadePagerdutyApi",
"description": null,
"version": "2.0.0"
},
"input": {
"parameters": [
{
"name": "event_orchestration_id",
"required": true,
"description": "The unique identifier for the Event Orchestration to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of an Event Orchestration."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "version_accept_header",
"required": true,
"description": "The `Accept` header specifying the versioning format of the API response.",
"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 media type of the resource. Use 'application/json'.",
"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": "unrouted_event_rules_updates",
"required": false,
"description": "JSON object with updates to Unrouted Orchestration rules. Omitted rules and details are deleted.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Updates to Unrouted Orchestration rules. Omitted rules and rule details are deleted."
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'updateOrchPathUnrouted'.",
"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/event_orchestrations/{id}/unrouted",
"http_method": "PUT",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "event_orchestration_id",
"description": "The ID of an Event Orchestration.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of an Event Orchestration."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "Accept",
"tool_parameter_name": "version_accept_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": "unrouted_event_rules_updates",
"description": "Updates to Unrouted Orchestration rules. Omitted rules and rule details are deleted.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Updates to Unrouted Orchestration rules. Omitted rules and rule details are deleted."
},
"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 \"description\": \"Updates to Unrouted Orchestration rules. Omitted rules and rule details are deleted.\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"orchestration_path\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"default\": \"service\",\n \"readOnly\": true\n },\n \"parent\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID of the object these Orchestration Rules belongs to.\",\n \"readOnly\": true\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"A string that determines the schema of the parent object\",\n \"readOnly\": true\n },\n \"self\": {\n \"type\": \"string\",\n \"format\": \"url\",\n \"description\": \"The API show URL at which the parent object is accessible\",\n \"readOnly\": true\n }\n },\n \"readOnly\": true\n },\n \"sets\": {\n \"type\": \"array\",\n \"description\": \"Must contain at least a \\\"start\\\" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph of rules.\",\n \"items\": {\n \"type\": \"object\",\n \"description\": \"A set of rules\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"The ID of this set of rules. Rules in other sets can route events into this set using the \\\"route_to\\\" properties.\",\n \"default\": \"start\"\n },\n \"rules\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID of the rule\",\n \"readOnly\": true\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"A description of this rule's purpose.\"\n },\n \"conditions\": {\n \"type\": \"array\",\n \"description\": \"Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if **any** of these conditions match.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"expression\": {\n \"type\": \"string\",\n \"description\": \"A PCL condition string\",\n \"example\": \"event.summary matches part 'my service error'\"\n }\n }\n }\n },\n \"actions\": {\n \"type\": \"object\",\n \"description\": \"When an event matches this rule, these are the actions that will be taken to change the resulting alert and incident.\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"description\": \"Indicates whether the rule is disabled and would therefore not be evaluated.\"\n }\n }\n }\n }\n }\n }\n },\n \"catch_all\": {\n \"type\": \"object\",\n \"description\": \"When none of the Rules in a set match an event, we apply the catch_all actions to the event.\",\n \"properties\": {\n \"actions\": {\n \"type\": \"object\",\n \"description\": \"These are the actions that will be taken to change the resulting alert and incident.\"\n }\n }\n },\n \"created_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"The date/time the object was created.\",\n \"readOnly\": true\n },\n \"created_by\": {\n \"type\": \"object\",\n \"description\": \"Reference to the user that created the object.\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"readOnly\": true\n },\n \"type\": {\n \"type\": \"string\",\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 \"readOnly\": true\n },\n \"self\": {\n \"type\": \"string\",\n \"format\": \"url\",\n \"description\": \"The API show URL at which the object is accessible\",\n \"readOnly\": true\n }\n },\n \"readOnly\": true\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"The date/time the object was last updated.\",\n \"readOnly\": true\n },\n \"updated_by\": {\n \"type\": \"object\",\n \"description\": \"Reference to the user that last updated the object.\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"readOnly\": true\n },\n \"type\": {\n \"type\": \"string\",\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 \"readOnly\": true\n },\n \"self\": {\n \"type\": \"string\",\n \"format\": \"url\",\n \"description\": \"The API show URL at which the object is accessible\",\n \"readOnly\": true\n }\n },\n \"readOnly\": true\n },\n \"version\": {\n \"type\": \"string\",\n \"description\": \"Version of these Orchestration Rules\",\n \"readOnly\": true\n }\n }\n }\n },\n \"required\": [\n \"orchestration_path\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"orchestration_path\": {\n \"properties\": {\n \"type\": {\n \"description\": \"Indicates that these are a \\\"unrouted\\\" type set of rules.\",\n \"default\": \"unrouted\"\n },\n \"parent\": {\n \"properties\": {\n \"id\": {\n \"description\": \"ID of the Global Event Orchestration this Unrouted Orchestration belongs to.\"\n },\n \"type\": {\n \"enum\": [\n \"event_orchestration_reference\"\n ]\n }\n }\n },\n \"sets\": {\n \"description\": \"An Unrouted Orchestration must contain at least a \\\"start\\\" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.\",\n \"items\": {\n \"properties\": {\n \"rules\": {\n \"items\": {\n \"properties\": {\n \"actions\": {\n \"allOf\": [\n {\n \"properties\": {\n \"route_to\": {\n \"type\": \"string\",\n \"description\": \"The ID of a Set from this Unrouted Orchestration whose rules you also want to use with event that match this rule.\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"severity\": {\n \"type\": \"string\",\n \"description\": \"Set the severity of the resulting alert.\",\n \"enum\": [\n \"info\",\n \"error\",\n \"warning\",\n \"critical\"\n ]\n },\n \"event_action\": {\n \"type\": \"string\",\n \"description\": \"Set whether the resulting alert status is trigger or resolve.\",\n \"enum\": [\n \"trigger\",\n \"resolve\"\n ]\n },\n \"variables\": {\n \"type\": \"array\",\n \"description\": \"Populate variables from event payloads and use those variables in other event actions.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of the variable\",\n \"example\": \"server_name\"\n },\n \"path\": {\n \"type\": \"string\",\n \"description\": \"Path to a field in an event, in dot-notation.\",\n \"example\": \"event.summary\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"The type of operation to populate the variable. Currently only Regex-based variable extraction is supported.\",\n \"enum\": [\n \"regex\"\n ]\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"A RE2 regular expression. If it contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used.\",\n \"example\": \"High CPU on (.*) server\"\n }\n }\n }\n },\n \"extractions\": {\n \"type\": \"array\",\n \"description\": \"Dynamically extract values to set and modify new and existing PD-CEF fields.\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"description\": \"Use a template string & variables\",\n \"properties\": {\n \"target\": {\n \"type\": \"string\",\n \"description\": \"The PD-CEF field that will be set with the value from the template.\",\n \"example\": \"event.summary\"\n },\n \"template\": {\n \"type\": \"string\",\n \"description\": \"A value that will be used to populate the target PD-CEF field. You can include variables extracted from the payload by using string interpolation.\",\n \"example\": \"High CPU on {{hostname}} server\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"description\": \"Use a regex to extract a value\",\n \"properties\": {\n \"target\": {\n \"type\": \"string\",\n \"description\": \"The PD-CEF field that will be set with the value from the regex.\",\n \"example\": \"event.custom_details.server\"\n },\n \"regex\": {\n \"type\": \"string\",\n \"description\": \"A RE2 regular expression. If it contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used.\",\n \"example\": \"High CPU on (.*) server\"\n },\n \"source\": {\n \"type\": \"string\",\n \"description\": \"The path to the event field where the regex will be applied to extract a value.\",\n \"example\": \"event.summary\"\n }\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n }\n }\n }\n }\n },\n \"catch_all\": {\n \"properties\": {\n \"actions\": {\n \"type\": \"object\",\n \"properties\": {\n \"severity\": {\n \"type\": \"string\",\n \"description\": \"Set the severity of the resulting alert.\",\n \"enum\": [\n \"info\",\n \"error\",\n \"warning\",\n \"critical\"\n ]\n },\n \"event_action\": {\n \"type\": \"string\",\n \"description\": \"Set whether the resulting alert status is trigger or resolve.\",\n \"enum\": [\n \"trigger\",\n \"resolve\"\n ]\n },\n \"variables\": {\n \"type\": \"array\",\n \"description\": \"Populate variables from event payloads and use those variables in other event actions.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of the variable\",\n \"example\": \"server_name\"\n },\n \"path\": {\n \"type\": \"string\",\n \"description\": \"Path to a field in an event, in dot-notation.\",\n \"example\": \"event.summary\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"The type of operation to populate the variable. Currently only Regex-based variable extraction is supported.\",\n \"enum\": [\n \"regex\"\n ]\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"A RE2 regular expression. If it contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used.\",\n \"example\": \"High CPU on (.*) server\"\n }\n }\n }\n },\n \"extractions\": {\n \"type\": \"array\",\n \"description\": \"Dynamically extract values to set and modify new and existing PD-CEF fields.\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"description\": \"Use a template string & variables\",\n \"properties\": {\n \"target\": {\n \"type\": \"string\",\n \"description\": \"The PD-CEF field that will be set with the value from the template.\",\n \"example\": \"event.summary\"\n },\n \"template\": {\n \"type\": \"string\",\n \"description\": \"A value that will be used to populate the target PD-CEF field. You can include variables extracted from the payload by using string interpolation.\",\n \"example\": \"High CPU on {{hostname}} server\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"description\": \"Use a regex to extract a value\",\n \"properties\": {\n \"target\": {\n \"type\": \"string\",\n \"description\": \"The PD-CEF field that will be set with the value from the regex.\",\n \"example\": \"event.custom_details.server\"\n },\n \"regex\": {\n \"type\": \"string\",\n \"description\": \"A RE2 regular expression. If it contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used.\",\n \"example\": \"High CPU on (.*) server\"\n },\n \"source\": {\n \"type\": \"string\",\n \"description\": \"The path to the event field where the regex will be applied to extract a value.\",\n \"example\": \"event.summary\"\n }\n }\n }\n ]\n }\n }\n }\n }\n }\n }\n }\n }\n },\n \"example\": {\n \"orchestration_path\": {\n \"type\": \"unrouted\",\n \"parent\": {\n \"id\": \"b02e973d-9620-4e0a-9edc-00fedf7d4694\",\n \"self\": \"https://api.pagerduty.com/event_orchestrations/b02e973d-9620-4e0a-9edc-00fedf7d4694\",\n \"type\": \"event_orchestration_reference\"\n },\n \"self\": \"https://api.pagerduty.com/event_orchestrations/b02e973d-9620-4e0a-9edc-00fedf7d4694/router\",\n \"sets\": [\n {\n \"id\": \"start\",\n \"rules\": [\n {\n \"label\": \"Update the summary of un-matched Critical alerts so they're easier to spot\",\n \"id\": \"38880ffb\",\n \"conditions\": [\n {\n \"expression\": \"event.severity matches 'critical'\"\n }\n ],\n \"actions\": {\n \"extractions\": [\n {\n \"target\": \"event.summary\",\n \"template\": \"[Critical Unrouted] {{event.summary}}\"\n }\n ]\n }\n },\n {\n \"label\": \"Reduce the severity of all other unrouted events\",\n \"id\": \"3896801e\",\n \"conditions\": [],\n \"actions\": {\n \"severity\": \"info\"\n }\n }\n ]\n }\n ],\n \"catch_all\": {\n \"actions\": {\n \"suppress\": true\n }\n },\n \"created_at\": \"2021-11-18T16:42:01Z\",\n \"created_by\": {\n \"id\": \"P8B9WR8\",\n \"self\": \"https://api.pagerduty.com/users/P8B9WR8\",\n \"type\": \"user_reference\"\n },\n \"updated_at\": \"2021-11-18T16:42:01Z\",\n \"updated_by\": {\n \"id\": \"P8B9WR8\",\n \"self\": \"https://api.pagerduty.com/users/P8B9WR8\",\n \"type\": \"user_reference\"\n },\n \"version\": \"aZO.EEf9zWb9Vg0NYq.Uqad1hOC2Maod\"\n }\n }\n }\n ]\n },\n \"examples\": {\n \"request\": {\n \"summary\": \"Example Request\",\n \"value\": {\n \"orchestration_path\": {\n \"sets\": [\n {\n \"id\": \"start\",\n \"rules\": [\n {\n \"label\": \"Update the summary of un-matched Critical alerts so they're easier to spot\",\n \"id\": \"38880ffb\",\n \"conditions\": [\n {\n \"expression\": \"event.severity matches 'critical'\"\n }\n ],\n \"actions\": {\n \"extractions\": [\n {\n \"target\": \"event.summary\",\n \"template\": \"[Critical Unrouted] {{event.summary}}\"\n }\n ]\n }\n },\n {\n \"label\": \"Reduce the severity of all other unrouted events\",\n \"id\": \"3896801e\",\n \"conditions\": [],\n \"actions\": {\n \"severity\": \"info\"\n }\n }\n ]\n }\n ],\n \"catch_all\": {\n \"actions\": {\n \"suppress\": true\n }\n }\n }\n }\n }\n }\n }\n }\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}