Skip to main content
Glama

Apply a automation

action1_create_automation_instance
Destructive

Run an automation instance on specified endpoints or groups to apply actions like scripts, updates, or reboots, with retry and preview safeguards.

Instructions

Apply a automation. Immediately runs an instance of the automation on the specified endpoints in the specified. Perm: run_automations.

Input Schema

NameRequiredDescriptionDefault
bodyYesRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescriptionDefault
idNo
nameNo
selfNo
toolNo
typeNo
statusNo
actionsNo
dry_runNo
end_timeNo
scheduleNo
endpointsNo
start_timeNo
would_sendNo
retry_minutesNo
endpoint_resultsNo
percent_completedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed22 schema fields changedv0.6.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / body / description
      Previous value: -"Request body (schema: object)"New value: +"Request body"
    • addedInput schema / properties / body / properties
      Added value: +{
      +  "actions": {
      +    "description": "One automation can contain multiple actions.",
      +    "items": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "params": {
      +              "additionalProperties": {},
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "template_id": {
      +              "const": "deploy_update",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_id",
      +            "name",
      +            "params"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "params": {
      +              "additionalProperties": {},
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "template_id": {
      +              "const": "deploy_package",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_id",
      +            "name",
      +            "params"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "params": {
      +              "additionalProperties": {},
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "template_id": {
      +              "const": "uninstall_program",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_id",
      +            "name",
      +            "params"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "params": {
      +              "additionalProperties": {},
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "template_id": {
      +              "const": "run_script",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_id",
      +            "name",
      +            "params"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "params": {
      +              "additionalProperties": {},
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "template_id": {
      +              "const": "reboot",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_id",
      +            "name",
      +            "params"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "params": {
      +              "additionalProperties": {},
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "template_id": {
      +              "const": "update_ring",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_id",
      +            "name",
      +            "params"
      +          ],
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "type": "array"
      +  },
      +  "endpoints": {
      +    "description": "IDs of endpoints and/or groups to run this batch on.",
      +    "items": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "id": {
      +          "type": "string"
      +        },
      +        "type": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "name": {
      +    "description": "The automation name.",
      +    "type": "string"
      +  },
      +  "retry_minutes": {
      +    "description": "The number of minutes to keep trying to run on disconnected/powered off endpoints.",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / body / required
      Added value: +[
      +  "name",
      +  "retry_minutes",
      +  "actions",
      +  "endpoints"
      +]
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +{}
    • addedOutput schema / properties / actions
      Added value: +{}
    • addedOutput schema / properties / dry_run
      Added value: +{}
    • addedOutput schema / properties / end_time
      Added value: +{}
    • addedOutput schema / properties / endpoint_results
      Added value: +{}
    • addedOutput schema / properties / endpoints
      Added value: +{}
    • addedOutput schema / properties / id
      Added value: +{}
    • addedOutput schema / properties / name
      Added value: +{}
    • addedOutput schema / properties / percent_completed
      Added value: +{}
    • addedOutput schema / properties / retry_minutes
      Added value: +{}
    • addedOutput schema / properties / schedule
      Added value: +{}
    • addedOutput schema / properties / self
      Added value: +{}
    • addedOutput schema / properties / start_time
      Added value: +{}
    • addedOutput schema / properties / status
      Added value: +{}
    • addedOutput schema / properties / tool
      Added value: +{}
    • addedOutput schema / properties / type
      Added value: +{}
    • addedOutput schema / properties / would_send
      Added value: +{}
  2. First observedv0.5.0

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, openWorld=true, and idempotent=false, and the description is consistent with that by saying it runs immediately. It adds the permission requirement, but omits the crucial safety flow baked into the schema: dry_run defaults to true and confirm="YES" is required to actually execute. Given annotation coverage, this is a partial contribution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loaded with the action, which is good, but the second sentence is grammatically broken and cut off ('in the specified.'), wasting the one sentence that should carry scope and target detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, and the schema fully documents parameters. Still, for a destructive, non-idempotent batch execution tool with nested action objects, the description should mention the preview-by-default/confirm-to-execute behavior and the fact that endpoints accepts groups as well as individual endpoints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every nested field (name, actions, endpoints, retry_minutes, org_id, confirm, dry_run) is documented in the schema itself. The description adds no syntax, format, or constraint detail beyond what the schema already states, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The second sentence gives a real verb+resource: it 'immediately runs an instance of the automation' on endpoints, which is clearer than the vague 'Apply a automation'. However the sentence is truncated ('in the specified.'), and nothing distinguishes this from siblings such as action1_execute_and_wait, action1_create_automation_schedule, or the individual run_script/deploy_update tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies the required permission ('Perm: run_automations'), but gives no when-to-use guidance, no exclusions, and no routing to alternatives like creating a schedule instead of running immediately. The agent must infer that this is the one-shot execution path from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools