relm_update
Patch a record. Pass if_match (the record's current version) for optimistic concurrency; a 412 means re-fetch and retry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| patch | Yes | ||
| object | Yes | Which core object. | |
| if_match | No |
Patch a record. Pass if_match (the record's current version) for optimistic concurrency; a 412 means re-fetch and retry.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| patch | Yes | ||
| object | Yes | Which core object. | |
| if_match | No |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is non-read-only, non-destructive, and idempotent. The description adds valuable context about the if_match parameter and 412 retry flow, which goes beyond the annotation metadata. It does not contradict annotations and discloses the key concurrency behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core action, and the concurrency detail earns its place. Every word contributes to understanding the tool's behavior, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple patch operation without an output schema, the description covers the main behavioral nuance (optimistic concurrency) and error handling (412). It does not explicitly state whether patch is a partial merge or what the response contains, but given the tool's straightforward scope, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 1 of 4 parameters (object) has a schema description, and schema coverage is low (25%). The description adds meaning for if_match (current version, concurrency control) but does not explain id or patch fields. While 'patch' implies an update payload, parameter meaning is only partially compensated for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Patch a record,' which combines a specific verb and resource, making the core purpose immediately clear. It distinguishes from sibling tools like relm_create and relm_delete by using 'patch' terminology, and the concurrency note adds specificity without obscuring the primary action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational guidance on optimistic concurrency (pass if_match, handle 412) but does not explicitly state when to use this tool versus alternatives like relm_create, relm_manage_*, or relm_restore. The usage context is implied from the 'patch' semantics rather than explicitly framed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Every tool targets a distinct resource-action pair (e.g., create_automation, create_pipeline, create_template), and potential overlaps like batch vs create or log_activity vs create are clearly differentiated in descriptions. No two tools appear to do the same thing.
All 41 tools follow the relm_<verb>_<noun> pattern in snake_case, with conventional verbs like create, get, list, delete, manage, and restore. Minor plural/singular differences (list_automations vs get_automation) follow standard resource-naming practices and do not break consistency.
At 41 tools, the set is far beyond the 25+ threshold and feels heavy for an agent to navigate. While the CRM domain is broad, many tools could be consolidated (e.g., generic get/list by resource type) without losing clarity.
The tool set covers the full record lifecycle (CRUD, restore, batch, search) plus schema management, pipelines, stages, automations, sequences, templates, webhooks, channels, and usage. However, automations, sequences, and templates lack update operations—requiring delete-and-recreate workarounds—which is a minor but notable gap.