Skip to navigation

API Playground

Build and launch a real bot from the dashboard, no code required
View as Markdown

The API Playground is a visual bot builder inside the dashboard. It walks the full create_bot surface in 10 steps (Core, Identity, Streams, Record, Transcribe, Callback, Timeouts, Schedule, Meta and Agent) and sends live requests to the real API with one of your keys. Every field maps 1:1 to a Create Bot request field, so anything you build here can be copied into code.

Why it is useful even if you live in code:

  • See the request you are building. The Code toggle shows the exact JSON payload for your current configuration.
  • Preview before you send. The Bot Preview pane shows the platform detected from your link and how the bot will appear in the meeting.
  • Explore the long tail. Per-participant streams, transcription providers, callbacks, timeout tuning, scheduling, custom attributes and MIA agents are all laid out as steps instead of buried in a schema.

The Playground sends real requests. A bot you send joins the meeting and is billed like any other bot. Admitting it, removing it and its recordings all work exactly as they do from the API.

Step by step

2

Identity: avatar and join message

bot_image_url (1) is shown as the bot’s camera tile; use an HTTPS PNG or JPG. bot_message (2) is posted in the meeting chat when the bot joins, which is a simple way to tell participants the meeting is being recorded.

API Playground Identity step with the bot image URL and join message fields highlighted
Identity step: bot_image_url and bot_message
3

Streams: video and per-participant media

video_required (1) records video. video_separate_streams (2) saves one video file per participant and audio_separate_streams (3) saves one audio file per speaker. Limits differ by platform; see per-participant audio and per-participant video.

API Playground Streams step with the three stream toggles highlighted
Streams step: video_required, video_separate_streams, audio_separate_streams
4

Record: layout and retention

recording_config.video_layout (1) chooses speaker_view or grid_view for the composited recording. recording_config.retention.type (2) controls how long media is kept; see Usage & Retention.

API Playground Record step with the video layout and retention selectors highlighted
Record step: video layout and retention
5

Transcribe: live or post-call

Choose Live transcription or Post-call transcription (1), then a provider (2). Live transcription also needs live_transcription_required.webhook_url (3), where transcript events are POSTed during the call. Streaming providers differ by platform; see Live Transcription and Post-Call Transcription.

API Playground Transcribe step in live mode with the provider select and webhook URL highlighted
Live transcription: streaming provider and webhook URL
API Playground Transcribe step in post-call mode with the provider select highlighted
Post-call transcription: provider only; the transcript is produced after the bot leaves
6

Callback

callback_url receives lifecycle events for this bot only, unsigned. For signed delivery to a fixed endpoint, use Workspace Webhook Endpoints instead.

7

Timeouts: automatic leave

Sent as the automatic_leave object: waiting_room_timeout (1), everyone_left_timeout (2), voice_inactivity_timeout (3) and in_call_recording_timeout (4), all in seconds. When a timeout is not included in the request, the platform default applies. Allowed ranges and which timeouts each platform honors are on Automatic Leave Configurations.

API Playground Timeouts step with the four automatic leave fields highlighted
Timeouts step: the four automatic_leave fields
8

Schedule

Join immediately (1) or Schedule for later (2), which sets join_at (ISO 8601, up to 90 days ahead). See Scheduling Bots.

API Playground Schedule step with Join immediately and Schedule for later highlighted
Schedule step: join now or set join_at
9

Meta: custom attributes

Add custom_attributes key/value pairs. They are echoed back in webhooks, which makes it easy to map a bot to your own user, meeting or CRM record. See Custom Attributes.

10

Agent: attach a MIA agent, then send

Attach a hosted MIA agent by agent_config_id (1), or point the bot at your own agent with agent_url (2); MeetStream appends /bridge and /bridge/audio for the control and live-audio sockets. Send Request (3) creates the bot.

API Playground Agent step with the hosted agent selector, self-hosted agent URL and Send Request button highlighted
Agent step: hosted agent, self-hosted agent URL, and Send Request

See What is MIA? and Bridge Server Architecture.

A good first session

  1. Create an API key in the dashboard under Configure > API Keys (the Playground’s token dropdown lists your keys by name).
  2. Open meet.new to start a test Google Meet that you host.
  3. Paste the link into Core, name your bot, go to Agent and click Send Request, then admit the bot from the meeting.
  4. Open All Bots to watch its status timeline, then flip to Code and copy the request into your codebase.

From there, the quickstart covers fetching the recording, webhooks close the loop on events, and the Bot Status and Error Code Reference explains every status you will see.

Prefer a terminal?

Everything the Playground does, the MeetStream CLI does with flags (meetstream bot create ... -t deepgram -c <webhook>), and the MCP server does as agent tools.