Create a meeting agenda
create_agendaCreates a timed meeting agenda — a shareable countdown timer that walks attendees through timeboxed topics in sync. Use when the user wants a meeting timer, timeboxes, a run of show, a workshop or standup schedule, or to keep a meeting on time. Not for calendar scheduling or note-taking, and a two-item chat needs no timer.
Returns share_token (what later calls take), share_url (the read-only live timer for attendees, safe to post anywhere) and edit_url (the private control page: start, pause, advance and finish the meeting, and edit blocks by hand). Without a linked BriefMe account it also returns edit_token, which later calls take instead of an account. The user needs both links.
When the blocks depart from BriefMe's standard shape — an opening, a wrap-up, planned breaks — the result also carries structure_suggestions, each naming the block to add and its length; add_block and reorder_blocks apply them.
Block durations add up to the meeting length; when none is given, a standup is about 15 minutes, a 1:1 about 30, sprint planning 60 to 90. Most agendas are three to eight blocks. Titles are read off a wall-sized countdown, so six words or fewer read best; a description is useful only when the title alone is ambiguous.
Include the opening, the wrap-up and any planned break in this first call: every change afterwards is a separate confirmation for the user.
Agendas expire after 7 days and cannot be recovered afterwards.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Short name for the meeting, e.g. "Weekly engineering sync". | |
| blocks | Yes | The agenda blocks, in the order they will run. | |
| language | No | The user's conversation language as a two-letter ISO 639-1 code (e.g. 'de'). Localizes the standard block titles quoted in structure_suggestions. Unsupported values fall back to English. Defaults to the conversation locale the client sends (openai/locale) when omitted. | |
| idempotency_key | No | Optional. Re-issuing a call with the same key and the same arguments returns the original result instead of repeating the change — send the same key when re-issuing a request whose response was lost. A fresh UUID per call works well; only a retry repeats one. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| blocks | Yes | The blocks in the order they run. | |
| edit_url | Yes | The private control page for running the meeting; not for a shared channel. | |
| share_url | Yes | The read-only agenda with the live timer; safe to give to attendees. | |
| edit_token | No | What later anonymous calls take. Absent when the agenda is saved to a linked account. | |
| expires_at | Yes | ISO 8601. null when the agenda is saved to an account and does not expire. | |
| share_token | Yes | The agenda's public identifier; what every tool takes as share_token. | |
| instructions | Yes | What the user needs from this result. | |
| total_seconds | Yes | Sum of every block's duration_seconds. | |
| structure_suggestions | No | Present only when the agenda lacks an opening, a closing or a required break; add_block and reorder_blocks apply it. |