Skip to main content
Glama

desk_wrap_call

Files a wrap-up for a finished call: notes, an outcome (which may open a follow-up task), a category. An outcome that escalates also takes escalate_user_id or escalate_queue_id: the ticket stays open and goes to that teammate or queue. Answers the ticket as it now stands.

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": {
      "call_id": "<call_id>"
    },
    "name": "desk_wrap_call"
  }
}

Input Schema

NameRequiredDescriptionDefault
notesNowrap-up note
due_atNoISO-8601 follow-up due time, when the outcome creates a task
call_idYesthe call leg's UUID
outcomeNoone of the workspace's call outcomes (desk_list_outcomes kind=call)
purposeNoRequired on tools that read data or reports; recommended on every tool. One sentence: what you are doing and why (for example "finding this caller's open ticket to answer them"). Building a report, dashboard, analytics or an export is a SautiDesk Pro feature done by the report tools, not by pulling records.
categoryNoticket category name
close_tasksNotrue to close the ticket's other open tasks when the outcome closes it (callback tasks close with the ticket on their own)
escalate_user_idNowhen the outcome escalates: UUID of the teammate to hand the ticket to (desk_list_agents). Give this or escalate_queue_id
escalate_queue_idNowhen the outcome escalates: UUID of the queue to put the ticket in, unassigned (desk_list_queues). Give this or escalate_user_id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations supply only destructiveHint=false and openWorldHint=false, so the description carries most of the load, and it does: it discloses that an outcome can spawn a follow-up task, that an escalating outcome leaves the ticket open and routes it to a teammate or queue, and that the tool 'answers the ticket as it now stands'. What it does not cover is the failed precondition case (what happens if the call is not actually finished) or whether the entry is editable afterwards.

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?

Three sentences, front-loaded with the action and payload, then the conditional escalation branch, then the ticket effect. Nothing is padded. The closing phrase 'Answers the ticket as it now stands' is slightly cryptic and could be dropped or made concrete.

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 9-parameter mutation tool with no output schema and thin annotations, the description covers the meaningful branches (task creation, escalation, ticket disposition) rather than just listing fields. The main gaps are the return value (does it hand back the ticket or the created task?) and precondition failures, neither of which is documented anywhere else.

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 description coverage is 100%, so the per-parameter baseline is already met by the schema itself. The description adds genuine cross-parameter semantics the schema only states per-field: that due_at is only meaningful when the outcome creates a task, and that the escalate pair is conditioned on the outcome being an escalating one with either/or semantics. That is useful but mostly restates what the individual field descriptions already say.

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?

The first clause gives a specific verb and resource tied to a call lifecycle stage: 'Files a wrap-up for a finished call', then enumerates the payload (notes, outcome, category). That is far more than a restatement of the name. It stops short of naming how it differs from near-neighbours like desk_set_activity_outcome or desk_update_ticket, so an agent still has to infer the boundary.

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

Usage Guidelines3/5

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

The phrase 'for a finished call' implies the trigger condition (the call leg has ended), which is real but implicit. There is no explicit when-not guidance and no named alternative, which matters in a catalogue containing desk_set_activity_outcome, desk_update_ticket, and desk_create_task that could plausibly compete for the same moment.

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