MeetStream integration
MeetStream sends recording bots into Zoom, Google Meet and Microsoft Teams calls. Create a bot for a meeting link, now or at a set time, follow its status, make it leave, pause or resume its recording, post a chat message or show an image in the live call and update a running voice agent, then fetch the mixed and per-participant recordings, participants, chat, speaker timeline, screenshots and transcripts, re-transcribe a recording with another provider, or permanently delete a bot's data. It also reads the connected Google and Outlook calendars and their synced events, schedules bots for single events or for every meeting automatically, and disconnects a calendar account. A bot records the real people in the meeting, its meeting time uses MeetStream credits, and recordings, transcripts, chat and participant lists are personal data. Left out: connecting a calendar (it takes the calendar app's client secret and refresh token), the Google and Teams signed-in bot account routes (account passwords and SAML keys), the voice agent configuration routes (their answers return the custom-function headers the agent stores, tokens included), the bot list (its records carry each bot's original create request, whose Zoom token URLs hold a secret, in an undocumented shape), the duplicate bot detail route, the GET form of remove bot, the account-wide calendar disconnect and the transcript-by-bot route, whose answer is undocumented. Authentication is a MeetStream API key from the dashboard (API tab), sent as Authorization: Token <key>.
Say what should happen.
The workflow builds itself.
What you can do with MeetStream
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Connection, 3 operations
delete_calendar_connectionDelete calendar connectionDELETEDisconnects one calendar account. By default it also deletes its synced events and cancels the bots scheduled from them; purge_events=false keeps those.get_calendar_connectionGet calendar connectionGETReturns one connected calendar account (Google or Outlook) by its email address: status, display name, calendar counts and dates. Tokens are never returned.list_calendar_connectionsList calendar connectionsGETLists the Google and Outlook accounts connected for calendar sync, with status, email, display name and calendar counts. Tokens are never returned.
Scheduled bot, 3 operations
delete_scheduled_botDelete scheduled botDELETECancels a bot scheduled for a future meeting so it never joins.list_scheduled_botsList scheduled botsGETLists the bots due to join a meeting in the future, from join_at or from a calendar: bot id, platform, join time, bot name and meeting link.reschedule_botReschedule botPATCHChanges the join time of a bot that is already scheduled.
Schedule, 2 operations
schedule_eventSchedule eventPOSTSchedules a bot for one synced calendar event so it joins that meeting when it starts. The bot records the real people in the call and its meeting time uses MeetStream credits. HTTP 409 if the event already has a bot.unschedule_eventUnschedule eventDELETECancels the bot scheduled for one calendar event; the rest of the calendar's auto-scheduling is untouched.
Screenshot, 2 operations
get_screenshotGet screenshotGETReturns one screenshot of a bot with a fresh one-hour download link, its capture time, file name and size.list_screenshotsList screenshotsGETLists the screenshots captured for a bot, newest first, with a one-hour download link each, filtered by time and paged with continuation tokens. Screenshots can show the people in the meeting.
Bot, 1 operation
get_botGet botGETReturns one bot's record: status, error reason, status timeline, platform, meeting link, start and end times, duration, custom attributes, transcript_id and the caption and participant event files. Personal data.
Calendar, 1 operation
list_calendarsList calendarsGETLists the calendars of every connected Google and Outlook account (id, name, primary flag, access role, time zone) with the connections they come from.
Create bot, 1 operation
create_botCreate botPOSTSends a bot into a Zoom, Google Meet or Teams meeting now, or at join_at, to record and optionally transcribe it. The bot records the real people in the call and its meeting time uses MeetStream credits. Returns bot_id.
Delete, 1 operation
delete_bot_dataDelete bot dataDELETEPermanently deletes a bot's recordings, transcripts and metadata (it cannot be undone); the bot's status becomes MediaExpired. Returns the number of objects deleted.
Disable, 1 operation
disable_auto_scheduleDisable auto schedulePOSTTurns off automatic scheduling. New calendar events stop getting bots; bots already scheduled stay scheduled.
Enable, 1 operation
enable_auto_scheduleEnable auto schedulePOSTTurns on auto-join: a bot built from default_bot_config joins every meeting with a link on the connected calendars, declined and external ones included. Each bot records the real people in the call and uses MeetStream credits.
Event, 1 operation
list_calendar_eventsList calendar eventsGETLists the synced events of the connected calendars in a time window (yesterday to 28 days ahead by default): times, meeting platform and link, and the bots scheduled for each. Paged with cursor. Events can name attendees (personal data).
Get audio, 1 operation
get_bot_audioGet bot audioGETReturns a one-hour download link for the mixed meeting audio (WAV, plus an MP3 link when requested at creation). While the bot is still in the meeting or processing, MeetStream answers HTTP 202 with a status instead. Personal data.
Get audio stream, 1 operation
get_audio_streamsGet audio streamsGETLists the per-participant audio files of a meeting (needs audio_separate_streams at creation): participant, start offset, duration and one-hour download links. HTTP 202 while the bot is still in the call. Personal data.
Get chat, 1 operation
get_bot_chatsGet bot chatsGETReturns the chat the bot captured in a Google Meet or Teams call: every message with sender, time and text, plus per-sender counts. On Zoom it answers HTTP 404 (the chat is in get_bot's participant_events file). Personal data.
Get participant, 1 operation
get_participantsGet participantsGETLists the people seen in the meeting: platform participant id, display and full names, profile picture, in-meeting status, stream ids and, after the call, the matching calendar invite email. Personal data.
Get recording stream, 1 operation
get_recording_streamsGet recording streamsGETLists the per-participant video files of a meeting, webcam and screen share (needs video_separate_streams at creation): participant, start offset, duration and one-hour download links. HTTP 202 while processing. Personal data.
Get speaker timeline, 1 operation
get_speaker_timelineGet speaker timelineGETReturns who spoke when, available after the bot leaves. Google Meet: chunks of the audio per speaker. Zoom: sessions with start and end times. Teams: about one-second slices labelled with the speaker. Personal data.
Get transcript, 1 operation
get_transcriptGet transcriptGETReturns a finished transcript, speaker labelled: a list of per-participant word lists, or of segments (speaker, text, times, words). HTTP 202 while processing. Personal data.
Get video, 1 operation
get_bot_videoGet bot videoGETReturns a one-hour download link for the composite meeting video and its duration, size, resolution and frame rate. Nothing when the bot was created with video_required false; HTTP 202 while processing. Personal data.
Pause recording, 1 operation
pause_recordingPause recordingPOSTPauses recording for a bot in a Zoom, Google Meet or Teams call: it stays in the meeting while its video turns black, audio silent and live transcription stops until resume_recording. A bot already paused answers HTTP 409 (no_op).
Remove bot, 1 operation
remove_botRemove botPOSTMakes a bot leave its meeting, or cancels a scheduled bot; recordings and transcripts are kept. Returns the stop request state (HTTP 202 while in progress); follow it with get_stop_status.
Resume recording, 1 operation
resume_recordingResume recordingPOSTResumes recording for a paused bot in a Zoom, Google Meet or Teams call, on the original timeline. A bot that is already recording answers HTTP 409 (no_op).
Send image, 1 operation
send_imageSend imagePOSTShows an image (HTTPS URL or base64, animated GIF allowed) as the bot's video feed in the live meeting for display_duration seconds, seen by every participant. The bot must be in the meeting.
Send message, 1 operation
send_chat_messageSend chat messagePOSTPosts a chat message into the live meeting as the bot, seen by every participant. The bot must be in the meeting (HTTP 409 otherwise); 30 live commands per minute per bot.
Setting, 1 operation
get_auto_schedule_settingsGet auto schedule settingsGETReturns whether calendar auto-scheduling is on and the default bot configuration used for automatically scheduled bots.
Status, 1 operation
get_bot_statusGet bot statusGETReturns a bot's lifecycle status (Scheduled, Joining, InWaitingRoom, InMeeting, RecordingPermissionAllowed or Denied on Zoom, Leaving, Stopped, Kicked, NotAllowed, Denied, Failed, Error, MediaProcessing, Done, MediaExpired, Cancelled).
Stop status, 1 operation
get_stop_statusGet stop statusGETReturns the progress of a stop request without stopping the bot again: not_requested, stop_requested, acknowledged, graceful_exit_in_progress, stopped, force_stopped, failed or cancelled.
Transcribe, 1 operation
transcribe_bot_audioTranscribe bot audioPOSTStarts a new transcription of a bot's recording with one provider (deepgram, assemblyai, sarvam, jigsawstack or meetstream) and its options. Returns transcript_id; read it with get_transcript once ready.
Transcription, 1 operation
list_bot_transcriptionsList bot transcriptionsGETLists every transcription run of a bot: transcript_id, provider, status (Success, Processing, Failed), options used and one-hour download links for the raw and processed transcript files.
Update mia, 1 operation
update_live_agentUpdate live agentPOSTChanges a MIA voice agent running in a live meeting: its prompt variables, system prompt or wake words. The saved agent configuration is not changed. The bot must be in the meeting.
Use MeetStream from Claude Code, Cursor or Codex
Connect MeetStream in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its MeetStream operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect MeetStream
- Create your workspace
Sign up free. Nothing to install.
- Connect MeetStream once
Add your MeetStream connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
MeetStream integration FAQ
What can you do with the MeetStream integration?
LiveContext exposes 36 operations on MeetStream, covering connection, scheduled bot, schedule and screenshot.
