meetbot / docs
Per-platform

Cisco Webex

Joining Cisco Webex Meetings as a meetbot — supported URL patterns, lobby behavior, captions, known quirks.

The webex adapter joins Cisco Webex Meetings via browser automation on the web client (*.webex.com/...). No Webex SDK, no marketplace app, no JWT signing — anonymous guest join just like Meet/Teams.

Supported URL patterns

PatternNotes
https://*.webex.com/meet/<user>Personal Rooms
https://*.webex.com/wbxmjrn/sites/.../<id>Scheduled meetings (legacy URL form)
https://*.webex.com/webappng/sites/.../meeting/...Web-app NG meeting URLs

The platform discriminator is auto-detected by host suffix (*.webex.com); you can override it explicitly via platform: "webex" on dispatch if you need to force the routing.

curl -X POST https://api.meetbot.dev/api/v1/jobs \
  -H "authorization: Bearer $MEETBOT_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "externalId": "webex-demo-2026-05-09",
    "meetingUrl": "https://meetingsapac1.webex.com/meet/alice",
    "platform": "webex",
    "displayName": "meetbot",
    "webhooks": {"onFinalize": "https://yours.example/hook/meetbot"}
  }'

Lobby behavior

  • Personal Rooms with default settings auto-admit guests; the bot goes from joiningin_meeting without an entering_lobby stop.
  • Enterprise tenants that enable "Allow guests" off OR "Lobby for guests" require host approval — the bot reports entering_lobby and waits for admission. Configure autoLeave.afterEntryDelaySeconds to bound the wait (default 600s / 10 min).
  • SSO-required meetings can't be joined by an anonymous bot. The job fails with failure_code: auth_failure and the failure_detail carries the sentinel that triggered detection ("SSO authentication is required"). Migrate the meeting to the guest-join policy or supply OAuth credentials (M2 ticket).

Captions

The adapter toggles closed captions via the toolbar's More menu when the tenant has captions enabled in the meeting policy. When captions are off-by-policy the toggle silently no-ops; transcription falls back to the bot's own audio capture (per-speaker WebRTC tracks → Whisper or your STT of choice).

Roster + competing-bot detection

The bot scrapes the participants panel for display names and feeds them into the shared evaluateAutoLeave evaluator. The same auto-leave-on-bot-detected behavior available for Meet/Teams/Zoom is available for Webex — set autoLeave.onBotDetected: true on dispatch.

Known quirks

  • Webex's "Start meeting" button (host view) is rendered as the same CTA as the guest "Join meeting" button — the bot will never see the host CTA because we always join as a guest. No special handling required.
  • Some tenants serve a "Download the desktop app" interstitial before the join page; the adapter dismisses it by clicking "Join from your browser" / "Use web app" / "Continue in browser" whichever variant is rendered.
  • Captions DOM contract has shifted across Webex builds. The adapter has fallbacks but if you observe webex:captions-not-enabled on a tenant that does support captions, file an issue with the data-testid attributes on the captions toggle.

Failure codes

The adapter maps Webex-specific failure modes to the generic failure_code taxonomy:

Webex sentinelfailure_code
"SSO authentication is required"auth_failure
"This meeting has ended"meeting_ended
"Meeting number invalid / expired"meeting_not_found
Stuck in lobby past afterEntryDelaySecondslobby_timeout
Bot removed from meeting mid-recordingremoved_from_meeting

On this page