Skip to main content
Glama

updateAgent

Destructive

Update one SkipCalls receptionist's configuration. Send ONLY the fields you intend to change — never the whole config. ALWAYS get explicit user approval before calling; summarize the proposed change in plain language and wait for confirmation. NEVER rewrite, condense, translate, or 'improve' user-provided text — pass it through verbatim. Route instruction changes by call direction: instructions is outbound-only and incomingCallInstructions is incoming-only. Never copy, summarize, or distill the opposite-direction field into the selected field unless the user explicitly approves a separate shared change. IMPORTANT about instructions fields: SkipCalls already has a strong internal system prompt that handles tone, safety, persona, turn-taking, and call-handling behavior. Do NOT pad these fields with generic AI-assistant rules ('be polite', 'speak clearly', 'ask follow-up questions'), and do NOT use instructions as a workaround for real settings such as speaking pace, incoming SMS enablement, SMS auto-send mode, default post-call SMS, Smart Follow-ups, texts during calls, transfer destinations, calendars, or blocklists. Incoming call instructions are always the base for SMS; incomingSmsInstructions is only an SMS-specific overlay when needed, not the SMS on/off switch. Keep instructions short and business-specific: hours, services, pricing, booking rules, which questions to ask callers, which information to collect, when to transfer. If the user's request only has generic instructions, ask them for business-specific facts instead.

Input Schema

