list_meetings
Retrieve a list of scheduled Zoom meetings filtered by type: upcoming, scheduled, or previous meetings.
Instructions
List scheduled meetings
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | The type of meeting. Choose from upcoming, scheduled or previous_meetings. upcoming - All upcoming meetings; scheduled - All valid previous (unexpired) meetings and upcoming scheduled meetings; previous_meetings - All the previous meetings; | upcoming |
Implementation Reference
- operations/meeting.ts:64-79 (handler)Handler function that calls the Zoom API endpoint /v2/users/me/meetings with optional query params (type), then parses the response using ZoomListMeetingsSchema.
export async function listMeetings(options: ListMeetingOptions) { let url = "https://api.zoom.us/v2/users/me/meetings"; const params = new URLSearchParams(); Object.entries(options).forEach(([key, value]) => { if (value !== undefined && value !== null) { params.append(key, value.toString()); } }); if (Array.from(params).length > 0) { url += `?${params.toString()}`; } const response = await zoomRequest(url, { method: "GET", }); return ZoomListMeetingsSchema.parse(response); } - operations/meeting.ts:30-38 (schema)Zod schema for the input options of list_meetings tool (type parameter).
export const ListMeetingOptionsSchema = z.object({ type: z .string() .optional() .describe( "The type of meeting. Choose from upcoming, scheduled or previous_meetings. upcoming - All upcoming meetings; scheduled - All valid previous (unexpired) meetings and upcoming scheduled meetings; previous_meetings - All the previous meetings;", ) .default("upcoming"), }); - common/types.ts:92-111 (schema)Zod schema that defines the structure of the API response for list_meetings.
export const ZoomListMeetingsSchema = z.object({ page_size: z.number(), total_records: z.number(), next_page_token: z.string(), meetings: z.array( z.object({ uuid: z.string(), id: z.number(), host_id: z.string().optional(), topic: z.string().optional(), type: z.number().optional(), start_time: z.string().optional(), duration: z.number().optional(), timezone: z.string().optional(), agenda: z.string().optional(), created_at: z.string().optional(), join_url: z.string().optional(), }), ), }); - index.ts:164-170 (registration)Tool registration in CallToolRequestSchema handler - dispatches 'list_meetings' calls to the listMeetings function.
case "list_meetings": { const args = ListMeetingOptionsSchema.parse(request.params.arguments); const result = await listMeetings(args); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } - index.ts:131-135 (registration)Tool registration in ListToolsRequestSchema handler - declares the list_meetings tool with its input schema.
{ name: "list_meetings", description: "List scheduled meetings", inputSchema: zodToJsonSchema(ListMeetingOptionsSchema), },