Skip to main content
Glama

create_zoom_meeting

Destructive

Schedule a Zoom meeting on your connected account, returning the join link after human approval.

Instructions

Create a Zoom meeting on the user's connected Zoom account and return its join link. TWO-PHASE, HUMAN-APPROVED: the first call (no request_id) executes nothing — it returns status=approval_required with a preview of exactly what would happen and a request_id. A human approves out of band (GigaMail console, CLI or Telegram, behind Windows Hello / Touch ID); the second call with that request_id executes the payload that was approved (the approved arguments, not the ones passed the second time). Requests expire (default 15 min); identical pending requests are deduplicated; more than 20 requests/hour per tool are refused (status=rate_limited). Every phase is written to the audit log. Creating the meeting sends nothing to anyone: Zoom does not invite participants, and the waiting room is on. Share the join_url with send_mail or reply_mail, which need their own approval. Returns {id, join_url, password} on execution. Requires Zoom to be connected from the GigaMail console (Add account > Zoom).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
startYesStart, ISO 8601 local time (Europe/Rome), e.g. 2026-09-16T16:00:00.
topicYesMeeting title shown in Zoom, e.g. 'Video call with Mario Rossi'.
agendaNoOptional agenda text stored with the meeting.
request_idNoOmit on the first call. On the first call the tool does NOT execute: it returns status=approval_required, a preview and a request_id. A human must approve that request_id out of band (GigaMail console, `gigamail approvals approve`, or Telegram — all behind Windows Hello / Touch ID). Then call again with the same request_id to execute. The agent cannot approve; repeating the call without approval just returns awaiting_approval.
duration_minutesNoPlanned length in minutes; values below 15 become 15.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.4

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description goes far beyond annotations by detailing the human-approval gate, the fact that the first call executes nothing, the approved-arguments-not-second-call rule, expiration, deduplication, rate limiting, audit logging, the waiting room behavior, and the external requirement of Zoom being connected. This gives the agent a clear model of side effects and safety even though destructiveHint is true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded, and every sentence carries essential information for a complex, human-approved, two-phase tool. Rather than padding, it covers invocation flow, pending-request behavior, rate limits, audit, privacy, output shape, and prerequisite in a compact block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description explicitly states the return shape ({id, join_url, password}), the main statuses (approval_required, awaiting_approval, rate_limited), and the prerequisite. Combined with the thorough input schema, an agent has everything needed to call and interpret the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all parameters with 100% description coverage, but the tool description adds crucial semantics for request_id: it must be omitted on the first call, the approved payload wins over the second call's arguments, and deduplication/expiry behavior. This is meaningful value beyond the schema, though the other parameter details are left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ('Create a Zoom meeting on the user's connected Zoom account') and the key return value ('return its join link'). This unambiguously distinguishes it from sibling tools like create_event or send_mail, especially with the later note to share the join_url via send_mail/reply_mail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly explains the two-phase invocation workflow (first call without request_id, second call with approved request_id), the prerequisite that Zoom must be connected, and the follow-up action of sharing the join_url via send_mail/reply_mail. It does not explicitly state 'use create_event for calendar events' or list when-not-to-use scenarios, but the context is strong enough for an agent to select and invoke it correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.