NameRequiredDescriptionDefault
nameYesName of the agent. Send null to leave unchanged.
voiceYesVoice ID to use for the agent. Use getAvailableVoices to see the list. Send null to leave unchanged.
agentIdYesID of the agent to update
voiceSpeedYesVoice speaking pace from slow to fast. 0.5 is normal/provider default. Prefer mobile presets: Slow 0.35, Normal 0.5, Faster 0.75. Not all voice providers support speed control. Only set when the approved proposal explicitly mentioned speaking speed or pace; tone/persona words such as warm, polished, friendly, professional, calm, energetic, or efficient are not approval to change voice speed. Send null to leave unchanged.
recordCallsYesSave audio recordings of calls. Transcripts are kept either way. Send null to leave unchanged.
sttKeytermsYesRecognition Boost: names and special words speech recognition should listen for (max 50 items, each at most 6 words and 50 characters). Send the complete list; it replaces the saved list. Send [] to clear. Send null to leave unchanged.
typingSoundYesPlay typing sounds when agent is processing. Send null to leave unchanged.
firstMessageYesOpening message for outbound calls, used when the call has no call-specific opening message. Send null to leave unchanged.
instructionsYesBehavioral instructions used for outbound calls only. Use this field for approved outbound-call wording, identity, disclosure, questioning, and goal-execution rules. Do not copy or distill incomingCallInstructions into it merely because an incoming rule looks reusable. Send null to leave unchanged.
closingPhraseYesClosing phrase before ending a call. Send null to leave unchanged.
allowFollowUpsYesEnable Smart Follow-ups: personalized AI-generated post-call SMS follow-ups for eligible incoming calls. Different from incoming SMS auto-replies and the default post-call SMS. Send null to leave unchanged.
behaviorPresetYesOverall receptionist role. 'employee' = capable team member who handles what it can; 'default' = calm gatekeeper who mainly takes messages for an unavailable owner. Send null to leave unchanged.
backgroundSoundYesAdd office ambiance sounds during incoming calls. Send null to leave unchanged.
dataConsentTextYesCustom text for what consent is requested for. Send null to leave unchanged.
allowIncomingSmsYesEnable the SMS receptionist for incoming text conversations. This is a boolean setting; do not use call instructions to turn SMS on/off. Send null to leave unchanged.
allowRealtimeSmsYesAllow the receptionist to send SMS during active phone calls. Different from one-off chat SMS sends, incoming SMS auto-replies, and post-call SMS. Send null to leave unchanged.
autoRespondToSmsYesSend SMS receptionist replies automatically. false means draft/waiting approval, not that incoming SMS is disabled. Send null to leave unchanged.
smsResponseDelayYesDelay in seconds before auto-responding to SMS. Send null to leave unchanged.
strictSpamFilterYesStrictly reject incoming spam calls before connecting. Send null to leave unchanged.
valuableCallRuleYesCustom rule (max 300 characters) for which incoming calls count as valuable leads and trigger the valuable-lead alert. An empty string restores the default important-call detection. Send null to leave unchanged.
voiceRecognitionYesEN = English-only (higher accuracy), MULTI = multilingual support. Send null to leave unchanged.
businessProfileIdYesOwned business profile ID for this receptionist. Use manageBusinessProfileQA action=listProfiles to find IDs. Calls use its company details and Q&A. An empty string clears the attachment. Send null to leave unchanged.
delayAcceptSecondsYesAnswer Delay: seconds (0-20) the receptionist waits after a call reaches SkipCalls before answering. Only for Google Voice or simultaneous ring so the owner's phone rings first; keep 0 for carrier no-answer forwarding. Send null to leave unchanged.
postCallSmsMessageYesDefault post-call SMS for eligible incoming calls. When smart follow-ups are enabled, this is the fallback if no personalized follow-up is sent. Send null to leave unchanged. This text is sent literally: no dynamic placeholders, template variables, bracket placeholders, or fake example URLs.
requireDataConsentYesRequire caller consent before starting call. Send null to leave unchanged.
knowledgeAccessModeYesKnowledge base access mode. 'NONE' disables KB lookup. 'ALL' lets agent read every KB item. 'TAGS_ONLY' restricts to items tagged in knowledgeAccessTags. Send null to leave unchanged.
knowledgeAccessTagsYesTags the agent is allowed to read when knowledgeAccessMode='TAGS_ONLY'. Ignored for NONE/ALL. Send [] to clear. Send null to leave unchanged.
outgoingTypingSoundYesPlay typing sounds while the receptionist works during outbound calls. Send null to leave unchanged.
followUpInstructionsYesCustom instructions for Smart Follow-ups. Max 600 characters. Send null to leave unchanged.
inboundPreCloseRulesYesFinal checks before ending an incoming call (max 4000 characters): must-have details the receptionist confirms before it hangs up. Send the complete text; an empty string clears it. Send null to leave unchanged.
enableVoiceExpressionsYesVoice Expressions: lets the voice add breaths, sighs, laughs, pauses, and other expressive delivery cues where the voice provider supports them. false stops them; a call-instruction rule cannot. Send null to leave unchanged.
incomingSmsInstructionsYesOptional SMS-specific overlay for text conversations. Base behavior comes from incoming call instructions; this field should only add text-specific rules such as brevity, signature, or channel limits. Do not put SMS enablement, auto-send toggles, Smart Follow-ups, realtime texts, or blocklists here. Preserve the user's SMS-specific wording exactly as provided. Send null to leave unchanged.
outgoingBackgroundSoundYesAdd office ambiance sounds during outbound calls. Send null to leave unchanged.
skipAiForSyncedContactsYesSend every contact synced from the owner's phone straight to Skip AI voicemail instead of the receptionist. Contacts saved after calls, on the web, or by import are not included. Send null to leave unchanged.
incomingCallInstructionsYesCompact behavioral workflow for incoming calls using capabilities already available to this receptionist: intent routing, questions to ask, qualification, spoken policies, specific phrases, language preferences, and when to use enabled call tools. Do not use this field as a store for catalogs/manuals/large reference data, basic Business Profile facts, generic assistant behavior already handled by the system, product toggles, transfer/calendar configuration, or carrier-level behavior. Inbound caller keypad/DTMF signals are handled by the runtime; define a menu mapping only in explicitly approved incoming-call instructions. Preserve user-provided instruction text exactly as approved — do NOT summarize or condense. Send null to leave unchanged.
maxIncomingCallDurationMinutesYesMaximum duration for incoming calls in minutes (0-60; 0 = No limit in the app). Calls are never ended by this limit before 15 minutes: values under 15, including 0, run as 15. Send null to leave unchanged.
maxOutgoingCallDurationMinutesYesMaximum duration for outbound calls in minutes (0-60; 0 = No limit in the app, which runs as 60). Values 1-14 run as 15. Send null to leave unchanged.
allowOutboundGreetingInterruptionsYesOutbound calls: let the other person interrupt the opening message. false makes the receptionist finish the opening first. Send null to leave unchanged.
welcomingVoiceMailMessageForOthersYesGreeting message for unknown callers when agent answers. Send null to leave unchanged.
welcomingVoiceMailMessageForContactsYesGreeting message for known contacts when agent answers. For personalization, use only these exact double-brace variables with no spaces: {{contact_name}}, {{contact_first}}, {{contact_last}}, {{contact_company}}, {{contact_email}}, {{contact_phone}}, {{contact_address}}. Example: "Hi {{contact_first}}! How can I help?" Never invent aliases such as {first_name}, {{first_name}}, {contact_first}, or {{name}}. Send null to leave unchanged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already flag this as destructive and non-read-only; the description adds the operational context that matters: partial-update semantics, mandatory human approval, verbatim-text pass-through, and the warning that instructions fields must not be used as a proxy for real settings (SMS toggles, pace, transfers, blocklists). It does not describe what happens on validation failure, permission/auth requirements, or the response shape.

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 correctly: the partial-update rule and the approval requirement come first, before the more granular instructions-field guidance. It is long (~300 words), but this is a destructive 40-parameter mutation tool where the length is defensible. Some sentences duplicate what the schema already says about outbound/incoming instruction routing, which is the main trimming opportunity.

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 destructive tool with 40 required-but-nullable parameters and no output schema, the description covers the critical failure modes: sending the whole config, missing approval, paraphrasing user text, and abusing instruction fields as settings. What it omits is the return behavior and error handling, which would be more valuable given no output schema exists to fill that 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 100% so parameter mechanics are already documented; the description goes beyond that by explaining the semantic split between `instructions` (outbound-only) and `incomingCallInstructions` (incoming-only), and that `incomingSmsInstructions` is an overlay rather than the SMS on/off switch. It also pre-empts the common misuse of stuffing generic assistant rules into instruction fields. A 4 rather than 5 because these rules are partially restated rather than adding new per-parameter detail.

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?

Opens with a specific verb+resource: 'Update one SkipCalls receptionist's configuration.' An agent immediately knows this is a partial-mutation tool on a single agent record. It does not name or differentiate itself from the other update-shaped siblings (updateOutbound, updateTimezone, onboarding_create_receptionist), so it stops short of a 5.

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 explicit pre-conditions ('ALWAYS get explicit user approval before calling; summarize the proposed change in plain language and wait for confirmation') and an explicit invocation rule ('Send ONLY the fields you intend to change — never the whole config'). It also tells the agent when to stop and ask the user for more input rather than proceeding with generic instructions. No sibling alternative is named, which keeps it out of 5 territory.

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