calls_send_to_telegram_call
ActiveTool of io.github.saloprj/dialogbrain
Dispatch a workspace AI agent into a live Telegram GROUP voice chat OR an encrypted call-link conference. FOUR ways to target the call: (1) chat_id — the group's numeric id, e.g. -1001234567890 (use for a private group with no @username); (2) target=@username or a t.me/<group> link; (3) omit both target and chat_id to use the CURRENT thread (when it's a Telegram group); (4) target=t.me/call/<slug> encrypted group-call link. start_if_none=true spawns a new voice chat if the group has none active. The agent joins via the workspace's Telegram account — hears the call, replies via TTS, and sees shared screens (when vision is enabled). NOTE: joining a regular in-group voice chat does NOT need a slug link — pass chat_id directly.
Parameters schema
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"target": {
"type": "string",
"maximum": 200,
"description": "Telegram call or group to join. Either: (1) encrypted group-call slug (https://t.me/call/<slug> URL or bare slug token, 12-64 chars), (2) group reference (@username or https://t.me/<group> URL), or (3) omit this (and chat_id) to use the current thread (must be a Telegram group chat). Max ~200 chars."
},
"chat_id": {
"type": "integer",
"description": "Telegram group chat id to join the voice chat of (e.g. -1001234567890 for a supergroup, -4766727451 for a basic group). Use this to target a PRIVATE group that has no @username and isn't the current thread. Overrides `target` when both are given. Group mode only (ignored for slug links)."
},
"agent_id": {
"type": "integer",
"description": "ID of an active agent in this workspace. Get it from agents.list. Any active agent can be dispatched — a voice trigger is NOT required (the runner attaches the agent you name directly)."
},
"vision_mode": {
"enum": [
"off",
"on_demand",
"continuous_0_3fps"
],
"type": "string",
"description": "Screen-share capture mode. 'off' = no vision (default), 'on_demand' = the agent can call vision_query for fine-detail reads, 'continuous_0_3fps' = the bot captures the screen at 1 fps with phash dedupe and splices the latest scene-change into each agent turn. OMIT to use 'off' (the default)."
},
"instructions": {
"type": "string",
"maximum": 2000,
"description": "What the agent should do once it joins — its task brief, woven into the voice system prompt. e.g. 'present the overview deck' or 'greet everyone and summarize the discussion'. Optional."
},
"start_if_none": {
"type": "boolean",
"description": "When joining a group voice chat (not a slug-based encrypted call), spawn a new voice chat if none is active. Default false. Ignored when target is a call slug (a slug IS the call)."
},
"channel_account_id": {
"type": "integer",
"description": "Workspace Telegram channel account ID that joins as the bot. Optional — when the workspace has exactly one Telegram account, it's used by default. Required when multiple Telegram accounts exist."
}
}
}Parent server
io.github.saloprj/dialogbrain
https://github.com/saloprj/dialogbrain-mcp
1/7 registries