Skip to main content
Glama

scheduleCall

Destructive

Place or schedule an OUTBOUND phone call on behalf of the user. Show the exact phone number, goal, and scheduledAt. If the account has active receptionists, call listAgents first and pass the exact agentId; if this tool returns a missing-agentId error, choose one of the returned IDs and retry. REFUSE harmful goals (threats, harassment, impersonation of IRS/police/bank, fraud, scams, extortion, hate speech, harmful pranks, illegal activity). For calls to place NOW, pass scheduledAt="NOW". Otherwise ISO 8601 with explicit numeric offset for the user's timezone (never bare "Z"). Only one-time calls. REAL ACTION, not a preview: a real person's phone rings, now or at scheduledAt. Right before calling, show the user the exact change and get their explicit confirmation.

Input Schema

NameRequiredDescriptionDefault
goalYesGoal of the call, all detailed information from user input, place, time, context, primary goal, etc. Use English always, expect if user specified language in request. Put ALL the details from context here - time of the call, place, primary goal, etc. Do not limit only for primary goal, put all details.
agentIdYesID of the receptionist/agent that must place this call. Required whenever the account has any active receptionists. Get this from listAgents; do not rely on putting the agent name only in goal/additionalContext. If you omit this, scheduleCall will refuse and return the available agent IDs.
phoneNumberYesPhone number to schedule the outbound call to, not the user's phone number starting with country code like +1. Supported countries: +1, +1, +972, +49, +44, +33, +41, +43, +372, +30
scheduledAtYesScheduled time of the call. MUST be either "NOW" or an ISO 8601 timestamp with an EXPLICIT timezone offset matching the user's local timezone (e.g. "2026-04-16T10:00:00-05:00" for America/Chicago CDT, "2026-04-16T10:00:00+02:00" for Europe/Berlin). NEVER use the bare "Z" / UTC suffix — it will fire at the wrong hour for the user. When the user says "10 AM" they mean THEIR local time; emit the matching offset. The user's timezone and current local time are provided in User Context.
doWeNeedToRetryYesDo we need to run smart retry after call is failed by some reason?
additionalContextYesAdditional context of the call. Like business name, more information about place, person we are calling, etc. Empty is ok if not needed.
retryAfterMinutesYesHow many minutes to wait before retrying the call if not successful, optional
maxDurationMinutesYesMax duration of the call in minutes only if user provided it

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well past annotations by disclosing the consequence chain: "REAL ACTION, not a preview: a real person's phone rings, now or at scheduledAt," plus a mandatory pre-call confirmation of the exact change and a stated refusal policy for harmful goals. These are exactly the destructive/openWorld traits an agent needs spelled out, not just hinted at by destructiveHint=true.

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?

Front-loaded with purpose, then prerequisites, then refusals, then parameter quirks, then confirmation — a sensible escalation order with no filler sentences. It runs long and repeats some schema content (especially the scheduledAt offset guidance), which keeps it out of the top band.

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 an eight-required-parameter mutation with no output schema, the description covers the risky parts well: real-world side effect, confirmation gate, agentId resolution path, and timezone handling. It stops short of saying what a successful response contains or how to cancel/recover a mis-scheduled call, and it notes one-time-only without naming an alternative for recurring calls.

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 all eight parameters — including scheduledAt's offset rule and agentId's listAgents dependency — are already documented in the schema, and the description largely restates them. It adds only the instruction to display phoneNumber, goal, and scheduledAt to the user before calling, which is workflow rather than parameter meaning; baseline 3 applies.

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?

Opens with a specific verb+resource+scope: "Place or schedule an OUTBOUND phone call on behalf of the user." That distinguishes it cleanly from read siblings like app_listCalls, getCallDetails, and findCalendarSlots, and the OUTBOUND emphasis separates it from inbound receptionist behavior.

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?

Explicit routing rules: call listAgents first when active receptionists exist and pass the exact agentId; on a missing-agentId error, pick a returned ID and retry. It also names when to refuse (harmful goals), when to use scheduledAt="NOW" vs an ISO timestamp, and that only one-time calls are supported — leaving little to inference.

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