docs/main/administration-guide/configure/plugins-configuration-settings.mdx
Review and manage the following plugin configuration options in the System Console by selecting the Product menu, selecting System Console, and then selecting Plugins:
System admins managing a self-hosted Mattermost deployment can edit the config.json file as described in the following tables. Each configuration value below includes a JSON path to access the value programmatically in the config.json file using a JSON-aware tool. For example, the Enable value is under PluginSettings.
cat config/config.json | jq '.PluginSettings.Enable'config.json file manually, look for an object such as PluginSettings, then within that object, find the key Enable.Access the following configuration settings in the System Console by going to Plugins > Plugin Management.
Disabling this configuration setting in larger deployments may improve server performance in the following areas:
- This setting is applicable to self-hosted deployments only. - From Mattermost server v10.11, pre-packaged plugins require signature validation on startup. Distributions that bundle custom pre-packaged plugins must configure custom public keys via PluginSettings.SignaturePublicKeyFiles to validate their signatures. - Mattermost server v10.10 and earlier: Pre-packaged plugins are not subject to signature validation. - Plugins installed through the Marketplace are always subject to signature validation at the time of download. - Enabling this configuration will result in plugin file uploads being disabled in the System Console.
Prepackaged Plugin Installation Behavior: When system administrators drop plugin files (with their .sig signature files) into the prepackaged_plugins directory, the plugins won't install automatically. Prepackaging makes the plugin available for "offline" installation. The plugin will automatically install only when a system admin pre-configures the config.json with that plugin enabled.
- This setting is applicable to self-hosted deployments only. - When plugin uploads are enabled, the error Received invlaid response from the server when uploading a plugin file typically indicates that the MaxFileSize configuration setting isn't large enough to support the plugin file upload. Additional proxy setting updateds may also be required. - The ability to upload plugin files is disabled when the Require plugin signature configuration setting is enabled.
- From Mattermost v9.1, set this configuration setting value to true to access a configured remote marketplace URL. - For Mattermost v9.0, the MM_FEATUREFLAGS_STREAMLINEDMARKETPLACE feature flag must be set to false, and this configuration setting must be set to true to access a configured remote marketplace URL. - Each Mattermost host must have network access to the endpoint set in MarketplaceURL.
Access the following configuration settings in the System Console by going to Plugins > Calls.
This setting is applicable to self-hosted deployments only, and only when not running calls through the standalone rtcd service.
This setting is available starting in plugin version 0.17, and is only applicable for self-hosted deployments when not running calls through the standalone rtcd service.
This setting is only applicable for self-hosted deployments when not running calls through the standalone rtcd service.
This setting is available starting in plugin version 0.17, and is only applicable for self-hosted deplyoments when not running calls through the standalone rtcd service.
Admins can't configure this setting from Mattermost v7.7; it's hidden and always enabled for self-hosted deployments
<table> <colgroup> <col style={{width: '54%'}} /> <col style={{width: '45%'}} /> </colgroup> <tbody> <tr> <td><ul><li><strong>true</strong>: Channel admins can enable or disable calls on specific channels. Participants in DMs/GMs can also enable or disable calls.</li><li><strong>false</strong>: Only system admins can enable or disable calls on specific channels.</li></ul></td> <td><ul><li>System Config path: <strong>Plugins > Calls</strong></li><li><code>config.json</code> setting: <code>PluginSettings</code> > <code>Plugins</code> > <code>com.mattermost.calls</code> > <code>allowenablecalls</code></li><li>Environment variable: <code>MM_CALLS_ALLOW_ENABLE_CALLS</code></li></ul></td> </tr> </tbody> </table>This setting was called Enable on all channels until Mattermost v7.7. It was renamed to defaultenabled in code and Test Mode in-product and is only applicable to self-hosted deployments.
<table> <colgroup> <col style={{width: '50%'}} /> <col style={{width: '49%'}} /> </colgroup> <tbody> <tr> <td><ul><li><strong>false</strong>: Test mode is enabled and only system admins can start calls in channels.</li><li><strong>true</strong>: Live mode is enabled and all team members can start calls in channels.</li></ul></td> <td><ul><li>System Config path: <strong>Plugins > Calls</strong></li><li><code>config.json</code> setting: <code>PluginSettings</code> > <code>Plugins</code> > <code>com.mattermost.calls</code> > <code>defaultenabled</code></li><li>Environment variable: <code>MM_CALLS_DEFAULT_ENABLED</code></li></ul></td> </tr> </tbody> </table> <Note>Use this setting as a system admin to confirm calls work as expected. When false, users attempting to start calls are prompted to contact a system admin, and system admins are prompted to confirm that calls are working as expected before switching to live mode.
</Note>- This setting is only applicable for self-hosted deployments when not running calls through the standalone rtcd service. - Depending on the network infrastructure (e.g. instance behind a NAT device) it may be necessary to set this field to the client facing external IP for clients to connect. When empty or unset, the RTC service will attempt to find the instance's public IP through STUN. - A hostname (e.g. domain name) can be specified in this setting, but an IP address will be passed to clients. This means that a DNS resolution happens on the Mattermost instance which could result in a different IP address from the one the clients would see, causing connectivity to fail. When in doubt, we recommend using an IP address directly or confirming that the resolution on the host side reflects the one on the client.
- This setting is applicable only to self-hosted deployments. - This value will apply to both UDP and TCP host candidates.
</Note>- This setting is applicable only to self-hosted deployments. - The environment variable MM_CALLS_RTCD_URL is deprecated in favor of MM_CALLS_RTCD_SERVICE_URL. - The client will self-register the first time it connects to the service and store the authentication key in the database. If no client ID is explicitly provided, the diagnostic ID of the Mattermost installation will be used. - The service URL supports credentials in the form http://clientID:authKey@hostname. Alternatively these can be passed through environment overrides to the Mattermost server, namely MM_CALLS_RTCD_CLIENT_ID and MM_CALLS_RTCD_AUTH_KEY - The client will self-register the first time it connects to the service and store the authentication key in the database. If no client ID is explicitly provided, the diagnostic ID of the Mattermost installation will be used. - The service URL supports credentials in the form http://clientID:authKey@hostname. Alternatively these can be passed through environment overrides to the Mattermost server, namely MM_CALLS_RTCD_CLIENT_ID and MM_CALLS_RTCD_AUTH_KEY
- This setting is applicable only to self-hosted deployments. - The environment variable MM_CALLS_MAX_PARTICIPANTS is deprecated in favor of MM_CALLS_MAX_CALL_PARTICIPANTS. - This setting is optional, but the recommended maximum number of participants is 50. Call participant limits greatly depends on instance resources. See the Calls deployment guide documentation for details.
- This setting is applicable only to self-hosted deployments. - The configurations above, containing STUN and TURN servers, are sent to the clients and used to generate local candidates. - If hosting calls through the plugin (i.e. not using the RTCD service) any configured STUN server may also be used to find the instance's public IP when none is provided through the ICE Host Override option.
</Note>Example
json[ { "urls":[ "stun:stun.global.calls.mattermost.com:3478" ] }, { "urls":[ "turn:turn.example.com:3478" ], "username":"webrtc", "credentials":"turnpassword" } ]
Example (Using generated TURN credentials)
<Note>json[{ "urls": ["turn:turn.example.com:443"] }]
To get TURN generated credentials to work you must provide a secret through the TURN static auth secret setting below.
</Note>This setting is applicable only to self-hosted deployments.
</Note>This setting is applicable only to self-hosted deployments.
</Note>This setting is applicable only to self-hosted deployments.
</Note>This setting is applicable only to self-hosted deployments.
</Note>rtcd version >= v0.10.0 (when in use).This setting is applicable only to self-hosted deployments.
</Note>http://clientID:authKey@hostname. Alternatively these can be passed through environment overrides to the Mattermost server, namely MM_CALLS_JOB_SERVICE_CLIENT_ID and MM_CALLS_JOB_SERVICE_AUTH_KEY.MM_CALLS_RECORDER_SITE_URL or MM_CALLS_TRANSCRIBER_SITE_URL environment variables respectively. This can be helpful to avoid the jobs from connecting through the public Site URL configured in Mattermost and thus potentially bypass the public network.This setting is applicable only to self-hosted deployments.
</Note>- This setting is applicable only to self-hosted deployments. - The quality setting will affect the performance of the job service and the file size of recordings. Refer to the Calls deployment guide documentation for more information.
</Note>- This setting is applicable only to self-hosted deployments. - The ability to enable call transcriptions in Mattermost calls is currently in Beta. - This server-side configuration setting is available from plugin version 0.22. - Call transcriptions require call recordings to be enabled.
</Note>- This setting is applicable only to self-hosted deployments. - This setting is available starting in plugin version 0.22. The model size setting will affect the performance of the job service. Refer to the Calls deployment guide documentation for more information.
</Note>- This setting is applicable only to self-hosted deployments. - The call transcriber threads setting will affect the performance of the job service. Refer to the Calls deployment guide documentation for more information. This setting is available starting in plugin version 0.26.2.
</Note>- The ability to enable live call captions in Mattermost calls is currently in Beta. - This server-side configuration setting is available starting in plugin version 0.26.2. - Live captions require call recordings and call transcriptions to be enabled.
</Note>- This setting is applicable only to self-hosted deployments. - This setting is available starting in plugin version 0.26.2. The model size setting will affect the performance of the job service. Refer to the performance and scalability recommendations documentation for more information.
</Note>- This setting is applicable only to self-hosted deployments. - This setting is available starting in plugin version 0.26.2. The live captions number of transcribers setting will affect the performance of the job service. Refer to the performance and scalability recommendations documentation for more information.
</Note>- This setting is applicable only to self-hosted deployments. - This setting is available starting in plugin version 0.26.2. The live captions number of threads per transcriber setting will affect the performance of the job service. Refer to the performance and scalability recommendations documentation for more information
</Note>This setting is applicable only to self-hosted deployments.
</Note>- This setting is applicable only to self-hosted deployments. - This setting is available starting in plugin version 0.17, and is only applicable when not running calls through the standalone rtcd service.
The ability to enable call ringing in Mattermost calls is in Beta.
</Note>Avoid enabling both this experimental configuration setting and the Enable simulcast for screen sharing experimental configuration setting at the same time.
</Note>Mattermost Agents is formerly known as Mattermost Copilot.
</Note>Access the following Mattermost Agents configuration settings in the System Console by going to Plugins > Agents.
We recommend reviewing LLM data privacy policies to confirm whether transmitting user information is acceptable and secure within your organization's regulatory framework. Do not enable when you need to conform to strict privacy regulations (e.g., GDPR) that limit sharing user-identifiable data with external services.
</Note>Streaming allows LLMs to display the response gradually as it's being generated, creating a smoother and more interactive experience for users.
</Note>Custom instructions can include behavioral guidance, tone preferences, contextual functions, and organizational preferences. This ensures responses adhere to your organization's language and tone guidelines and aligns the model's behavior with specific roles or purposes.
</Note>This feature is in Beta. When enabled, the LLM can interact with prompts that include image-related input, such as image analysis, visual-related assistance, and visual outputs, where supported.
</Note>When enabled, advanced features beyond basic query processing allow the LLM to perform specialized tasks like retrieving data, integrating with external APIs, or performing computations, where supported.
</Note>Use this setting for debugging purposes only. When enabled, it may log sensitive conversation data.
</Note>Embedding search requires an Enterprise license and is available as an experimental feature. You must also enable the pgvector extension in your PostgreSQL database. Performance may vary with large datasets.
See the Connect GitLab to Mattermost product documentation for details.
See the Connect GitHub to Mattermost product documentation for details.
See the Connect Jira to Mattermost product documentation for available Mattermost configuration options.
See the Legal holds product documentation for details.
See the Connect Microsoft Calendar Integration to Mattermost product documentation for available Mattermost configuration options.
See the Connect Microsoft Teams Meetings to Mattermost product documentation for available Mattermost configuration options.
Mattermost for Microsoft Teams enables you to break through siloes in a mixed Mattermost and Teams environment by forwarding real-time chat notifications from Teams to Mattermost.
<Tip>Download our Mattermost for Microsoft Teams datasheet to learn how Mattermost helps your organization get more from your Microsoft tools.
</Tip>Access the following configuration settings in the System Console by going to Plugins > MS Teams.
Use the Enabled Teams configuration option to specify which Mattermost teams synchronize direct and group messages with Microsoft Teams chats.
</Note>Select Regenerate to generate a new key.
</Note>Select Regenerate to generate a new key.
</Note>See the Monitor performance metrics product documentation for available Mattermost configuration options.
Use collaborative playbooks in Mattermost to provide structure, monitoring and automation for repeatable, team-based processes integrated with the Mattermost platform.
Access the following configuration settings in the System Console by going to Plugins > Collaborative playbooks.
See the Connect ServiceNow to Mattermost product documentation for available Mattermost configuration options.
See the Connect Zoom to Mattermost product documentation for available Mattermost configuration options.
The following self-hosted deployment settings are only configurable in the config.json file and are not available in the System Console.
This setting isn't available in the System Console and can only be set in config.json.
In addition to the Mattermost plugin signing key built into the server, each public key specified here is trusted to validate plugin signatures.
From Mattermost v10.11, pre-packaged plugins require signature validation on startup. Distributions that bundle custom pre-packaged plugins must configure this setting with their custom public keys to ensure proper validation of their signed plugins. Use PluginSettings.SignaturePublicKeyFiles to define custom plugin signing keys.
When bundling custom plugins:
.sig signature files into the prepackaged_plugins directory.This setting isn't available in the System Console and can only be set in config.json.
Specify the Chimera URL used by Mattermost plugins to connect with pre-created OAuth applications.
<table> <colgroup> <col style={{width: '100%'}} /> </colgroup> <tbody> <tr> <td>This feature's <code>config.json</code> setting is <code>"ChimeraOAuthProxyUrl": {}</code> with string input.</td> </tr> </tbody> </table>