Skip to main content
Glama

CRM: Define field

crm_define_field
Destructive

Create or change one of the workspace's lead fields. New field: key (a-z, 0-9, _; 2–40 chars), label_uk, type, options for enum/multi_enum. Existing field: change labels / filterable / indexed / required / order, add options ('add_options'), remove options ('remove_options'), change 'type', or 'archived': true. A change that touches stored values (type change, removing a used option, archiving) reports how many leads it affects; values that cannot be kept need 'drop_unconvertible': true. dry_run=true returns that impact without writing. Proposed for confirmation like every write. At most 50 fields, 10 indexed. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "key": "<key>"
    },
    "name": "crm_define_field"
  }
}

Input Schema

NameRequiredDescriptionDefault
keyYes
typeNo
orderNo
dry_runNo
indexedNo
optionsNo
archivedNo
label_enNo
label_ukNo
requiredNo
filterableNo
add_optionsNo
remove_optionsNo
drop_unconvertibleNo

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 already declare destructiveHint=true and readOnlyHint=false, but the description goes well beyond them: it discloses the two-phase confirmation protocol (status='confirmation_required', action_id, plan_token, then confirm_action), that a change touching stored values reports affected-lead counts, and that values which cannot be kept require explicit opt-in. This is exactly the behavioral context an agent needs before invoking a destructive write.

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-loads the create-vs-change split, then terse colon-delimited lists of arguments, then impact/dry_run semantics, then the confirmation protocol — a sensible information hierarchy. Some sentences are dense run-ons with parenthetical fragments, but nearly every clause carries operational meaning.

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 14-parameter destructive mutation with no output schema, the description covers the confirmation lifecycle, impact reporting, and workspace limits, which are the highest-risk unknowns. The remaining gap is minor parameter coverage (label_en) and return-shape detail, though the confirmation response fields are named.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry the load, and it mostly does: it explains key format and length rules, label_uk, type, options for enum/multi_enum, the label/filterable/indexed/required/order mutations, add_options/remove_options, archived, drop_unconvertible, and dry_run. It omits label_en entirely, and does not enumerate the nine permitted type values that the schema only implies via enum.

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?

Opens with a specific verb+resource: "Create or change one of the workspace's lead fields," and immediately splits into "New field" and "Existing field" modes so an agent knows which parameter set applies. It does not explicitly distinguish itself from neighboring CRM tools (e.g., crm_list_fields or crm_pipeline_define), which keeps it short of a 5.

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

Usage Guidelines5/5

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

Gives explicit conditional guidance: which arguments to supply for a new field versus an existing one, which mutations affect stored values, when 'drop_unconvertible' is required, and when to use dry_run=true to preview impact. It also states the hard limits (50 fields, 10 indexed) that constrain when this call can succeed, and routes the agent to confirm_action for execution.

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