Skip to main content
Glama

calls_make

Destructive

Place an outbound AUDIO/VOICE phone call via Twilio (PSTN) or Telegram (MTProto 1:1 call). Use this any time the user asks to 'call', 'ring', 'phone', 'dial', or have a spoken conversation. Do NOT use messages.send when the user asks to call someone — a call is real-time voice, not a text message. You conduct the conversation as the voice agent using the provided greeting and instructions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appNoAndroid package that places the call (generic — any app with a dispatch recipe, or manual UI dispatch). Example: 'com.whatsapp'. Used only when channel='android'. Ignored for other channels.
channelNoVoice transport: 'twilio' or 'telnyx' (phone via PSTN — both require phone_number in E.164; pick the carrier the workspace has connected), 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id), 'maxru' (Max.ru voice call — requires maxru_user_id), 'android' (Android device voice call — requires phone_number in E.164), 'whatsapp' (WhatsApp voice call via the workspace's connected WhatsApp account — requires phone_number in E.164), 'whatsapp_business' (a Meta Cloud API number; requires phone_number in E.164; the contact must have allowed calls, otherwise a permission request is sent instead). OMIT to auto-select based on the current thread (e.g. inside a Telegram DM → uses 'telegram').
greetingYesThe first sentence the agent speaks immediately when the call connects. ALWAYS provide a greeting — without it the caller hears silence. Keep it short and natural. Example: 'Hi, this is Diana calling from DialogBrain. Do you have a moment to chat?'
contact_idNoLINE only: the contact entity ID for storing the confirmed display name after placement. Ignored for other channels/apps.
report_backNoWhen to re-invoke you after the call ends. 'on_answer' (default) = only if the call was answered, 'always' = even on missed/failed calls, 'never' = fire and forget. Transcript is always stored regardless of this setting.
in_workspaceNoRun this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.
instructionsNoWhat to do during the call — objective, questions, tone. The AI generates a natural opening and guides the conversation. Example: 'Call about invoice #1234. Ask if they received it and when payment is expected. Be friendly and professional.'
phone_numberNoDestination phone number in E.164 format (e.g., '+15551234567', '+66812345678'). Required when channel='twilio'.
viber_numberNoDestination Viber number in E.164 (e.g., '+15551234567'). Required when channel='viber' — the call is placed from the workspace's connected Viber account.
maxru_user_idNoDestination Max.ru user/chat ID. Required when channel='maxru'.
skip_dispatchNoSet true after you placed the call manually with the android_* UI tools — skips the automatic recipe and attaches straight to the already-live call. OMIT for the normal automatic dispatch. Used only when channel='android'. Ignored for other channels.
voice_agent_idNoID of the agent that conducts the call (an `id` from agents.list). If omitted, uses the workspace's default voice-capable agent when one exists. Pass this when the call fails with 'No voice agent configured'.
telegram_user_idNoDestination Telegram user ID (decimal int64 as string, e.g. '123456789'). Required when channel='telegram'. The caller account must have had prior interaction with this user — a cold contact cannot be reached via voice.
target_display_nameNoLINE only: the contact's LINE display name to place the voice call to (resolved by the planner from the contact). Ignored for other channels/apps.
permission_request_textNoOnly for channel='whatsapp_business': the text of the call-permission request WhatsApp sends when the contact has not yet allowed calls. Omit for a generic default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / channel / description
      Previous value: -"Voice transport: 'twilio' or 'telnyx' (phone via PSTN — both require phone_number in E.164; pick the carrier the workspace has connected), 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id), 'maxru' (Max.ru voice call — requires maxru_user_id), 'android' (Android device voice call — requires phone_number in E.164), 'whatsapp' (WhatsApp voice call via the workspace's connected WhatsApp account — requires phone_number in E.164). OMIT to auto-select based on the current thread (e.g. inside a Telegram DM → uses 'telegram')."New value: +"Voice transport: 'twilio' or 'telnyx' (phone via PSTN — both require phone_number in E.164; pick the carrier the workspace has connected), 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id), 'maxru' (Max.ru voice call — requires maxru_user_id), 'android' (Android device voice call — requires phone_number in E.164), 'whatsapp' (WhatsApp voice call via the workspace's connected WhatsApp account — requires phone_number in E.164), 'whatsapp_business' (a Meta Cloud API number; requires phone_number in E.164; the contact must have allowed calls, otherwise a permission request is sent instead). OMIT to auto-select based on the current thread (e.g. inside a Telegram DM → uses 'telegram')."
    • changedInput schema / properties / channel / enum
      Previous value: -[
      -  "twilio",
      -  "telnyx",
      -  "telegram",
      -  "maxru",
      -  "android",
      -  "whatsapp",
      -  "viber"
      -]New value: +[
      +  "twilio",
      +  "telnyx",
      +  "telegram",
      +  "maxru",
      +  "android",
      +  "whatsapp",
      +  "whatsapp_business",
      +  "viber"
      +]
    • addedInput schema / properties / permission_request_text
      Added value: +{
      +  "description": "Only for channel='whatsapp_business': the text of the call-permission request WhatsApp sends when the contact has not yet allowed calls. Omit for a generic default.",
      +  "maxLength": 1024,
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / in_workspace
      Added value: +{
      +  "description": "Run this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.",
      +  "type": "integer"
      +}
  3. Added
  4. Removed
  5. Changed3 schema fields changed
    • changedInput schema / properties / channel / description
      Previous value: -"Voice transport: 'twilio' (phone via PSTN — requires phone_number in E.164) or 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id) or 'android' (Android device voice call — requires phone_number in E.164). OMIT to use the current conversation's channel (e.g. a Telegram DM → a Telegram call to that contact)."New value: +"Voice transport: 'twilio' (phone via PSTN — requires phone_number in E.164), 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id), 'maxru' (Max.ru voice call — requires maxru_user_id), 'android' (Android device voice call — requires phone_number in E.164), or 'whatsapp' (WhatsApp Web voice bridge — requires phone_number in E.164; single-tenant dev only). OMIT to auto-select based on the current thread (e.g. inside a Telegram DM → uses 'telegram')."
    • changedInput schema / properties / channel / enum
      Previous value: -[
      -  "twilio",
      -  "telegram",
      -  "android"
      -]New value: +[
      +  "twilio",
      +  "telegram",
      +  "maxru",
      +  "android",
      +  "whatsapp"
      +]
    • addedInput schema / properties / maxru_user_id
      Added value: +{
      +  "description": "Destination Max.ru user/chat ID. Required when channel='maxru'.",
      +  "type": "string"
      +}
  6. Changed3 schema fields changed
    • addedInput schema / properties / contact_id
      Added value: +{
      +  "description": "LINE only: the contact entity ID for storing the confirmed display name after placement. Ignored for other channels/apps.",
      +  "type": "integer"
      +}
    • changedInput schema / properties / skip_dispatch / description
      Previous value: -"Set true after you placed the call manually with the android_* UI tools — skips the automatic recipe and attaches straight to the already-live call. Used only when channel='android'. Ignored for other channels."New value: +"Set true after you placed the call manually with the android_* UI tools — skips the automatic recipe and attaches straight to the already-live call. OMIT for the normal automatic dispatch. Used only when channel='android'. Ignored for other channels."
    • addedInput schema / properties / target_display_name
      Added value: +{
      +  "description": "LINE only: the contact's LINE display name to place the voice call to (resolved by the planner from the contact). Ignored for other channels/apps.",
      +  "maximum": 200,
      +  "type": "string"
      +}
  7. Changed4 schema fields changed
    • addedInput schema / properties / app
      Added value: +{
      +  "description": "Android package that places the call (generic — any app with a dispatch recipe, or manual UI dispatch). Example: 'com.whatsapp'. Used only when channel='android'. Ignored for other channels.",
      +  "type": "string"
      +}
    • changedInput schema / properties / channel / description
      Previous value: -"Voice transport: 'twilio' (phone via PSTN — requires phone_number in E.164) or 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id). OMIT to use the current conversation's channel (e.g. a Telegram DM → a Telegram call to that contact)."New value: +"Voice transport: 'twilio' (phone via PSTN — requires phone_number in E.164) or 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id) or 'android' (Android device voice call — requires phone_number in E.164). OMIT to use the current conversation's channel (e.g. a Telegram DM → a Telegram call to that contact)."
    • changedInput schema / properties / channel / enum
      Previous value: -[
      -  "twilio",
      -  "telegram"
      -]New value: +[
      +  "twilio",
      +  "telegram",
      +  "android"
      +]
    • addedInput schema / properties / skip_dispatch
      Added value: +{
      +  "description": "Set true after you placed the call manually with the android_* UI tools — skips the automatic recipe and attaches straight to the already-live call. Used only when channel='android'. Ignored for other channels.",
      +  "type": "boolean"
      +}
  8. Changed1 schema field changed
    • addedInput schema / properties / voice_agent_id
      Added value: +{
      +  "description": "ID of the agent that conducts the call (an `id` from agents.list). If omitted, uses the workspace's default voice-capable agent when one exists. Pass this when the call fails with 'No voice agent configured'.",
      +  "type": "integer"
      +}
  9. Changed1 schema field changed
    • changedInput schema / properties / channel / description
      Previous value: -"Voice transport: 'twilio' (phone via PSTN — requires phone_number in E.164) or 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id). OMIT to use 'twilio' (the default)."New value: +"Voice transport: 'twilio' (phone via PSTN — requires phone_number in E.164) or 'telegram' (MTProto 1:1 call — requires telegram_user_id, NOT a phone number or thread_id). OMIT to use the current conversation's channel (e.g. a Telegram DM → a Telegram call to that contact)."
  10. Changed2 schema fields changed
    • removedInput schema / properties / channel_account_id
      Removed value: -{
      -  "description": "Specific calling channel_account ID. For channel='twilio' this is the Twilio number; for channel='telegram' this is the connected Telegram account. If omitted, auto-selects the first active account of the matching channel.",
      -  "type": "integer"
      -}
    • removedInput schema / properties / voice_agent_id
      Removed value: -{
      -  "description": "Override: specific agent to conduct the call. If omitted, uses the workspace's default voice-capable agent. The agent should have at least one incoming_call trigger.",
      -  "type": "integer"
      -}
  11. Changed1 schema field changed
    • changedInput schema / properties / voice_agent_id / description
      Previous value: -"Override: specific voice agent to conduct the call. If omitted, uses the workspace's default voice agent. Must be an agent with execution_mode='voice'."New value: +"Override: specific agent to conduct the call. If omitted, uses the workspace's default voice-capable agent. The agent should have at least one incoming_call trigger."
  12. Changed1 schema field changed
    • changedInput schema / properties / voice_agent_id / description
      Previous value: -"Override: specific agent to conduct the call. If omitted, uses the workspace's default voice-capable agent. The agent should have at least one incoming_call trigger."New value: +"Override: specific voice agent to conduct the call. If omitted, uses the workspace's default voice agent. Must be an agent with execution_mode='voice'."
  13. Changed1 schema field changed
    • changedInput schema / properties / voice_agent_id / description
      Previous value: -"Override: specific voice agent to conduct the call. If omitted, uses the workspace's default voice agent. Must be an agent with execution_mode='voice'."New value: +"Override: specific agent to conduct the call. If omitted, uses the workspace's default voice-capable agent. The agent should have at least one incoming_call trigger."
  14. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.