Skip to main content
Glama

Schedule the bot to join a meeting

schedule_meeting

Store a join order for an existing GifOS broadcast link with room password, start/end times, recurrence, and bot instructions; the bot joins before the start without joining now or sending email.

Instructions

Stores a join order for a link that already exists. room_password is the password guests were given in the invite. The bot joins one minute before start unless early_margin says otherwise. end may be omitted; the stored end is then start plus 8 hours. This call does not join yet and does not send mail. The room password is kept on the schedule and is not returned.

Input Schema

NameRequiredDescriptionDefault
endNoWhen overrun starts. Omit for start plus 8 hours.
linkYesThe plain GifOS link from create_broadcast.
startYesWhen the bot should be in the room, as an ISO time.
topicNoRoom name. Defaults to the name from create_broadcast.
timezoneNoIANA time zone. Default UTC.
recurrenceNoThe calendar recurrence rule, stored as sent. An RRULE this process understands is expanded. Anything else is refused.
external_idNoCaller id from a calendar import. A second write with the same id updates the order.
early_marginNoMilliseconds before start to join. Default 60000.
instructionsNoThe owner's goal and instructions for the bot in this meeting (for example the questions of a daily check-in), plain text up to 4000 characters. Stored and handed back to you in list_schedule, meeting_status and the schedule.due and meeting.joined events; this server never runs it. Omit for the default: the bot only transcribes. Do not put passwords or other secrets here.
room_passwordYesThe room password guests type. Stored for rejoin. Not returned.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: no join occurs on this call, no mail is sent, the bot joins one minute early by default, a missing end becomes start+8h, the password is persisted but never returned, and non-understood recurrences are refused. Remaining gaps are auth requirements and failure behavior for an unknown link.

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

Conciseness4/5

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

Short declarative sentences, front-loaded with what the call does and immediately followed by what it does not do. Mild redundancy around room_password (mentioned at the top and again at the end), but the second mention carries distinct non-return-disclosure value.

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

Completeness3/5

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

For a 10-parameter mutation tool with no annotations and no output schema, the description covers defaults, side effects, and secrecy well, but never says what the call returns — an agent has no idea whether it gets a schedule id it will need later for cancel_schedule or update_schedule. No mention of required-field failures or duplicate-link handling either.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description reinforces a few semantics (room_password is the guest-facing invite password; early_margin overrides the one-minute default) but mostly restates defaults the schema already documents, and says nothing about topic, timezone, or external_id's upsert behavior beyond what the schema states.

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?

"Stores a join order for a link that already exists" names a specific verb and resource, and the description immediately contrasts with the join-now path ("This call does not join yet"), so an agent can separate it from join_broadcast/join_broadcast siblings without opening a schema. It also pins the scope to pre-existing links, distinguishing it from create_broadcast.

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

Usage Guidelines3/5

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

The negative routing ("This call does not join yet and does not send mail") implies that immediate joining belongs to another tool, but the alternative is never named. Nothing distinguishes this from update_schedule or import_schedule, whose names sit right next to it in the sibling list.

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