Meet
Space MCP tools in the Meet scope (meet). Reach these with a wks_live_ key over space-mcp or space-api.
Tools in the meet scope, callable over space-mcp (tools/call) or space-api (REST) with a wks_live_* key that grants meet.
answer_guest
Scope: meet:write
Let a waiting guest in (let_in: true) or turn them away (let_in: false) by request_id from waiting_guests — or let everyone waiting in at once (everyone: true with meeting_id).
| Parameter | Type | Required | Description |
|---|---|---|---|
request_id | string | ||
let_in | boolean | yes | |
everyone | boolean | ||
meeting_id | string | With everyone: true. |
archive_room
Scope: meet:write
Close a room for good: its link stops working and it leaves the Rooms list.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes |
cancel_meeting
Scope: meet:write
Cancel a scheduled meeting: it leaves the calendar and moves to Earlier as cancelled. Invitees are not emailed — the answer lists them so you can tell them.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes |
create_meeting
Scope: meet:write
A meeting with an open link RIGHT NOW (or a bare scheduled one): returns { meeting, join_url } — join_url (/m/...) works for anyone with the link. To schedule a meeting with people — on the calendar, with invitations — use schedule_meeting.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | |
description | string | ||
scheduled_start | string | ||
scheduled_end | string |
create_room
Scope: meet:write
Make a Meet room: always open, one link that never changes (a standing huddle, a client lobby). who_can_join sets the link (default wakato_accounts); waiting_room (default on) holds guests until someone lets them in. Returns the join_url.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | |
description | string | ||
who_can_join | space_members_only | wakato_accounts | invited_only | anyone_with_link | Who the link lets in (space_members_only turns the link off). | |
waiting_room | boolean | Default true. | |
record | boolean | ||
transcript | boolean | Default true. |
end_meeting
Scope: meet:write
End a live meeting for everyone (everyone is disconnected; a room goes back to idle and keeps its link).
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes |
find_meetings
Scope: meet:read
Find the space's video meetings (Wakato Meet) — by a DAY ("the meeting on Sep 15": date YYYY-MM-DD, read in the space's timezone), a date range (from/to), a PERSON who came or spoke, or WORDS (title, recap, and what was actually said — each hit shows the line that matched). Answers each meeting's time, length, who came, whether it was recorded, its recap in one line and open to-dos. Then get_meeting for the whole meeting: recap, who spoke most and for how long, the transcript.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Words to look for: title, recap, what was said, who came. | |
person | string | Only meetings this person came to or spoke in (a name, any part). | |
date | string | One day, YYYY-MM-DD, in the space's timezone. | |
from | string | From this day (YYYY-MM-DD) or ISO time. | |
to | string | Up to this day (YYYY-MM-DD, that whole day included) or ISO time. | |
when | past | upcoming | all | Default past (all when a date is given). | |
limit | number | Max meetings (default 25, at most 100). |
get_meeting
Scope: meet:read
Read one meeting whole: when and how long, who came, the recording link, the recap (summary, decisions, to-dos with who owns them, questions asked and answered), WHO SPOKE AND FOR HOW LONG (counted from the whole transcript — use it for "who spoke most"), and the transcript as turns with times. A long meeting is read in pages (turns_from) or jumped to by a phrase (find: "pricing") — never cut off. turns_limit: 0 = just the facts, recap and who spoke.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes | From find_meetings or list_meetings. |
find | string | Only the transcript turns containing these words. | |
turns_from | number | First turn to return (0-based), to page through the transcript. | |
turns_limit | number | How many turns (default 120, at most 400; 0 = none). |
get_meeting_link
Scope: meet:read
The join link of a meeting or room, who it lets in, and its guest list (who was invited and whether the invitation went out).
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes |
get_meeting_transcript
Scope: meet:read
The raw transcript row of a meeting: its recap and up to 1000 raw segments (speaker + text + timestamp). Prefer get_meeting — it reads the whole meeting, counts who spoke, and pages a long transcript without cutting it. Pass transcript_id, meeting_id, or call_room_id. For a reach call transcript use get_agent_reach_conversation instead.
| Parameter | Type | Required | Description |
|---|---|---|---|
transcript_id | string | ||
meeting_id | string | ||
call_room_id | string |
invite_to_meeting
Scope: meet:write
Invite more people to a scheduled meeting or a room: contacts (contact_ids) or email addresses go on its guest list; for a scheduled meeting they get the Wakato invitation email with the join link (a room has no date — share its join_url instead).
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes | |
contact_ids | string[] | ||
emails | string[] | ||
note | string | A line added to the invitation email. | |
send_invitations | boolean | Default true. |
list_meeting_transcripts
Scope: meet:read
List the space's Meet-transcriber transcripts (segment count, duration, status, and recap_gist — one line on what came out of the meeting) — only meetings/calls where the transcriber ran. Reach call transcripts (test calls, inbound/outbound, campaigns) are NOT here — use list_agent_reach_conversations for those.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | Max rows (default 25, cap 100). | |
offset | number |
list_meetings
Scope: meet:read
List video meetings in the space.
remove_from_call
Scope: meet:write
Remove someone from a live call (identity from who_is_in_call), or everyone: true to clear the room.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes | |
identity | string | ||
everyone | boolean |
schedule_meeting
Scope: meet:write
Schedule a Wakato Meet video meeting at a time, with people: it lands on the space calendar, the contacts (contact_ids) or email addresses you name go on its guest list and get the real Wakato invitation email with the join link, and the meeting shows on the contact's page. Say the time as "YYYY-MM-DD HH:MM" — read in the space's timezone — and a length (duration_minutes, default 30) or an end. If the calendar already has something then, nothing is scheduled and the clash is named — pick another time or pass even_if_busy: true. The transcript (and so the recap) is on unless transcript: false; record: true to record.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | |
description | string | ||
start | string | yes | "YYYY-MM-DD HH:MM" in the space's time, or an ISO time. |
duration_minutes | number | Default 30. | |
end | string | Instead of duration_minutes. | |
contact_ids | string[] | Contacts of this space to invite (they need an email). | |
emails | string[] | Other people to invite by email. | |
note | string | A line added to the invitation email. | |
send_invitations | boolean | Default true. false = put them on the guest list without emailing. | |
record | boolean | ||
transcript | boolean | Default true. | |
even_if_busy | boolean |
uninvite_from_meeting
Scope: meet:write
Take people off a meeting's guest list by email (see get_meeting_link) — an invited-only link stops letting them in.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes | |
emails | string[] | yes |
update_meeting
Scope: meet:write
Change a meeting: reschedule it (start "YYYY-MM-DD HH:MM" in the space's time, duration_minutes or end — the calendar moves with it and invitees are emailed the new time unless notify_invitees: false; a clash stops it unless even_if_busy), rename it, change its description, turn recording, the transcript or the assistant on or off. For a room's link or waiting room use update_room.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes | |
title | string | ||
description | string | ||
start | string | ||
duration_minutes | number | ||
end | string | ||
record | boolean | ||
transcript | boolean | ||
assistant_joins | boolean | The meeting assistant joins the call and takes notes. | |
who_can_join | space_members_only | wakato_accounts | invited_only | anyone_with_link | Who the join link lets in (space_members_only turns the link off). | |
notify_invitees | boolean | Default true when the time moves. | |
even_if_busy | boolean |
update_room
Scope: meet:write
Change a room: its name, description, who its link lets in (who_can_join), its waiting room, recording, the transcript.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes | |
title | string | ||
description | string | ||
who_can_join | space_members_only | wakato_accounts | invited_only | anyone_with_link | Who the link lets in (space_members_only turns the link off). | |
waiting_room | boolean | ||
record | boolean | ||
transcript | boolean |
waiting_guests
Scope: meet:read
Who is in a meeting's or room's waiting room right now, asking to be let in.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes |
who_is_in_call
Scope: meet:read
Who is in a live meeting or room right now — people and guests.
| Parameter | Type | Required | Description |
|---|---|---|---|
meeting_id | string | yes |