🚀 Overview
This Pull Request introduces native support for Mattermost integration. It enables Mattermost users to initiate, manage, and join plugNmeet video conferences directly from any Mattermost channel using slash commands (e.g., /plugnmeet start).
✨ Key Features
Slash Command Handler: Added a new API endpoint /auth/mattermost/command to process incoming requests from Mattermost.
Dynamic Room Creation: Automatically generates a secure plugNmeet room when a user triggers the command.
Interactive Message Cards: Returns a formatted Mattermost message containing the "Join Meeting" button and meeting details (Room ID, Password).
Security & Verification: Implemented Mattermost Token Verification to ensure requests originate from a trusted Mattermost instance.
🛠 Technical Implementation
Endpoint: Added a new controller in the handlers layer to parse application/x-www-form-urlencoded data from Mattermost.
Auth Integration: Integrated with existing RoomService to handle room creation logic and Internal API for token generation.
Payload Structure:
📝 Configuration (New Environment Variables)
To enable this integration, the following variables need to be added to the config.yaml or .env:
Variable | Description
-- | --
MATTERMOST_ENABLED | Set to true to enable the endpoint.
MATTERMOST_OUTGOING_TOKEN | The verification token provided by Mattermost.
PLUGNMEET_EXTERNAL_URL | The public URL used for generating join links.
Export to Sheets
🧪 How to Test
Deploy this branch to a test server.
In Mattermost, go to Integrations > Slash Commands.
Create a new command /plugnmeet and set the URL to https://your-domain.com/api/mattermost/command.
Run /plugnmeet start in any channel.
Verify if the meeting card appears and the "Join" button redirects correctly.
📸 Screenshots (Optional)
Add screenshots showing the Mattermost message card here
🚀 Overview
This Pull Request introduces native support for Mattermost integration. It enables Mattermost users to initiate, manage, and join plugNmeet video conferences directly from any Mattermost channel using slash commands (e.g., /plugnmeet start).
✨ Key Features
Slash Command Handler: Added a new API endpoint /auth/mattermost/command to process incoming requests from Mattermost.
Dynamic Room Creation: Automatically generates a secure plugNmeet room when a user triggers the command.
Interactive Message Cards: Returns a formatted Mattermost message containing the "Join Meeting" button and meeting details (Room ID, Password).
Security & Verification: Implemented Mattermost Token Verification to ensure requests originate from a trusted Mattermost instance.
🛠 Technical Implementation
Endpoint: Added a new controller in the handlers layer to parse application/x-www-form-urlencoded data from Mattermost.
Auth Integration: Integrated with existing RoomService to handle room creation logic and Internal API for token generation.
Payload Structure:
Requests are validated using the MATTERMOST_OUTGOING_TOKEN env variable.
Responses follow the Mattermost Integration Message schema.
📝 Configuration (New Environment Variables)
To enable this integration, the following variables need to be added to the config.yaml or .env:
Variable Description
MATTERMOST_ENABLED Set to true to enable the endpoint.
MATTERMOST_OUTGOING_TOKEN The verification token provided by Mattermost.
PLUGNMEET_EXTERNAL_URL The public URL used for generating join links.
🧪 How to Test
Deploy this branch to a test server.
In Mattermost, go to Integrations > Slash Commands.
Create a new command /plugnmeet and set the URL to https://your-domain.com/api/mattermost/command.
Run /plugnmeet start in any channel.
Verify if the meeting card appears and the "Join" button redirects correctly.
📸 Screenshots (Optional)
Add screenshots showing the Mattermost message card here
🚀 Overview
This Pull Request introduces native support for Mattermost integration. It enables Mattermost users to initiate, manage, and join plugNmeet video conferences directly from any Mattermost channel using slash commands (e.g.,
/plugnmeet start).✨ Key Features
Slash Command Handler: Added a new API endpoint
/auth/mattermost/commandto process incoming requests from Mattermost.Dynamic Room Creation: Automatically generates a secure plugNmeet room when a user triggers the command.
Interactive Message Cards: Returns a formatted Mattermost message containing the "Join Meeting" button and meeting details (Room ID, Password).
Security & Verification: Implemented Mattermost Token Verification to ensure requests originate from a trusted Mattermost instance.
🛠 Technical Implementation
Endpoint: Added a new controller in the
handlerslayer to parseapplication/x-www-form-urlencodeddata from Mattermost.Auth Integration: Integrated with existing
RoomServiceto handle room creation logic andInternal APIfor token generation.Payload Structure:
Requests are validated using the
MATTERMOST_OUTGOING_TOKENenv variable.Responses follow the Mattermost Integration Message schema.
📝 Configuration (New Environment Variables)
To enable this integration, the following variables need to be added to the
config.yamlor.env:🧪 How to Test
Deploy this branch to a test server.
In Mattermost, go to Integrations > Slash Commands.
Create a new command
/plugnmeetand set the URL tohttps://your-domain.com/api/mattermost/command.Run
/plugnmeet startin any channel.Verify if the meeting card appears and the "Join" button redirects correctly.
📸 Screenshots (Optional)
Add screenshots showing the Mattermost message card here
🚀 OverviewThis Pull Request introduces native support for Mattermost integration. It enables Mattermost users to initiate, manage, and join plugNmeet video conferences directly from any Mattermost channel using slash commands (e.g., /plugnmeet start).
✨ Key Features
Slash Command Handler: Added a new API endpoint /auth/mattermost/command to process incoming requests from Mattermost.
Dynamic Room Creation: Automatically generates a secure plugNmeet room when a user triggers the command.
Interactive Message Cards: Returns a formatted Mattermost message containing the "Join Meeting" button and meeting details (Room ID, Password).
Security & Verification: Implemented Mattermost Token Verification to ensure requests originate from a trusted Mattermost instance.
🛠 Technical Implementation
Endpoint: Added a new controller in the handlers layer to parse application/x-www-form-urlencoded data from Mattermost.
Auth Integration: Integrated with existing RoomService to handle room creation logic and Internal API for token generation.
Payload Structure:
Requests are validated using the MATTERMOST_OUTGOING_TOKEN env variable.
Responses follow the Mattermost Integration Message schema.
📝 Configuration (New Environment Variables)
To enable this integration, the following variables need to be added to the config.yaml or .env:
Variable Description
MATTERMOST_ENABLED Set to true to enable the endpoint.
MATTERMOST_OUTGOING_TOKEN The verification token provided by Mattermost.
PLUGNMEET_EXTERNAL_URL The public URL used for generating join links.
🧪 How to Test
Deploy this branch to a test server.
In Mattermost, go to Integrations > Slash Commands.
Create a new command /plugnmeet and set the URL to https://your-domain.com/api/mattermost/command.
Run /plugnmeet start in any channel.
Verify if the meeting card appears and the "Join" button redirects correctly.
📸 Screenshots (Optional)
Add screenshots showing the Mattermost message card here