Skip to main content
Glama

Quote an Errands call

quote_call_task
Read-onlyIdempotent

Prices an Errands brief from the call rate sheet, including the ai_task minute. Returns the caller ID and the cost at max_call_minutes. No rate refuses the call. Emergency and premium-rate numbers are refused. A marketing brief is refused. The seat needs the current Errands terms. A bad brief lists every missing and invalid field at once. This does not dial.

Input Schema

NameRequiredDescriptionDefault
goalYesThe outcome you want, in one or two sentences.
intentNoOptional. Why you are calling, in one sentence. If you leave it out, the opening line is used, then who the call is for.
limitsNo
callbackNo
languageNoBCP-47 such as en-GB or he-IL, or auto-from-seat.
forbiddenNoThings the assistant must not say or agree to.
ivr_hintsNoPhone menu hints, e.g. 'choose imports'.
voicemailNoOn voicemail: leave_message (default), hang_up_and_retry (uses limits.retry), or hang_up.leave_message
escalationNo
if_unknownNoWhat to do when asked something the brief does not cover.say_will_check_back
time_limitNoOptional. Minutes the assistant has for this call. If you leave it out, limits.max_call_minutes is used when that is set, otherwise 5.
callee_nameYesWho you are calling, e.g. 'FedEx UK Import Clearance' or 'Dr Cohen's clinic'.
destinationYesNumber to call, E.164 (+44…, +972…, +1…) or local. Emergency and premium-rate numbers are refused.
schedule_atNoWhen to call, ISO date-time, at most 14 days ahead. Omit it to call now.
time_windowNoOptional calling window, at least 10 minutes long and within 14 days. The call is placed inside it.
connect_userNoWhen true, the assistant asks the callee to hold at the end, rings the user's phones into the call, and leaves.
on_behalf_ofYesWho the call is for. person is required.
opening_lineNoOptional. What to say first, after the assistant introduces itself and plays the mandatory notice.
facts_to_giveNoFacts the assistant may give. Card numbers, CVVs, PINs and passwords are refused.
assistant_nameNoOptional. The name the assistant uses on this call instead of the AI assistant settings name.
save_as_defaultNoWith assistant_name, also save it as the default name in Widely AI assistant settings.
client_referenceNoYour own reference.
facts_to_collectNoQuestions to ask and the information to bring back.
purpose_categoryYesKind of call. Marketing, sales, surveys, debt collection, political and fundraising calls are refused.
success_criteriaYesHow to tell the call worked, e.g. 'they confirm the delivery date'.
voicemail_messageNoOptional. If absent, the assistant leaves a short message from the goal and on_behalf_of, with no sensitive facts.
callee_is_businessNoOptional. True when the callee is a business.
caller_identity_idNoOptional. You may set it. If you omit it, Widely picks the caller ID. If you set it, it must be an identity_id from list_identities, one of the user's own. Never invent another number.
allowed_commitmentsNoThe only things the assistant may agree to, e.g. 'accept any slot Tue–Thu after 14:00'. For anything else it says it will check and come back, and lists it in the report. Payments, contracts and cancellations are never allowed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / intent
      Added value: +{
      +  "description": "Optional. Why you are calling, in one sentence. If you leave it out, the opening line is used, then who the call is for.",
      +  "maxLength": 300,
      +  "type": "string"
      +}
    • addedInput schema / properties / time_limit
      Added value: +{
      +  "description": "Optional. Minutes the assistant has for this call. If you leave it out, limits.max_call_minutes is used when that is set, otherwise 5.",
      +  "maximum": 120,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / caller_identity_id / description
      Previous value: -"Optional identity id. Omit it and Widely picks the caller ID the same way the app does."New value: +"Optional. You may set it. If you omit it, Widely picks the caller ID. If you set it, it must be an identity_id from list_identities, one of the user's own. Never invent another number."
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover read-only, idempotent, non-destructive behavior, but the description adds substantial context: return values, refusal rules for destinations and marketing briefs, prerequisite Errands terms, aggregated validation errors, and the explicit no-dial guarantee. This is rich behavioral disclosure beyond the annotations.

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 short and front-loaded, with each sentence carrying relevant information. Some fragments like 'No rate refuses the call' are slightly cryptic, but overall it remains efficient and readable.

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 29-parameter quote tool with no output schema, the description covers the essential behavior: pricing source, return values, refusals, prerequisites, validation behavior, and non-dialing. It does not detail the full response shape or all guardrails, but annotations and schema cover much of that.

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 90%, so baseline is 3. The description adds useful semantics: cost is calculated at max_call_minutes, destination refusal categories apply, marketing purpose_category is refused, and bad briefs report all missing/invalid fields at once.

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 and resource: 'Prices an Errands brief from the call rate sheet, including the ai_task minute.' It also clarifies output ('Returns the caller ID and the cost at max_call_minutes') and explicitly says 'This does not dial', distinguishing it from create_call_task/request_call.

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?

Provides clear when-not conditions: emergency and premium-rate numbers are refused, marketing briefs are refused, and the seat needs current Errands terms. The 'does not dial' line implies this is a preflight to actual call creation, but it does not explicitly name create_call_task as the alternative or state when to use quote_call instead.

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.