v6

latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-0161127.4 KB
bots

Join Meeting

Create and deploy a speaking bot in a meeting.

Launches an AI-powered bot that joins a video meeting through MeetingBaas and processes audio using Pipecat's voice AI framework.

post/bots

Request body

meeting_urlstring required

URL of the Google Meet, Zoom or Microsoft Teams meeting to join

bot_namestring

Name to display for the bot in the meeting

personasstring[] nullable

List of persona names to use. The first available will be selected.

bot_imagestring nullable
entry_messagestring nullable
extraobject nullable
enable_toolsboolean
promptstring nullable
websocket_urlstring nullable

Optional public WebSocket base URL override, e.g. wss://bot.example.com

prompt_data_token_limitinteger

Approximate total token cap for loaded prompt_data_sources. 0 disables loading.

mcp_profile'professional' | 'personal' | 'all' nullable

Optional trusted local mcpproxy group preset. 'professional' connects to MCP_PROXY_PROFESSIONAL_URL or http://127.0.0.1:8111/mcp; 'personal' connects to MCP_PROXY_PERSONAL_URL or http://127.0.0.1:8110/mcp; 'all' connects to MCP_PROXY_ALL_URL or http://127.0.0.1:8109/mcp. The preset is merged with explicit mcp servers when both are supplied.

mcp_profile_tool_access'read_only' | 'read_write'

Tool exposure for mcp_profile presets. 'read_only' exposes retrieve_tools, call_tool_read, read_cache, and set_profile. 'read_write' also exposes call_tool_write. Presets never expose upstream_servers, call_tool_destructive, code_execution, registry, or quarantine tools.

llm_provider'openai' | 'anthropic' | 'zai' nullable

LLM provider for this bot. Defaults to LLM_PROVIDER, then openai.

llm_modelstring nullable

Provider model for this bot. Defaults to provider-specific env vars.

speech_speednumber nullable

TTS speaking speed multiplier. Defaults to CARTESIA_TTS_SPEED, TTS_SPEED, SPEECH_SPEED, or the runner default.

Example request

{
  "bot_image": "https://example.com/bot-avatar.png",
  "bot_name": "Meeting Assistant",
  "enable_tools": true,
  "entry_message": "Hello! I'm here to assist with the meeting.",
  "extra": {
    "company": "ACME Corp",
    "meeting_purpose": "Weekly sync"
  },
  "llm_model": "claude-opus-4-8",
  "llm_provider": "anthropic",
  "mcp": {
    "servers": [
      {
        "name": "crm",
        "tool_allowlist": [
          "get_account",
          "list_recent_calls"
        ],
        "tools": [
          "get_account",
          "list_recent_calls"
        ],
        "transport": "streamable_http",
        "url": "https://mcp.example.com"
      }
    ]
  },
  "mcp_profile": "professional",
  "mcp_profile_tool_access": "read_only",
  "meeting_url": "https://meet.google.com/abc-defg-hij",
  "personas": [
    "helpful_assistant",
    "meeting_facilitator"
  ],
  "prompt": "You are Meeting Assistant, a concise and professional                 AI bot that helps summarize key points and keep the meeting on track. Speak clearly and stay on topic.",
  "prompt_data_sources": [
    {
      "name": "CRM account notes",
      "type": "url",
      "url": "https://example.com/account-notes.md"
    }
  ],
  "prompt_data_token_limit": 3000,
  "speech_speed": 1.15,
  "websocket_url": "wss://bots.example.com"
}

Response

Bot successfully created and joined the meeting

bot_idstring required

The MeetingBaas bot ID used for API operations with MeetingBaas

All 6 operations