send_chat_message
Enable bots to send chat messages in meetings by specifying the bot ID and message content. Integrates with platforms like Zoom, Google Meet, and Microsoft Teams.
Instructions
Send a chat message from the bot to the meeting
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | ID of the bot that should send the message | |
| message | Yes | Message text to send |
Implementation Reference
- src/index.ts:610-634 (handler)The core handler function for the 'send_chat_message' tool. It validates bot_id and message parameters, makes a POST API request to send the chat message, and returns a success response.private async sendChatMessage(args: Record<string, unknown>) { const bot_id = args.bot_id as string; const message = args.message as string; if (!bot_id || typeof bot_id !== 'string') { throw new Error("Missing or invalid required parameter: bot_id"); } if (!message || typeof message !== 'string') { throw new Error("Missing or invalid required parameter: message"); } await this.makeApiRequest(`/api/v1/bots/${bot_id}/send_chat_message`, "POST", { message }); return { content: [ { type: "text", text: `✅ Chat message sent from bot ${bot_id}: "${message}"`, }, ], }; }
- src/index.ts:425-426 (registration)The switch case in CallToolRequestSchema handler that registers and dispatches calls to the sendChatMessage method.case "send_chat_message": return await this.sendChatMessage(args);
- src/index.ts:303-320 (schema)The tool schema definition including name, description, and input schema for validation, registered in ListToolsRequestSchema.{ name: "send_chat_message", description: "Send a chat message from the bot to the meeting", inputSchema: { type: "object", properties: { bot_id: { type: "string", description: "ID of the bot that should send the message", }, message: { type: "string", description: "Message text to send", }, }, required: ["bot_id", "message"], }, },
- src/index.ts:78-111 (helper)General helper method used by sendChatMessage to make authenticated API requests to the backend.private async makeApiRequest( endpoint: string, method: string = "GET", body?: any ): Promise<any> { const url = `${API_BASE_URL}${endpoint}`; const headers: Record<string, string> = { "Content-Type": "application/json", }; if (API_KEY) { headers["Authorization"] = `Token ${API_KEY}`; } try { const response = await fetch(url, { method, headers, body: body ? JSON.stringify(body) : undefined, }); if (!response.ok) { const errorText = await response.text(); throw new Error(`API error ${response.status}: ${errorText}`); } return await response.json(); } catch (error) { if (error instanceof Error) { throw new Error(`Network error: ${error.message}`); } throw error; } }