Skip to main content
Glama

Define field value

define_enum_value
DestructiveIdempotent

Add, relabel, recolor, reposition, archive or reorder the values of a built-in pick-list field (e.g. account.lifecycle_stage, opportunity.type, subscription.status, touch.type, task.priority — the fields describe_schema lists with values). A value_key that already exists is UPDATED in place: only the fields you send change (label, color, position, archived); its key and semantic role never change. A new key needs a label, and on a behavior-driving field a NEW value must pick a semantic_role. archived:true retires a value from new picks while stored data stays valid (archived:false restores it; nothing is deleted). Or send order alone — the field's COMPLETE value_key list, archived keys included — to set the whole order in one atomic call. Changes apply immediately. Returns the stored value, or the field's values in their new order.

When to use: When an admin wants a new, renamed, recolored, reordered or retired value for a field like lifecycle_stage, opportunity type, or touch type. New behavior-field values pick a semantic role; archiving is reversible.

Example: Add a 'pilot' lifecycle stage that means active_customer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorNoOptional hex color for the value's chip, e.g. "#2563eb"; display only. Null clears the color; omitting it keeps an existing value's color.
fieldYesThe enum field's key on that object, e.g. lifecycle_stage, type, status, priority; describe_schema lists each field's values.
labelNoDisplay label. Required for a NEW value (its slug becomes the value_key unless value_key is set); on an existing value_key it relabels. Omit to leave a label as is.
orderNoReorder form: the field's COMPLETE value_key list in the wanted order (every current key exactly once, archived ones included — describe_schema lists them). Send it alone with object_type + field; a partial or unknown list is refused with the current keys.
archivedNotrue retires an existing value from new picks (stored data keeps it, reversible); false restores it. Omit to leave the state as is; a new value is never born archived.
positionNo0-based sort position among the field's values, lower first. A new value defaults to 0; omitting it keeps an existing value's position. To set the whole order, use `order` instead.
value_keyNoStable machine key (lowercase, underscores). Defaults to the slugified label; pass an existing key to relabel, recolor, reposition, archive or restore that value.
object_typeYesBuilt-in object owning the enum field, e.g. account, opportunity, subscription, touch, task, lead.
semantic_roleNoMeaning anchor, required only for a NEW value on a behavior-driving field: account.lifecycle_stage takes prospect / active_customer / at_risk / churned / dormant, opportunity.type takes new / post_sale, subscription.status takes live / inactive; the refusal names that field's allowed roles. Locked once a value exists. Omit or null for every other field.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
orderNo
valuesNo
updatedNo
enum_valueNo
current_keysNo
known_fieldsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare the safety profile (readOnly=false, destructive=true, idempotent=true); the description goes well beyond by explaining in-place update semantics ('only the fields you send change'), that the key and semantic role are immutable, that archiving is reversible and 'nothing is deleted', that `order` is atomic, and that changes apply immediately. This is exactly the extra behavioral context the annotations cannot convey.

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 verb/resource statement, then cleanly sectioned into update semantics, ordering, archiving, and a 'When to use' + 'Example' block. It is long for a tool description and overlaps noticeably with the already-rich schema text, which keeps it out of 5 territory.

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

Completeness5/5

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

For a 9-parameter, high-consequence mutation tool, the description covers the update-vs-create distinction, the semantic_role prerequisite, the atomic order contract, reversibility, and immediacy of effect. An output schema exists and the annotations carry the safety profile, so nothing an agent needs before invoking is missing.

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 coverage is 100% and the parameter descriptions are themselves very detailed (color null-clearing, complete order list, position-vs-order, semantic_role per field), so the prose largely restates the schema rather than adding syntax or format meaning. The one genuine addition is the worked example tying label+semantic_role together, which is why this sits at the baseline 3 rather than lower.

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

Purpose5/5

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

Opens with a specific verb set (add, relabel, recolor, reposition, archive, reorder) applied to a precisely scoped resource: the values of a built-in pick-list field, with concrete examples (account.lifecycle_stage, opportunity.type). An agent can distinguish this from sibling field tools like define_field or update_field without opening any schema.

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

Usage Guidelines4/5

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

The 'When to use' block gives clear triggering context (an admin wants a new, renamed, recolored, reordered or retired value) and repeats the semantic_role requirement for behavior fields. It also clarifies the order-vs-position split. It never names a sibling alternative (e.g. update_field, archive_field) or an exclusion, so it stops short of a 5.

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