Migrate from Recall.ai
A one-command tool that scans your Recall.ai codebase, maps every API call to its MeetStream equivalent, shows you the diff, and rewrites it, for both Node.js and Python.
MeetStream covers the core Recall.ai bot workflow at a lower published price: 0.25 at volume) versus $0.50. The migration kit does the mechanical rewrite for you and tells you exactly what, if anything, needs a human.
What it does
Point the tool at your existing Recall.ai project and it works in four passes:
- Scan: recursively finds Recall base URLs, endpoint calls, field names, webhook handlers, SDK imports, and
RECALL_API_KEYusage. - Map: prints endpoint, field, and webhook mapping tables so you can see every change before it happens.
- Transform: rewrites base URLs, endpoint paths, field names, webhook event handling, env vars, and imports.
- Report: summarizes what changed, warns on anything that needs manual review, and prints a post-migration checklist.
Run it in scan or --dry-run mode as many times as you like. Nothing is written until you confirm.
Install & run
Node.js
Python
What gets rewritten
Endpoints
Fields
Webhooks
Recall’s webhook becomes either a signed workspace webhook endpoint or a per-bot callback_url, and Recall’s string events map onto MeetStream’s event model:
- Every payload carries
eventandbot_event. Branch onbot_event. - A bot’s ending arrives once, as
event: "bot.stopped", with the cause inbot_event:bot.stopped,bot.kicked,bot.denied,bot.notallowedorbot.failed. bot.donemarks the end of post-call processing for every bot.
Before finalizing your handlers, read Webhooks and Events, or have your assistant call the webhook_events_guide tool on the MeetStream MCP server.
Capability comparison
Checked on September 24, 2026. MeetStream facts come from the product; Recall.ai facts come from Recall.ai’s public documentation and website, linked in the notes below. Only capabilities we could verify on both sides are listed.
Where MeetStream goes further
Available on both
Where Recall.ai goes further
Notes (all checked September 24, 2026)
- Recall.ai, Storage and playback: docs.recall.ai/docs/storage-and-playback
- Recall.ai pricing: recall.ai/pricing
- Recall.ai, separate audio per participant (real-time): docs.recall.ai/docs/how-to-get-separate-audio-per-participant-realtime
- Recall.ai, separate video per participant (real-time): docs.recall.ai/docs/how-to-get-separate-videos-per-participant-realtime
- Recall.ai, Output Media: docs.recall.ai/docs/stream-media
- Recall.ai, Transcription: docs.recall.ai/docs/transcription
- Recall.ai, Calendar integration: docs.recall.ai/docs/calendar-integration
- Recall.ai, Bot overview (supported platforms): docs.recall.ai/docs/bot-overview
- Recall.ai, Zoom breakout rooms: docs.recall.ai/docs/zoom-breakout-rooms
- Recall.ai, Zoom webinars and registration-required meetings: docs.recall.ai/docs/zoom-webinars
- Recall.ai website, security section (SOC 2 Type 2 report): recall.ai
What the migrator flags for review
The migrator flags Recall.ai calls that have no one-to-one MeetStream equivalent, most notably live video output into the meeting. On MeetStream, bots can show a still or animated image with Send Image, and MIA voice agents can speak in the meeting. Everything in the endpoint and field tables migrates automatically.
After migrating
- Swap
RECALL_API_KEYforMEETSTREAM_API_KEYin your environment and secrets manager. - Change the auth header to
Authorization: Token <your-key>. - Receive events through a workspace webhook endpoint (signed) or
callback_urloncreate_bot. - Run
test --api-key ...(optionally with--meeting-url) to confirm the live API responds as expected. - Review anything the report flagged for manual attention.
Prefer to drive MeetStream from a chat assistant instead of rewriting code by hand? The MeetStream MCP server gives Claude direct access to the same API.
