Skip to main content
Glama

Update Config Field Definition

updateConfigFieldDefinition
Destructive

Edit a Policy question: its label, question, guidance, example answer, section, the roles that answer it, the options of a select or multiSelect field, and the columns of an unanswered table field a person added. A reworded question gets a new version, and a new section moves the field to that section's end. The type of a field added through the API can change while it has no answer; a field from the module template keeps its type. The answer is never changed, and a module template reinstall keeps the edit.

Input Schema

NameRequiredDescriptionDefault
keyNoNew code, only for a field added to this automation that no Agent or Code step reads yet
typeNoNew value type, only for a field added through the API that has no answer yet
labelNoShort name for the field, shown as its row heading
rolesNoKeys of the process roles whose holders answer this question; replaces the whole list, and empty means anyone
columnsNoTable fields only, while the field has no answer; replaces the whole list
exampleNoNew example answer, or null to remove it
optionsNoSelect and multiSelect fields only; replaces the whole list
sectionNoSection to move the field to the end of, or null for none
field_idYesThe config field's unique identifier
guidanceNoNew guidance on what to fill in, in plain sentences, or null to remove it
questionNoNew question; a reworded question gets a new version
automation_idYesThe automation's unique identifier

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / example
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "An example answer to the question",
      +      "maxLength": 500,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "New example answer, or null to remove it"
      +}
    • addedInput schema / properties / guidance
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "What to fill in for the question, in plain sentences",
      +      "maxLength": 2000,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "New guidance on what to fill in, in plain sentences, or null to remove it"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / roles
      Added value: +{
      +  "description": "Keys of the process roles whose holders answer this question; replaces the whole list, and empty means anyone",
      +  "items": {
      +    "maxLength": 120,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 100,
      +  "type": "array"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / key
      Added value: +{
      +  "description": "New code, only for a field added to this automation that no Agent or Code step reads yet",
      +  "maxLength": 120,
      +  "minLength": 1,
      +  "pattern": "^[a-z0-9][a-z0-9_]*$",
      +  "type": "string"
      +}
    • removedInput schema / properties / required
      Removed value: -{
      -  "description": "Whether the field must be filled",
      -  "type": "boolean"
      -}
  4. Changed2 schema fields changed
    • addedInput schema / properties / columns
      Added value: +{
      +  "description": "Table fields only, while the field has no answer; replaces the whole list",
      +  "items": {
      +    "maxLength": 100,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "freeText",
      -  "identifier",
      -  "number",
      -  "select",
      -  "multiSelect",
      -  "list",
      -  "orderedList",
      -  "personList"
      -]New value: +[
      +  "freeText",
      +  "identifier",
      +  "number",
      +  "select",
      +  "multiSelect",
      +  "list",
      +  "orderedList",
      +  "personList",
      +  "table"
      +]
  5. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, readOnlyHint=false and idempotentHint=false, but the description adds meaningful side-effect context: rewording spawns a new version, a new section relocates the field to that section's end, answers are never modified, and template reinstall preserves the edit. It stops short of stating required permissions, keeping it at a strong 4 rather than 5.

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

Conciseness4/5

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

Front-loaded with the edit scope, then the behavioral constraints, with essentially no filler. It is dense and slightly long, but each sentence carries distinct information; only minor tightening is possible.

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

Completeness4/5

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

For a 12-parameter mutation with no output schema, the description supplies the versioning, ordering, and immutability semantics an agent needs to call it safely. It omits what the call returns and any permission requirements, which keeps it from a 5.

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%, so the schema already documents every parameter thoroughly. The description mostly restates the same fields and adds only minor nuance (columns belong to 'an unanswered table field a person added'), which does not meaningfully extend the schema. Baseline 3 applies.

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

Purpose4/5

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

Names a specific verb (Edit) plus resource (a Policy question / config field definition) and enumerates the editable facets (label, question, guidance, example, section, roles, options, columns). It is clear what the tool does, but it never distinguishes itself from the very close sibling updateConfigField, leaving the agent to guess which update variant applies.

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

Usage Guidelines3/5

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

Usage is only implied through conditional constraints (reworded question gets a new version, API-added field's type can change, template field keeps its type). There is no explicit statement of when to reach for this tool versus updateConfigField or addConfigField, so the agent must infer the situation.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources