What does this PR do?

This PR integrates BigBlueButton as a video/conference app.

  • Fixes #1985
  • /claim #1985

Features:

  • Integrates BigBlueButton (BBB) as a video/conference app in Cal.com.
  • Users who own the booking or are members of the team that owns it join the meeting as moderators (administrators).
  • Attendees join as regular participants. If logged in to Cal.com, their name and email are used, otherwise, they join as guests.
  • This tries to replicate the join behaviour of Cal Video.
  • Validates the BBB server’s API version and checksum to ensure the instance is compatible.

Question:
The join endpoint of BBB accepts a custom logoutURL (for the OK button) and errorRedirectUrl.
I’m not sure if the logoutURL should point to the calcom instance URL, and if the errorRedirectUrl should point to the instance’s 500 error page ({WEBAPP_URL}/500).

Note: Apparently, in pr https://github.com/calcom/cal.com/pull/15627 we already have permission to use the BBB logo.

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. If N/A, write N/A here and check the checkbox.
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

To test this integration, you need a BigBlueButton server. For development purposes, you can use the BigBlueButton Docker repository and run the dev script inside the scripts directory. This will set up the entire environment for BBB.

Also, when starting the next.js app, you need to set the following environment variable:

export NODE_TLS_REJECT_UNAUTHORIZED=0

This is required because BBB uses a self-signed certificate (it runs on HTTPS by default).
Note²: I have tried to run BBB with plain HTTP for development, but it does not like HTTP, so using HTTPS with the above environment variable is quite a necessity.


Summary by cubic

Added BigBlueButton as a new video conferencing app integration, allowing users to host and join meetings directly from Cal.com.

  • New Features
    • Users and team members join meetings as moderators; attendees join as participants.
    • Supports joining with name and email for logged-in users, or as guests.
    • Validates BigBlueButton server compatibility and credentials during setup.
    • Includes a setup page with instructions for connecting a BigBlueButton server.

Claim

Total prize pool $50
Total paid $0
Status Pending
Submitted June 11, 2025
Last updated June 11, 2025

Contributors

MO

moonbeeper

@moonbeeper

100%

Sponsors

CA

Cal.com, Inc.

@cal

$50