calls_make
ActiveTool of io.github.saloprj/dialogbrain
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.
Parameters schema
{
"type": "object",
"required": [
"greeting"
],
"properties": {
"channel": {
"enum": [
"twilio",
"telegram"
],
"type": "string",
"description": "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)."
},
"greeting": {
"type": "string",
"maximum": 500,
"description": "The 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?'"
},
"report_back": {
"type": "string",
"description": "When 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."
},
"instructions": {
"type": "string",
"maximum": 2000,
"description": "What 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_number": {
"type": "string",
"pattern": "^\\+[1-9]\\d{9,14}$",
"description": "Destination phone number in E.164 format (e.g., '+15551234567', '+66812345678'). Required when channel='twilio'."
},
"voice_agent_id": {
"type": "integer",
"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'."
},
"telegram_user_id": {
"type": "string",
"pattern": "^[1-9]\\d{0,18}$",
"description": "Destination 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."
}
}
}Parent server
io.github.saloprj/dialogbrain
https://github.com/saloprj/dialogbrain-mcp
1/7 registries