Skip to content

feat(app-store): add BigBlueButton video conferencing integration#29471

Draft
kejuunuy wants to merge 1 commit into
calcom:mainfrom
kejuunuy:feat/bigbluebutton-integration
Draft

feat(app-store): add BigBlueButton video conferencing integration#29471
kejuunuy wants to merge 1 commit into
calcom:mainfrom
kejuunuy:feat/bigbluebutton-integration

Conversation

@kejuunuy
Copy link
Copy Markdown

Summary

Adds a BigBlueButton conferencing app to the app-store, addressing the
long-standing request in #1985 / CAL-3105.

The integration follows the existing jitsivideo pattern (dynamic location,
shared-secret auth — no OAuth) and exposes a real VideoApiAdapter that
provisions meetings on the BBB server:

  • New app at packages/app-store/bigbluebutton/ with _metadata.ts,
    package.json, index.ts, zod.ts, api/add.ts, lib/VideoApiAdapter.ts,
    lib/bbb.ts, lib/getBigBlueButtonAppKeys.ts, static/icon.svg, and
    DESCRIPTION.md.
  • Admin-configurable app keys (bbb_url, bbb_secret) following the same
    pattern as Daily / Jitsi.
  • lib/bbb.ts implements the standard BBB SHA-1 shared-secret checksum
    per the BBB API security model.
  • VideoApiAdapter.createMeeting() calls create then returns a signed
    join URL (redirect=true). deleteMeeting() calls end.
  • Registered in all autogenerated app-store registries:
    apps.metadata.generated.ts, apps.server.generated.ts,
    video.adapters.generated.ts, apps.keys-schemas.generated.ts,
    apps.schemas.generated.ts, bookerApps.metadata.generated.ts.
  • Added the cal_provide_bigbluebutton_meeting_url locale string.

Closes #1985

Test plan

  • Added unit tests in packages/app-store/bigbluebutton/lib/bbb.test.ts
    covering buildQueryString, computeChecksum, and buildApiUrl.
  • Maintainer to verify in CI: yarn test packages/app-store/bigbluebutton
    and yarn type-check.
  • Maintainer to install the app from /apps, set BBB server URL and
    shared secret in /settings/admin/apps/bigbluebutton, and create a
    booking using the BigBlueButton location.

Notes

  • Used the jitsivideo adapter as the reference template (closest analogue: shared-secret auth, dynamic link, no OAuth).
  • The video adapter is registered under the key bigbluebutton.
  • No new env vars — server URL and shared secret live in the standard
    app.keys admin-settings flow.
  • A placeholder icon.svg is included. The maintainer may want to swap it
    for the official BigBlueButton wordmark before merging.

Adds a BigBlueButton conferencing app to the app-store, following the
existing jitsivideo pattern (shared-secret auth, no OAuth).

- New app at packages/app-store/bigbluebutton/ with metadata, adapter,
  API handler, tests, and icon.
- lib/bbb.ts implements the standard BBB SHA-1 shared-secret checksum
  per the BigBlueButton API security model.
- VideoApiAdapter creates meetings via the BBB create API and returns
  signed join URLs.
- Admin-configurable app keys (bbb_url, bbb_secret).
- Registered in all autogenerated app-store registries.
- Added cal_provide_bigbluebutton_meeting_url locale string.

Closes calcom#1985
@github-actions
Copy link
Copy Markdown
Contributor

Welcome to Cal.diy, @kejuunuy! Thanks for opening this pull request.

A few things to keep in mind:

  • This is Cal.diy, not Cal.com. Cal.diy is a community-driven, fully open-source fork of Cal.com licensed under MIT. Your changes here will be part of Cal.diy — they will not be deployed to the Cal.com production app.
  • Please review our Contributing Guidelines if you haven't already.
  • Make sure your PR title follows the Conventional Commits format.

A maintainer will review your PR soon. Thanks for contributing!

@github-actions github-actions Bot added $50 app-store area: app store, apps, calendar integrations, google calendar, outlook, lark, apple calendar community Created by Linear-GitHub Sync consumer ✨ feature New feature or request 💎 Bounty A bounty on Algora.io 🙋🏻‍♂️help wanted Help from the community is appreciated labels May 27, 2026
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app-store area: app store, apps, calendar integrations, google calendar, outlook, lark, apple calendar 💎 Bounty A bounty on Algora.io community Created by Linear-GitHub Sync consumer ✨ feature New feature or request 🙋🏻‍♂️help wanted Help from the community is appreciated size/L $50

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CAL-3105] BigBlueButton Integration

2 participants