> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetstream.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server.

# Create Your First Meeting Bot

> Send one API request to put a recording bot in a Zoom, Google Meet, or Microsoft Teams meeting, then check its status, download the recording, and remove it.

# MeetStream Quickstart: Create Your First Bot

This guide helps new MeetStream users create their first bot, join a meeting, and retrieve recordings.

---
> Note: [Dashboard Setup](/guides/get-started/dashboard-setup) must be completed before proceeding with the below steps.

## 1) Create a bot (join Zoom / Google Meet / Microsoft Teams)

Use the **Create Bot** endpoint:  
https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/create-bot

### What you need to send

- `meeting_link` (**required**): paste the meeting link (Zoom / Google Meet / Microsoft Teams).
- `bot_name` (**required**): the display name the bot joins with.
- `video_required`: set `true` if you want video, otherwise `false`.

> Note: Currently MeetStream supports **Google Meet, Zoom, and Microsoft Teams**.

### Example cURL

```bash
curl -X POST "https://api.meetstream.ai/api/v1/bots/create_bot" \
  -H "Authorization: Token <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "meeting_link": "<YOUR_MEETING_LINK>",
    "bot_name": "Notetaker",
    "video_required": false
  }'
```

A successful call returns `HTTP 201` with the bot details, including the `bot_id`. Save it — every follow-up call (status, audio, video, remove) uses it.

> Tip: need a meeting to test against? Open [meet.new](https://meet.new) to spin up an instant Google Meet.

---

## 2) Check the bot's status

While the meeting is running you can poll the bot's state (joining, in call, recording, exited):

```bash
curl "https://api.meetstream.ai/api/v1/bots/<BOT_ID>/status" \
  -H "Authorization: Token <YOUR_API_KEY>"
```

Reference: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-status

---

## 3) Retrieve audio and video after the bot leaves

After the call ends (or the bot leaves), you can fetch recordings:

### Get bot audio
https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-audio

### Get bot video
https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-video

> Depending on your setup, processing may take a short time after the bot exits.

---

## 4) Remove/stop the bot from an active meeting

Removing a bot is a simple `GET` with the `bot_id` in the path — no request body:

```bash
curl "https://api.meetstream.ai/api/v1/bots/<BOT_ID>/remove_bot" \
  -H "Authorization: Token <YOUR_API_KEY>"
```

Reference: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/remove-bot

---

## Troubleshooting tips

- Double-check whether you’re using the correct **API key** and header format:
  - `Authorization: Token <YOUR_API_KEY>`
- Ensure the `meeting_link` is a valid Zoom/GMeet/Teams meeting URL.
- If video isn’t needed, keep `video_required=false` to reduce bandwidth and processing time.

---

## Next steps

- **Get a transcript**: add transcription to your bot with [post-call transcription](https://docs.meetstream.ai/guides/transcription-recordings/post-call-transcription) or [live transcription](https://docs.meetstream.ai/guides/transcription-recordings/live-transcription).
- **React to events**: receive bot lifecycle updates with [webhooks](https://docs.meetstream.ai/guides/webhooks/webhooks-and-events).
- **Build with an agent**: connect the [MeetStream MCP server](https://docs.meetstream.ai/build-with-ai/meetstream-mcp-server) so Claude or your coding agent can create bots and pull transcripts for you.

Full API reference: https://docs.meetstream.ai/api-reference