> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.meetstream.ai/guides/get-started/workspaces/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server. # Workspaces > Use workspaces as environments in MeetStream: workspace-scoped API keys, separate bots and usage per workspace, and team access from the dashboard. Your MeetStream account is organized into **workspaces** — each with its own API keys, bots, webhooks, and usage. That makes workspaces the natural unit for separating environments and teams. ## What's scoped per workspace * **API keys** — keys are scoped to the workspace they're created in ([app.meetstream.ai/api-key](https://app.meetstream.ai/api-key)); a key from one workspace can't touch another's bots. Live and test keys are visually distinct (`ms_live_sk_...` / `ms_test_sk_...`). * **Bots and their artifacts** — the All Bots view, recordings, and transcripts. * **Webhook endpoints** — [workspace webhook endpoints](/guides/webhooks/workspace-webhooks) deliver events for that workspace's bots. * **Usage** — the [Usage view](/guides/features/usage-and-retention) reports per-workspace consumption, with per-bot API-key attribution. The workspace switcher lives in the dashboard sidebar, and the **Team** page manages who has access. ## Using workspaces as environments The pattern that keeps staging accidents out of production: 1. One workspace per environment (e.g. `Staging`, `Production`). 2. Separate API keys per workspace, injected via your secret manager — never share keys across environments. 3. Separate [workspace webhook endpoints](/guides/webhooks/workspace-webhooks) per environment, so staging events never hit production handlers. 4. Within a workspace, use [`custom_attributes`](/guides/features/custom-attributes) for finer-grained routing (per customer, per job). ## Rotating and revoking keys Keys are created and revoked on the [API Keys page](https://app.meetstream.ai/api-key). Revocation is immediate — create the replacement key first, roll it out, then revoke the old one. ![API Keys page: workspace-scoped keys with creation dates and revoke controls](/_fern-img/2c58ab0296707567dd0afe9a5a6ce043c2cd13a6a422dd4732842c73cb645cae.webp) > Meeting bot API documentation for Zoom, Google Meet and Microsoft Teams: create bots, stream real-time audio, transcribe, and run in-meeting voice agents.