FAQ
Platforms
Which meeting platforms does MeetStream support?
Zoom, Google Meet, and Microsoft Teams, all through the same API. Google Meet and Teams need zero setup; Zoom needs a one-time Marketplace app setup. Webex and Slack are on the roadmap.
Do I need different code per platform?
No — one create_bot call with the meeting link. MeetStream detects the platform from the URL. Platform differences that do exist (Zoom’s recording-permission gate, per-participant isolation levels, timeout defaults) are documented on the Zoom, Google Meet, and Teams pages.
What meeting link formats work?
Standard invite links: https://meet.google.com/xxx-xxxx-xxx, https://zoom.us/j/<id> (with ?pwd= when the meeting is password-protected), and https://teams.microsoft.com/l/meetup-join/....
Getting started
How do I authenticate?
Every request sends Authorization: Token YOUR_API_KEY — literally the word Token, not Bearer. Keys come from the dashboard and are scoped per workspace. An invalid key returns 401. See Authentication.
What's the minimum request to put a bot in a meeting?
Two fields: meeting_link and bot_name. A successful create returns 201 with the bot_id you’ll use for everything else. See the quickstart.
Is there a way to try the API without writing code?
Yes, two: the API Playground in the dashboard (a visual bot builder with live preview and generated code), and the CLI (npx @meetstream/cli).
Recording & data
How do I get the recording after the meeting?
GET /bots/{bot_id}/get_audio and /get_video return presigned URLs (audio links valid 1 hour, video links 10 minutes — re-request for fresh ones). Per-participant streams come from /get_audio_streams and /get_recording_streams.
What does per-participant audio actually contain?
Depends on the platform. Zoom: full isolation — each file is only that participant’s microphone (dedicated SDK stream). Google Meet and Teams: partial isolation — speaker-attributed capture of the meeting audio during each participant’s speaking windows. Details: per-participant audio.
How long is my data kept?
Configurable via recording_config.retention (default 24 hours). When retention expires or you call the delete endpoint, a data_deletion webhook fires and artifact endpoints return 404/410. You can also store recordings in your own S3 bucket. See usage & retention.
What's the difference between removing and deleting a bot?
GET /bots/{id}/remove_bot makes the bot leave the meeting now — data is kept. DELETE /bots/{id}/delete permanently deletes audio, video, and transcripts.
Transcription
Which transcription providers can I use?
Can I re-transcribe a meeting with a different provider?
Yes — POST /bots/{bot_id}/transcribe re-runs transcription on the recorded audio with any provider config, without re-recording anything. List every run with GET /bots/{bot_id}/transcriptions.
Why is my transcript missing after the bot stopped?
Either post-call processing is still running (retry shortly), or you used a streaming-only provider — those deliver text to your live webhook during the meeting and never produce a post-call transcript. See debugging.
Scheduling & webhooks
Can bots join meetings automatically from my calendar?
Yes — connect Google Calendar or Outlook, then schedule per event or enable full auto-join (bots join 1 minute before start). Recurring meetings are supported. See the Scheduling guide.
How do I avoid duplicate bots?
Use a deduplication_key (same key + same meeting replays the existing bot) and the Idempotency-Key header for safe retries (replay returns 507 with the original bot). Neither charges twice. See Deduplication & Idempotency.
Are webhooks retried?
No — delivery is best-effort, and non-2xx or unreachable endpoints are not retried. Test locally with meetstream listen plus a tunnel. See Webhooks and Events.
Building with AI
Can my AI agent use MeetStream directly?
Yes — the MeetStream MCP server is an action server: it creates bots, pulls transcripts, and sends messages into live meetings. Use the hosted server at https://mcp.meetstream.ai/mcp or run npx @meetstream/mcp locally. There’s also a docs-search MCP at docs.meetstream.ai/_mcp/server.
Are these docs readable by LLMs?
Append .md to any docs URL for clean Markdown, and start from the index at docs.meetstream.ai/llms.txt. The OpenAPI spec is published at docs.meetstream.ai/openapi.json.
I'm migrating from Recall.ai — is there tooling?
Yes: npx @meetstream/migrate (Node) and meetstream-migrate (PyPI) scan your code and map fields (meeting_url→meeting_link, transcription_options→recording_config.transcript, …). See Migrate from Recall.ai.
Still stuck? Email support@meetstream.ai or check the Debugging guide.
