Skip to main content
Glama

Queue Proposed Change

queue_action

Propose ONE field change on ONE named record into the review queue, for a person to approve or reject. Nothing reaches the CRM: the row waits until somebody decides on it, and you cannot approve it yourself. This is the tool for a change you have worked out per record -- 'set this contact's status', 'put the churn context on this account' -- where a run over a filter would be the wrong shape because the records do not share one predicate. IT RUNS ONLY AS A STEP OF A PLAN: the plan a person confirmed is the explanation the reviewer reads beside the row, so a direct call is refused. Put it in a plan with create_plan. USE A RUN INSTEAD FOR A POPULATION: create_mass_update_run with disposition 'propose' queues the same kind of review row for every record matching a filter, in one step, and is cheaper and clearer than calling this once per record. FIELD NAMES ARE THE CANONICAL ONES list_filterable_fields returns, not the CRM's API names; they are translated here, and a field this connection cannot write is refused now rather than after somebody has approved it. UPDATES ONLY, on contacts, accounts and leads. It creates nothing and deletes nothing. THE REASONING IS NOT DECORATION: it is what the reviewer reads to decide, so say what changed and why rather than restating the field name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
reasoningYesWhy this change, in the reviewer's terms. Shown on the queue row.
record_idYesThe CRM's own id for the record. get_crm_record reads one by id.
object_typeYesWhich object the record is.
connection_idYesThe CRM connection. Call list_crm_connections first.
field_changesYesCanonical field name to the value to write, as list_filterable_fields names them. At least one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already indicate a non-read-only, non-destructive, closed-world tool, and the description adds critical behavior: nothing reaches the CRM, the row waits for a human, the caller cannot approve it, it runs only inside a confirmed plan, and unwritable fields are refused immediately. These disclosures go well beyond the annotations and do not contradict them.

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?

The description is long but front-loaded: it states the core action first, then plan requirements, alternatives, field naming rules, and scope constraints. The all-caps callouts make it scannable, though the length is close to over-specified for an agent-facing description.

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?

Given the tool's complexity, required plan-only execution, human review workflow, nested field_changes object, and lack of an output schema, the description is complete enough. It covers what the tool does, when it is refused, what it will not do, and what the reviewer will see.

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 coverage is 100%, so the schema already documents all five parameters. The description still adds meaningful semantics: field names must be canonical names from list_filterable_fields, they are translated here, and reasoning is reviewer-facing text rather than a restatement of the field name. It is not fully comprehensive for every parameter, but it meaningfully supplements the schema.

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?

The description states a specific action: propose ONE field change on ONE named record into the review queue for human approve/reject. It also clearly distinguishes the tool from population-based siblings like create_mass_update_run, so an agent can identify when this tool is the right shape.

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?

It gives explicit when-to-use and when-not-to-use guidance: direct calls are refused, it must run as a step in a plan created with create_plan, and create_mass_update_run is named as the better alternative for populations. It also states the supported object scope: contacts, accounts, and leads only.

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.