Plugins configuration settings

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Both self-hosted and Cloud admins can access the following configuration settings in System Console > Plugins. Self-hosted admins can also edit the config.json file as described in the following tables.


Plugin management

Access the following configuration settings in the System Console by going to Plugins > Plugin Management.

Enable plugins

  • true: (Default) Enables plugins on your Mattermost server. See the Use plugins with Mattermost documentation for details.

  • false: Disables plugins on your Mattermost server.

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.Enable: true

  • Environment variable: MM_PLUGINSETTINGS_ENABLE

Require plugin signature

  • true: (Default) Enables plugin signature validation for managed and unmanaged plugins.

  • false: Disables plugin signature validation for managed and unmanaged plugins.

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.RequirePluginSignature: true

  • Environment variable: MM_PLUGINSETTINGS_REQUIREPLUGINSIGNATURE

Note: 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.

Automatic prepackaged plugins

  • true: (Default) Mattermost automatically installs and upgrades any enabled pre-packaged plugins. If a newer version is installed, no changes are made.

  • false: Mattermost does not automatically install or upgrade pre-packaged plugins. Pre-packaged plugins may be installed manually from the Marketplace, even when offline.

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.AutomaticPrepackagedPlugins: true

  • Environment variable: MM_PLUGINSETTINGS_AUTOMATICPREPACKAGEDPLUGINS

Upload Plugin

  • true: Enables uploading of plugins from your local computer to your Mattermost server for all system admins.

  • false: (Default) Disables uploading of plugins from your local computer to your Mattermost server for all system admins.

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.EnableUploads: false

  • Environment variable: MM_PLUGINSETTINGS_ENABLEUPLOADS

Enable Marketplace

  • true: (Default) Enables the plugin Marketplace on your Mattermost server for all System Admins.

  • false: Disables the plugin Marketplace on your Mattermost server for all System Admins.

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.EnableMarketplace: true

  • Environment variable: MM_PLUGINSETTINGS_ENABLEMARKETPLACE

Enable remote Marketplace

  • true: (Default) Mattermost attempts to connect to the endpoint set in Marketplace URL. If the connection fails, an error is displayed, and the Marketplace only shows pre-packaged and installed plugins.

  • false: Mattermost does not attempt to connect to a remote Marketplace. The Marketplace will only show pre-packaged and installed plugins. Use this setting if your Mattermost server cannot connect to the Internet.

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.EnableRemoteMarketplace: true

  • Environment variable: MM_PLUGINSETTINGS_ENABLEREMOTEMARKETPLACE

Note: To connect to a remote Marketplace, Enable Marketplace must be true and each Mattermost host must have network access to the endpoint set in Marketplace URL.

Marketplace URL

This setting stores the URL for the remote Markeplace.

String input. Default is https://api.integrations.mattermost.com

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.MarketplaceURL

  • Environment variable: MM_PLUGINSETTINGS_MARKETPLACEURL

Installed plugin state

This setting is a list of installed plugins and their status as enabled or disabled.

The config.json setting is an object. The object keys are plugin IDs, e.g. com.mattermost.apps. Each key maps to an object that contains an Enable key that can be set as true or false.

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.PluginStates

  • Environment variable: MM_PLUGINSETTINGS_PLUGINSTATES

Plugin settings

This setting contains plugin-specific data.

The config.json setting is an object. The object keys are plugin IDs, e.g. com.mattermost.apps. Each key maps to an object that contains plugin-specific data.

  • System Config path: Plugins > Plugin Management

  • config.json setting: .PluginSettings.Plugins

  • Environment variable: MM_PLUGINSETTINGS_PLUGINS


Agenda

Note

deployment-img-yellow Available only for self-hosted deployments

Access the following configuration settings in the System Console by going to Plugins > Agenda.

Enable plugin

  • true: Enables the Agenda plugin on your Mattermost server.

  • false: Disables the Agenda plugin on your Mattermost server.

  • System Config path: Plugins > Agenda

  • config.json setting:

  • Environment variable:


Antivirus

Note

deployment-img-yellow Available only for self-hosted deployments

This plugin allows the forwarding of uploaded files to an antivirus scanning application, ClamAV anti-virus software, and prevents the upload from completing if there is a virus detected in the file.

Use this plugin to prevent users from inadvertently spreading malware or viruses via your Mattermost server. See the Mattermost Antivirus Plugin documentation for details.

Access the following configuration settings in the System Console by going to Plugins > Antivirus.

Enable plugin

  • true: Enables the Antivirus plugin on your Mattermost server.

  • false: Disables the Antivirus plugin on your Mattermost server.

  • System Config path: Plugins > Antivirus

  • config.json setting:

  • Environment variable:

ClamAV - host and port

Sets the hostname and port to connect to the ClamAV server.

  • System Config path: Plugins > Antivirus

  • config.json setting:

  • Environment variable:

Scan timeout (seconds)

Sets the length of time, in seconds, before the virus scan times out.

  • System Config path: Plugins > Antivirus

  • config.json setting:

  • Environment variable:


Apps

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Plugins > Apps.

To create your own Mattermost App, see the Mattermost Apps developer documentation.

Enable plugin

  • true: Enables the Apps plugin on your Mattermost server.

  • false: Disables the Apps plugin on your Mattermost server.

  • System Config path: Plugins > Apps

  • config.json setting:

  • Environment variable:



AWS SNS

plans-img Available on all plans

deployment-img self-hosted deployments

This plugin is used to receive alert notifications from Amazon AWS CloudWatch to Mattermost channels via AWS Simple Notification Server (SNS).

Access the following configuration settings in the System Console by going to Plugins > AWS SNS.

Enable plugin

  • true: Enables the AWS SNS plugin on your Mattermost server.

  • false: Disables the AWS SNS plugin on your Mattermost server.

  • System Config path: Plugins > AWS SNS

  • config.json setting:

  • Environment variable:

Channel to send notifications to

Use this setting to specify the channel that will receive AWS SNS notifications by entering the team name and channel name as: teamname,channelname.

For example, if the channel URL is https://example.com/myteam/channels/mychannel, enter: myteam,mychannel.

If the channel does not exist, the plugin creates the channel for you.

  • System Config path: Plugins > AWS SNS

  • config.json setting:

  • Environment variable:

Authorized user IDs

Use this setting to authorize users to accept AWS SNS subscriptions to a Mattermost channel.

Separate multiple user IDs with commas.

  • System Config path: Plugins > AWS SNS

  • config.json setting:

  • Environment variable:

Tip

Find user IDs by going to System Console > User Management > Users.

Token

Generate a token to validate incoming requests from AWS SNS by selecting Regenerate.

  • System Config path: Plugins > AWS SNS

  • config.json setting:

  • Environment variable:


Calls

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Plugins > Calls.

Enable plugin

  • true: Enables the Calls plugin on your Mattermost workspace.

  • false: Disables the Calls plugin on your Mattermost workspace.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

RTC server port

Note

deployment-img-yellow Available only for self-hosted deployments

This setting controls the UDP port listened on by the RTC server. All Calls traffic will be served through this port.

Changing this setting requires a plugin restart to take effect.

Default is 8443.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Enable on specific channels

Admins can’t configure this setting from Mattermost v7.7; it’s hidden and always enabled

Note

deployment-img-yellow Available only for self-hosted deployments

  • true: Channel admins can enable or disable calls on specific channels. Participants in DMs/GMs can also enable or disable calls.

  • false: Only System Admins can enable or disable calls on specific channels.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Test mode

This setting was called Enable on all channels up until Mattermost v7.7

Note

deployment-img-yellow Available only for self-hosted deployments

  • true: Only System Admins can start calls in channels.

  • false: All team members can start calls in channels.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Note: Use this setting to confirm calls work as expected. When true, users attempting to start calls are prompted to contact System Admins. System Admins are prompted to confirm that calls are working as expected before switching to live mode.

Max call participants

Note

deployment-img-yellow Available only for self-hosted deployments

This setting limits the number of participants that can join a single call.

Default is 0 (no limit).

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Note: This setting is optional, but the recommended maximum number of participants is 200.

ICE host override

Note

deployment-img-yellow Available only for self-hosted deployments

This setting overrides the host advertised to clients when connecting to calls.

This is an optional field. Changing this setting requires a plugin restart to take effect.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Note:
  • 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.

ICE servers configurations

Note

deployment-img-yellow Available only for self-hosted deployments

This setting stores a list of ICE servers (STUN/TURN) in JSON format to be used by the service.

This is an optional field. Changing this setting may require a plugin restart to take effect.

Default is [{“urls”: [“stun:stun.global.calls.mattermost.com:3478”]}]

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Example

[
 {
    "urls":[
       "stun:stun.global.calls.mattermost.com:3478"
    ]
 },
 {
    "urls":[
       "turn:turn.example.com:3478"
    ],
    "username":"webrtc",
    "credentials":"turnpassword"
 }
]

TURN static auth secret

Note

deployment-img-yellow Available only for self-hosted deployments

A static secret used to generate short-lived credentials for TURN servers.

This is an optional field.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

TURN credentials expiration

Note

deployment-img-yellow Available only for self-hosted deployments

The expiration, in minutes, of the short-lived credentials generated for TURN servers.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Server side TURN

Note

deployment-img-yellow Available only for self-hosted deployments

  • true: The RTC server will use the configured TURN candidates for server-initiated connections.

  • false: TURN will be used only on the client-side.

Changing this setting requires a plugin restart to take effect.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Allow screen sharing

Note

deployment-img-yellow Available only for self-hosted deployments

  • true: Call participants will be allowed to share their screen.

  • false: Call participants won’t be allowed to share their screen.

Changing this setting requires a plugin restart to take effect.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

RTCD service URL

Note

plans-img-yellow Available only on Enterprise plans

deployment-img-yellow Available only for self-hosted deployments

The URL to a running rtcd service instance that will host the calls.

When set (non empty) all the calls will be handled by this external service.

This is an optional field. Changing this setting requires a plugin restart to take effect.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Enable call recordings (beta)

Note

plans-img-yellow Available only on Enterprise plans

deployment-img-yellow Available only for self-hosted deployments

  • true: Allows call hosts to record meeting video and audio.

  • false: (Default) Call recording functionality is not available to hosts.

Recordings include the entire call window view along with participants’ audio track and any shared screen video. Recordings are stored in Mattermost.

Changing this setting requires a plugin restart to take effect.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Job service URL

Note

plans-img-yellow Available only on Enterprise plans

deployment-img-yellow Available only for self-hosted deployments

The URL to a running job service where all the processing related to recordings happens. The recorded files produced are stored in Mattermost.

This is a required field. Changing this setting requires a plugin restart to take effect.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:

Maximum call recording duration

Note

plans-img-yellow Available only on Enterprise plans

deployment-img-yellow Available only for self-hosted deployments

The maximum duration of a call recording in minutes. A recording of a 60-minute call will result in a file of about 700 MB.

The default is 60. The maximum is 180. This is a required value.

  • System Config path: Plugins > Calls

  • config.json setting:

  • Environment variable:


Channel export

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Plugins > Channel Export.

Enable Plugin

  • true: Enables the Channel Export plugin on your Mattermost workspace.

  • false: Disables the Channel Export plugin on your Mattermost workspace.

  • System Config path: Plugins > Channel Export

  • config.json setting:

  • Environment variable:


Demo plugin

plans-img Available on all plans

deployment-img self-hosted deployments

Access the following configuration settings in the System Console by going to Plugins > Demo Plugin.

Enable plugin

  • true: Enables the Demo plugin on your Mattermost workspace.

  • false: Disables the Demo plugin on your Mattermost workspace.

  • System Config path: Plugins > Demo Plugin

  • config.json setting:

  • Environment variable:

Channel name

Specify the channel to use as part of the demo plugin.

If the specified channel does not exist, the plugin creates the channel for you.

  • System Config path: Plugins > Demo Plugin

  • config.json setting:

  • Environment variable:

Username

Specify the user for the demo plugin.

If the specified user does not exist, the plugin creates the user for you.

  • System Config path: Plugins > Demo Plugin

  • config.json setting:

  • Environment variable:


GIF commands

plans-img Available on all plans

deployment-img self-hosted deployments

Access the following configuration settings in the System Console by going to Plugins > GIF commands.

This plugin is used to post GIFs from Gfycat, Giphy, or Tenor using slash commands.

Enable plugin

  • true: Enables the GIF commands plugin on your Mattermost server.

  • false: Disables the GIF commands plugin on your Mattermost server.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

Display the GIF as

Display the GIF as an embedded image where the GIF can’t be collapsed, or as a collapsible image preview where the full URL displays.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

Note:
  • Link previews must be enabled to display GIF previews.

  • Mattermost deployments behind a firewall must open port 443 to both https://api.gfycat.com/v1 and https://gfycat.com/<id> for all request types.

GIF provider

Specify the GIF provider as GIPHY, Tenor, or Gfycat.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

Note: Selecting GIPHY or Tenor requires an API key. A key is not required for Gfycat.

Giphy/Tenor API key

Configure your own API key when specifying the GIF Provider as GIPHY or Tenor. An API key is not required for Gfycat.

See the GIPHY or Tenor documentation for details.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

Content rating (GIPHY & Tenor only)

Select an MPAA-style content rating for GIFs from GIPHY or Tenor. Leave this field empty to disable content filtering.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

Gfycat display style

Specify the display style for GIFs from Gfycat. See the Gfycat Developer API documentation for details.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

GIPHY display style

Specify the display style for GIFs from GIPHY. See the GIPHY Developers Rendition Guide for details.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

Tenor display style

Specify the display style for GIFs from Tenor. See the Tenor API documentation for details.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

Language

Specify the language used to search GIFs from GIPHY. See the GIPHY Developers Language Support documentation for details.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:

Force GIF preview before posting (force /gifs)

  • true: (Default) Prevents accidental posting of inappropriate GIFs from a provider that does not support content rating filtering.

  • false: Both /gif and /gifs slash commands are available for the GIF commands plugin on your Mattermost server.

  • System Config path: Plugins > GIF commands

  • config.json setting:

  • Environment variable:


Mattermost Boards

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Mattermost Boards is an open source alternative to Trello, Notion, and Asana that’s integrated from Mattermost v5.36. Boards is a project management tool that helps define, organize, track and manage work across teams, using a familiar kanban board view. See the Mattermost Boards product documentation for details.

Access the following configuration settings in the System Console by going to Plugins > Mattermost Boards.

Enable plugin

  • true: Enables the Mattermost Boards plugin on your Mattermost workspace.

  • false: Disables the Mattermost Boards plugin on your Mattermost workspace.

  • System Config path: Plugins > Mattermost Boards

  • config.json setting:

  • Environment variable:


Mattermost Playbooks

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Mattermost Playbooks is an open source, self-hosted collaboration tool for teams. Each playbook represents a recurring outcome or specific goal that your teams collaborate on to achieve, such as service outage recovery or customer onboarding. Teams run a playbook every time they want to orchestrate people, tools, and data to achieve that outcome as quickly as possible while providing visibility to stakeholders. Playbooks also allow teams to incorporate learnings from the retrospective to tweak and improve the playbook with every iteration. See the Mattermost Playbooks documentation for details.

Access the following configuration settings in the System Console by going to Plugins > Playbooks.

Enable plugin

  • true: Enables the Mattermost Playbooks plugin on your Mattermost workspace.

  • false: Disables the Mattermost Playbooks plugin on your Mattermost workspace.

  • System Config path: Plugins > Playbooks

  • config.json setting:

  • Environment variable:

Enabled teams

Enable Playbooks for all Mattermost teams, or for only selected teams.

  • System Config path: Plugins > Playbooks

  • config.json setting:

  • Environment variable:

