Dashboard

Integration Guide

Everything you need to integrate MeetBot into your application

Quick Start Guide
Follow these steps to send your first bot into a meeting, retrieve the recording, and get a transcript -- all through the API.
1

Create an API Key

Head over to the API Keys page in the dashboard and generate a new key. You will use this key to authenticate every API request.

Authenticate with your keyShell
1curl -H "x-api-key: your_api_key_here" https://api.meetbot.dev/api/v1/bots
2

Create a Bot

Create a bot resource tied to a specific meeting URL. Provide the platform, meeting link, and an optional display name.

create_bot.pyPython
1import requests
2
3response = requests.post(
4 "https://api.meetbot.dev/api/v1/bots",
5 headers={"x-api-key": "your_api_key"},
6 json={
7 "meetingInfo": {
8 "platform": "google",
9 "meetingUrl": "https://meet.google.com/abc-defg-hij"
10 },
11 "botDisplayName": "Meeting Recorder",
12 "meetingTitle": "Team Standup"
13 }
14)
15bot = response.json()
16print(f"Bot created: {bot['id']}")
3

Deploy the Bot

Once the bot is created, deploy it so it joins the meeting and begins recording automatically.

deploy_bot.pyPython
1deploy_response = requests.post(
2 f"https://api.meetbot.dev/api/v1/bots/{bot['id']}/deploy",
3 headers={"x-api-key": "your_api_key"}
4)
4

Get the Recording

After the meeting ends the bot will upload the recording. Fetch the download URL to access the file.

get_recording.pyPython
1# Wait for the meeting to end, then fetch the recording
2recording = requests.get(
3 f"https://api.meetbot.dev/api/v1/recordings/{bot['id']}/download",
4 headers={"x-api-key": "your_api_key"}
5).json()
6print(f"Download URL: {recording['downloadUrl']}")
5

Transcribe

Start an asynchronous transcription job, poll until it completes, and retrieve the full transcript.

transcribe.pyPython
1# Start transcription
2requests.post(
3 f"https://api.meetbot.dev/api/v1/transcripts/{bot['id']}/transcribe",
4 headers={"x-api-key": "your_api_key"},
5 json={"provider": "deepgram", "diarization": True}
6)
7
8# Poll for completion
9import time
10while True:
11 status = requests.get(
12 f"https://api.meetbot.dev/api/v1/transcripts/{bot['id']}/status",
13 headers={"x-api-key": "your_api_key"}
14 ).json()
15 if status["status"] in ["completed", "failed"]:
16 break
17 time.sleep(5)
18
19# Get transcript
20transcript = requests.get(
21 f"https://api.meetbot.dev/api/v1/transcripts/{bot['id']}",
22 headers={"x-api-key": "your_api_key"}
23).json()
6

Set up Webhooks

Instead of polling, register a webhook endpoint to be notified in real time when recordings, transcripts, or bot events occur.

create_webhook.pyPython
1webhook = requests.post(
2 "https://api.meetbot.dev/api/v1/webhooks",
3 headers={"x-api-key": "your_api_key"},
4 json={
5 "name": "My Webhook",
6 "url": "https://your-server.com/webhook",
7 "events": ["recording.available", "transcript.completed", "bot.ended"]
8 }
9).json()
10print(f"Webhook secret: {webhook['secret']}")