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

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.


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.

ClamAV - host and port

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

Scan timeout (seconds)

Specify how long the virus scan can take before timing out.


Apps

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Enable plugin

True: Enables the Apps plugin on your Mattermost server.

False: Disables the Apps plugin on your Mattermost server.

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



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.

Channel to send notifications to

Specify the channel to send notifications to in the format teamname,channelname. For example, for a channel with a URL of https://example.com/myteam/channels/mychannel, set the value to myteam,mychannel. If the specified channel does not exist, the plugin creates the channel for you.

Authorized user IDs

Specify users authorized to accept AWS SNS subscriptions to a Mattermost channel. Separate multiple user IDs with commas.

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.


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.

RTC server port

Note

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

The UDP port the RTC server will listen on. All calls traffic will be served through this port. The Default setting is 8443.

Changing this setting requires a plugin restart to take effect.

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: Allow channel admins to enable or disable calls on specific channels. It also allows participants in DMs/GMs to enable or disable calls.

False: Only system admins will be able to enable or disable calls on specific channels.

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: When test mode is enabled, only system admins are able to start calls in channels.

This allows testing to confirm calls are working as expected. When a user tries to start a call, they’ll be prompted to ask their admin to complete the setup and switch to live mode in the System Console. Additionally, when a system admin starts a call, they’re asked to confirm that calls are working as expected before switching to live mode in the System Console.

False: All team members can start calls in channels.

Max call participants

Note

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

The maximum number of participants that can join a single call. This is an optional field and default is 0 (unlimited). The maximum recommended setting is 200.

ICE host override

Note

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

An optional override to the host that gets advertised to clients when connecting to calls. 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 in order to let clients connect successfully. When empty or unset, the RTC service will attempt to automatically find the instance’s public IP through STUN.

Note

This field also supports a hostname (e.g. domain name) although ultimately an IP address is passed to clients. This means that a DNS resolution happens on the Mattermost instance which, in certain cases, could result in the resolved IP to be different from the one the clients would see, causing connectivity to fail. When in doubt, we recommend using an IP address directly or making sure the resolution on the host side reflects the one on the client.

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

ICE servers configurations

Note

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

A list of ICE servers (STUN/TURN) to be used by the service. Value should be valid JSON.

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

Example

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

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

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.

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.

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.

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.

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.

Enable call recordings (beta)

Note

plans-img-yellow Available only on Enterprise plans

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

True: Allow call hosts to record meeting video and audio. Recordings include the entire call window view along with participants’ audio track and any shared screen video. Recordings are stored in Mattermost.

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

Changing this setting requires a plugin restart to take effect.

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.

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. The default is 60 with a maximum of 180. A recording of a 60-minute call will result in a file of about 700 MB.

This is a required value.


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.


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.

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.

Username

Specify the user to use as part of the demo plugin. If the specified user does not exist, the plugin creates the user for you.


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.

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.

Note

Link previews must be enabled in order to display GIF link previews. Mattermost deployments restricted to access behind a firewall must open port 443 to both https://api.gfycat.com/v1 and https://gfycat.com/<id> (for all request types) for this feature to work.

GIF provider

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

Note

Selecting GIPHY or Tenor requires an API Key for this feature to work. An API 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.

To get your own API key, see the GIPHY Developers Quick Start documentation, or the Tenor Developer documentation for details.

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.

Gfycat display style

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

GIPHY display style

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

Tenor display style

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

Language

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

Force GIF preview before posting (force /gifs)

True: Enabled by default to prevent 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.


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.


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.

Enabled teams

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

Enable experimental features

True: Enables experimental Playbooks features on your Mattermost workspace.

False: Disables experimental Playbooks features on your Mattermost workspace.


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.

Enable user satisfaction survey

True: A user satisfaction survey will be sent out to all users on a quarterly basis. The survey results will be used by Mattermost, Inc. to improve the quality and user experience of the product. Please refer to the Mattermost Privacy Policy for more information on the collection and use of information received through Mattermost services.

False: User satisfaction surveys are disabled.


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.

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.

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.

Enable OAuth

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

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

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 has to log in. The rest of the users will use their email to log in.

False: All users must use their email to log in.

Zoom OAuth client ID

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

Zoom OAuth client secret

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

At rest token encryption key

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

API key

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

API secret

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

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.

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.