Meetbot.start(meta:)
Opens the audio session, writes Opus chunks to disk, uploads via background URLSession upload task.
03 · mobile recording sdk
shipping Q3 2026 · embedded SDK only · waitlist openA Swift framework and a Kotlin module you embed in your app. Captures the ambient mic during a meeting and uploads to your tenant. iOS + Android land Q3 2026 — and we're upfront about what mobile OSes will and won't let us do.
overview
Read this before you integrate. Apple's ReplayKit and Android's MediaProjection both fundamentally block capture of other apps' VoIP audio. That means on iOS we cannot record what you hear from Zoom, Meet, or Teams running in another app — and Android blocks USAGE_VOICE_COMMUNICATION for AudioPlaybackCapture on the same grounds. Anyone selling you "system audio capture" on mobile is either lying or has a jailbroken-device qualifier they aren't surfacing.
What we can do: capture the ambient microphone with the meeting metadata your app passes us, upload it to your tenant. From there you pipe it into the transcription provider of your choice (Whisper, Deepgram, AssemblyAI, etc.) — our hosted Whisper option is on the same Q3 2026 timeline. For in-person meetings this is the entire product. For remote meetings it's "your side of the conversation, captured." Honest about the limits, ship anyway.
iOS. Native Swift, distributed via Swift Package Manager + CocoaPods. Background audio mode (UIBackgroundModes: ["audio"]), red status-bar pill so the user always knows recording is on (App Store guideline 5.1.1), and a one-time "I have consent from all participants" modal the integrator must surface — twelve US states require two-party consent. Android. Kotlin module on Maven Central, foreground service of type microphone, MediaCodec to Opus, same upload path. MIT-licensed reference apps in github.com/meetbot/samples.
honest scope
The honest version: scope is locked, the legal-and-OS constraints are mapped, none of it is shippable yet. Q3 2026 is when iOS + Android land together.
works today
Server-side bot API for desktop participants
/product/meeting-bot-api ships today — if your end-users join meetings from a laptop, the bot covers them without a mobile install.
Public position on the OS-VoIP-block
We've published exactly what mobile OSes do and don't allow (Apple Forums thread 651367 for ReplayKit; Android USAGE_VOICE_COMMUNICATION on AudioPlaybackCapture). No bait-and-switch at GA.
Reference-app architecture
samples/mobile-meeting-recorder layout pinned: background audio mode, red-pill status bar, two-party consent modal, background URLSession upload, resume-on-resume-from-background. Documented; not yet built.
not yet
Swift Package on SPM + CocoaPods
Q3 2026. Swift framework, ARC, AsyncSequence-based callback API.
Kotlin module on Maven Central
Q3 2026. Foreground service of type microphone, MediaCodec→Opus pipeline.
Background-upload via URLSession + WorkManager
Q3 2026. Resumable uploads survive app backgrounding and force-quit.
samples/mobile-meeting-recorder demo apps
Will land in github.com/meetbot-dev when the SDKs reach beta.
System VoIP audio capture
Will not ship — Apple's ReplayKit + Android's MediaProjection block this at the OS level. We will not work around it; we recommend the bot path for that workload.
Mobile users joining via Zoom/Meet/Teams native apps can still be recorded today via the bot API — see /product/meeting-bot-api.
planned surface
Opens the audio session, writes Opus chunks to disk, uploads via background URLSession upload task.
Finalizes + emits the completion delegate. The recording id matches what comes back over the webhook.
Mic permission with copy your app can override. Background-audio entitlement check in the same call.
First-run UI prompt your app surfaces once per session. Off-by-default in jurisdictions that don't require it.
Maven Central. MediaProjection-based foreground service (type microphone), Opus encoding via MediaCodec.
End-to-end iOS + Android demo apps. MIT. Shows the upload flow, the consent modal, and the resume-on-resume-from-background behavior.