Skip to main content
Glama

wals.pro AI 4 weclapp

Preview write entity

preview_write_entity
Read-onlyIdempotent

Preview entity create/update/delete; return approval token.

Ticket↔order links: preview_entity_action. Unlisted fields dropped; derived totals read-only. Dates: YYYY-MM-DD → Europe/Berlin midnight. Do not calculate epoch values. Keep previously read epoch values for unchanged fields; respect explicit datetime offsets.

Guarded routes:

  • Sales-order address route: address-only UPDATE binds execution_payload/revision_guard (pass unchanged); safe default does not reconfirm. reconfirm=true has AB-resend risk, can fire a confirmation-email and needs automated-email consent (allow_automated_confirmation_email).

  • Sales-order status confirmation: UPDATE to ORDER_CONFIRMATION_PRINTED needs the same consent + an emailing-rule snapshot; drift blocks.

  • party UPDATE with partyEmailAddresses[] → full-set execution_payload + party_email_plan.

  • Item-array UPDATE (sales/purchase documents, productionOrder, contract, article BOM): id=update, no id=add; omitted positions kept unless allow_item_removal=true; header changes separately.

  • Status only via {version, status} for a listed transition.

  • payload.items batch: task creates (≤10); article updates (≤25, id each).

  • Payload routes: customAttributes/items only; others via get_schema(entity, detail="payload_guide").

Args: entity: article|contract|lead|opportunity|party|crmEvent|campaign|campaignParticipant|quotation| salesOrder|salesInvoice|purchaseInvoice|purchaseOrder|productionOrder|ticket|task|timeRecord| performanceRecord|mailTemplate; routes: shipment|sop. payload: OpenAPI fields, aliases folded; updates include version (article: omit, server-read). resolve_quotation_recipient_email: OPEN quotation: re-resolve To; fails closed. duplicate_decision: party CREATE duplicate blocks; "create_new" + duplicate_candidate_ids overrides. sop_snapshot_hash: sop_directive.snapshot_hash after applying house rules.

Schema: get_schema(entity, detail="payload_guide"); never guess. Returns approval.token + execution, or tokenless diagnostics.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deleteNo
entityYes
payloadYes
entity_idNo
reconfirmNo
correlation_idNo
sop_snapshot_hashNo
allow_item_removalNo
duplicate_decisionNo
duplicate_candidate_idsNo
resolve_quotation_recipient_emailNo
allow_automated_confirmation_emailNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / sop_snapshot_hash
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Sop Snapshot Hash"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare readOnlyHint/idempotent/non-destructive, and the description is consistent with a preview that produces a token rather than mutating. It adds substantial hidden behavior: AB-resend risk and confirmation-email consent, drift blocking on confirmation snapshots, dropped unlisted fields, read-only derived totals, and batch size limits.

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

Conciseness3/5

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

Purpose is front-loaded, but the body is a dense telegraphic wall mixing conventions, guarded routes, and argument notes, with some duplication ('get_schema(entity, detail="payload_guide")' appears twice). Mostly information-dense, yet trimming and tighter grouping would improve scannability.

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 12 parameters, 20+ entity types, nested payloads, and guarded write routes, the description covers the dangerous paths, date/epoch conventions, and the get_schema fallback; an output schema exists so return-shape detail (approval.token + execution or tokenless diagnostics) is a bonus rather than a gap.

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 0%, so the description must carry parameter meaning, and it largely does: entity's allowed values and routes, payload semantics (aliases folded, version required except article), resolve_quotation_recipient_email fails-closed, duplicate_decision/duplicate_candidate_ids, sop_snapshot_hash, and reconfirm/allow_automated_confirmation_email within guarded routes. delete, entity_id, and correlation_id are only implied and never explained.

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?

States a specific verb+resource+outcome: preview create/update/delete and return an approval token. It also names the disambiguating sibling ('Ticket↔order links: preview_entity_action'), so an agent can separate this from preview_entity_action and the other preview_* tools without opening a 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?

Gives rich conditional guidance: guarded routes for order confirmation, party email, item arrays, and status transitions, plus the consent flags each requires. It routes ticket/order links to preview_entity_action, though it never states an explicit general 'when not to use this tool' rule.

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