Connect Jitsi Meet to Mattermost, Rocket.Chat, Nextcloud and Moodle

Short answer

Mattermost, Rocket.Chat, Nextcloud and Moodle all have a Jitsi plugin or built-in Jitsi support: you install it, enter your Jitsi server URL and, if your server uses JWT, the same app ID and secret your Jitsi server uses. Point them at your own Jitsi server, not meet.jit.si: the free public service cuts embedded calls after 5 minutes, limits meetings to 95 minutes and needs a sign-in to start a room.

All four platforms can start Jitsi calls from inside the app, so your team or students never leave the chat or the course. The setup is the same pattern every time: install the plugin, give it your Jitsi server’s address, and, if you protect your server with JWT, give it the same app ID and secret. The part people get wrong is the server they point it at.

Do not point integrations at meet.jit.si

Every plugin below ships with https://meet.jit.si as its default or example, because it works instantly for a demo. It is the wrong choice for real use:

  • Embedded calls stop after 5 minutes. meet.jit.si is not meant to run inside another site, and the Moodle plugin’s own documentation warns about this limit.
  • Meetings end after 95 minutes since October 9, 2026. See the meet.jit.si 95-minute limit.
  • Starting a room needs a sign-in on meet.jit.si, which breaks one-click calls from a chat channel.
  • You cannot control who joins. There is no way to restrict rooms to your users.

Use your own Jitsi server (Docker install guide), or 8x8 JaaS if you do not want to run one. Mattermost, Rocket.Chat and Moodle can all generate JaaS or JWT tokens.

At a glance

Platform What to install Where to configure JWT support
Mattermost Jitsi plugin (community supported) System Console > Plugins > Jitsi App ID and App Secret
Rocket.Chat Jitsi app from the Marketplace Administration > Apps > Jitsi > Settings Application ID and Secret, or JaaS key
Nextcloud Jitsi integration app (nextcloud/jitsi) Settings > Jitsi JWT secret
Moodle mod_jitsi activity plugin Site administration > Plugins > Jitsi Token based mode, JaaS or GCP

Prepare your Jitsi server for JWT

JWT is optional, but it is what makes an integration safe: the chat or learning platform signs a short-lived token for each call, and your Jitsi server only lets in people with a valid token. On docker-jitsi-meet, set these in .env and restart the stack:

Terminal
ENABLE_AUTH=1
AUTH_TYPE=jwt
JWT_APP_ID=my_jitsi_app_id
JWT_APP_SECRET=a-long-random-secret

Use the same app ID and secret in the plugin. Our Jitsi JWT authentication guide explains the token format and the Debian package setup, and JWT not working covers the usual errors.

If you added X-Frame-Options or a frame-ancestors Content Security Policy while hardening the Jitsi web server, allow the domain of your chat or learning platform, or embedded meetings will show a blank frame.

Mattermost

The Jitsi plugin adds a video icon to every channel header and a /jitsi slash command. A click posts an invitation in the channel; meetings can open in a floating window inside Mattermost or in a new tab.

  1. Download the plugin from the releases page.
  2. In Mattermost, open System Console > Plugins > Plugin Management and upload the file.
  3. Open System Console > Plugins > Jitsi and set:
    • Enable Plugin: true
    • Jitsi Server URL: https://meet.example.com
    • Embed Jitsi video inside Mattermost: true for the floating window (marked experimental)
    • Use JWT Authentication for Jitsi: true, then the App ID, App Secret and Meeting Link Expiry Time (30 minutes by default)
    • Jitsi Meeting Names: random words, a UUID, or the team and channel name
  4. Type /jitsi in any channel to test.

Users can switch between embedded and new-window meetings with /jitsi settings. The plugin is community supported, not maintained by Mattermost, and the channel header button is not available in the mobile apps.

Rocket.Chat