Enable experimental features

  • true: Enables experimental Playbooks features on your Mattermost workspace.

  • false: Disables experimental Playbooks features on your Mattermost workspace.

  • System Config path: Plugins > Playbooks

  • config.json setting:

  • Environment variable:


User satisfaction surveys

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

This plugin enables Mattermost to send user satisfaction surveys to gather feedback and improve product quality directly from your Mattermost users. Please refer to the Mattermost Privacy Policy for more information on the collection and use of information received through Mattermost services.

Access the following configuration settings in the System Console by going to Plugins > User Satisfaction Surveys.

Enable plugin

  • true: Enables the Mattermost User Satisfaction Surveys plugin on your Mattermost workspace.

  • false: Disables the Mattermost User Satisfaction Surveys plugin on your Mattermost workspace.

  • System Config path: Plugins > User Satisfaction Surveys

  • config.json setting:

  • Environment variable:

Enable user satisfaction survey

  • true: A survey is sent to all users every quarter. Results are used by Mattermost, Inc. to improve the product.

  • false: User satisfaction surveys are disabled.

  • System Config path: Plugins > User Satisfaction Surveys

  • config.json setting:

  • Environment variable:

Note: See the Mattermost Privacy Policy for more information on the collection and use of information by Mattermost.


Zoom

plans-img Available on all plans

deployment-img self-hosted deployments

This plugin allows team members to initiate a Zoom meeting with a single click. All participants in a channel can easily join the Zoom meeting and the shared link is updated when the meeting is over. See the Zoom Conferencing Plugin product documentation for details.

Note

To set up this plugin, you need to create a Zoom App using a Zoom Administrator account. See the Zoom configuration documentation for details.

Access the following configuration settings in the System Console by going to Plugins > Zoom.

Enable plugin

  • true: Enables the Zoom plugin on your Mattermost server.

  • false: Disables the Zoom plugin on your Mattermost server.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

Zoom URL

Specify the URL for a self-hosted private cloud or on-premise Zoom server. For example, https://yourzoom.com. Leave blank if you’re using Zoom’s vendor-hosted SaaS service.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

Zoom API URL

Specify the API URL for a self-hosted private cloud or on-premises Zoom server. For example, https://api.yourzoom.com/v2. Leave blank if you’re using Zoom’s vendor-hosted SaaS service.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

Enable OAuth

  • true: OAuth will be used as the authentication means with Zoom.

  • false: JWT will be used as the authentication means with Zoom.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

Note

If you are currently using a JWT Zoom application and switch to OAuth, all users will need to connect their Zoom account using OAuth the next time they try to start a meeting. See the Zoom Configuration documentation for details.

OAuth by account level app (Beta)

  • true: Only an account administrator must log in. The rest of the users will use their e-mail to log in.

  • false: All users must use their e-mail to log in.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

Zoom OAuth client ID

Specify the Client ID for the OAuth app registered with Zoom. Leave blank if not using OAuth.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

Zoom OAuth client secret

Specify the Client Secret for the OAuth app registered with Zoom. Leave blank if not using OAuth.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

At rest token encryption key

Generate an AES encryption key for the Zoom OAuth Token used to encrypt stored access tokens by selecting Regenerate. Regenerating the key invalidates your existing Zoom OAuth.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

API key

Specify the API Key generated by Zoom used to create meetings and pull user data.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

API secret

Specify the API Secret generated by Zoom for your API key.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

Webhook secret

Generate a secret for the webhook URL endpoint used to authenticate the webhook to Mattermost. Regenerating the secret invalidates your existing Zoom plugin.

  • System Config path: Plugins > Zoom

  • config.json setting:

  • Environment variable:

Signature public key files

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.

This feature’s config.json setting is "SignaturePublicKeyFiles": {} with string array input consisting of contents that are relative or absolute paths to signature files.

Chimera OAuth proxy URL

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.

This feature’s config.json setting is "ChimeraOAuthProxyUrl": {} with string input.