Rocket.Chat treats Jitsi as a video conference provider. Once the Jitsi app is installed and configured, the call button in any room starts a Jitsi meeting.

  1. Go to Administration > Apps > Marketplace, find Jitsi and install it.
  2. Open the app’s Settings tab and set:
    • Domain: meet.example.com (no https://)
    • Use SSL: on
    • Title prefix and Title suffix: optional text added to room names
    • Use Authentication Token: on if your server uses JWT, then Application ID (iss) and Application Secret matching your Jitsi server
    • Limit token to Jitsi Room: on, so each token only opens its own call
  3. Make Jitsi the default provider under Administration > Workspace > Settings > Video Conference if you have more than one installed.

For JaaS, switch on Use JaaS (8x8) and paste your API key ID and the base64-encoded private key instead of a secret. Rocket.Chat’s desktop app needs a recent Jitsi release for in-app calling.

Nextcloud

The Jitsi integration app creates conference rooms inside Nextcloud, with sharable links, a pre-join system test, and rooms listed in the global search.

  1. As an admin, open Apps, search for Jitsi and enable the Jitsi integration.
  2. Go to Settings > Jitsi and enter your server URL and, if you use JWT, the JWT secret.
  3. Create a conference from the Jitsi entry in the top bar and share its link.

The app’s maintainers recommend a dedicated Jitsi server secured with JWT. If you only need small calls inside Nextcloud and do not run Jitsi anyway, Nextcloud Talk is the built-in alternative.

Moodle

mod_jitsi adds Jitsi as a standard Moodle activity: teachers schedule sessions in a course, and students join in one click without an extra account. It supports Moodle 4.4 to 5.2 and adds attendance-based activity completion, guest links, private one-to-one calls and several recording options.

  1. Install mod_jitsi from the Moodle plugins directory (Site administration > Plugins > Install plugins), or with Composer.
  2. Under Site administration > Plugins > Activity modules > Jitsi, choose the server type:
    • Self-hosted: your Jitsi server URL, with token based mode and your JWT app ID and secret for proper moderator control
    • JaaS (8x8): free up to 25 monthly active users, no server to run
    • GCP auto-managed: the plugin creates and manages a Jitsi server in your Google Cloud account
  3. Add a Jitsi activity to a course and open it as a student to test.

Some of the plugin’s reporting features, such as the attendance report and recording view statistics, need a free registration with the plugin’s developer. Recording to YouTube, Dropbox or Google Cloud Storage is configured separately in the plugin settings.

Common problems

Symptom Likely cause
Calls drop after 5 minutes Still pointed at meet.jit.si
“You are not allowed to join” or an endless login prompt JWT app ID or secret differs between the plugin and the Jitsi server, or the server clock is off. See JWT not working
Embedded meeting shows a blank frame X-Frame-Options or frame-ancestors on the Jitsi server blocks your platform’s domain
Camera and microphone blocked in the embed The page or the Jitsi server is not on HTTPS. Browsers only allow devices on secure pages. See camera and microphone not working
Works for two people, video stops with a third UDP 10000 closed on the Jitsi server. See Jitsi ports and firewall rules

Sources

Need a hand?

We set up Jitsi servers with JWT for Mattermost, Rocket.Chat, Nextcloud and Moodle, and connect them to your existing login. Talk to an engineer or see our Jitsi integration service.

Written by the Jitsi Help engineering team

Jitsi infrastructure engineers who deploy and run Jitsi Meet servers in production. Last updated . How we write our guides

Did this guide work for you?

Something on this page is outdated or wrong?

Frequently asked questions

Can I use meet.jit.si with the Mattermost, Rocket.Chat, Nextcloud or Moodle plugin?

Only for a quick test. When meet.jit.si is embedded in another site, calls are cut after 5 minutes, regular meetings there end after 95 minutes, and starting a room needs a sign-in. For real use, point the plugin at your own Jitsi server or at 8x8 JaaS.

Do I need JWT to connect Jitsi to Mattermost or Rocket.Chat?

No, the plugins work with an open Jitsi server. But without JWT anyone who guesses a room name can join, and anyone can create rooms on your server. With JWT, the plugin signs a token for each call with the app ID and secret you also set on the Jitsi server, so only your users get in.

Is the Mattermost Jitsi plugin still maintained?

It moved to the mattermost-community organisation on GitHub and is community supported, not maintained by Mattermost. Version 2.1.0 was released in June 2025 and the repository is still active. Mattermost's own Calls feature is the built-in alternative.

Should I use Nextcloud Talk or the Jitsi app in Nextcloud?

Talk is built into Nextcloud and needs no extra server for small calls, but larger calls need its separate high-performance backend. The Jitsi app links Nextcloud to a Jitsi server you already run, which is the better fit if you also use Jitsi elsewhere or need Jitsi features such as Jibri recording.

Can one Jitsi server serve several of these apps?

Yes. A single Jitsi server can host meetings for Mattermost, Moodle and your own website at the same time. With JWT they share one app ID and secret, or you can accept tokens from several issuers. Size the server for the total number of people in calls at once.

Discussion

    Stuck, or would rather not do this by hand?

    Deploy it in one click

    A private Jitsi server in your own AWS account with SSL, your domain and optional recording, transcription and JWT. Free 15 minute trial.

    Start free trial

    Talk to a Jitsi engineer

    Setup, fixes, branding, recording, scaling. Tell us what is happening and we reply with a plan and a quote.

    Get expert help

    Related

    Recently updated