Legacy add-ons had their preferences stored in a Thunderbird preference branch and IT admins could use Enterprise policies to preset extension.* values to override/pre-configure add-on settings.
WebExtensions have no access to Thunderbird's preference branches. They can instead use the managed storage. Using Enterprise policies to override/pre-configure add-on preferences did not require the add-on itself to "know" about this. This is different for the managed storage: The add-on needs to support it as it is the add-on who needs to check if there is a value in the managed storage. To get the colour value of the managed storage, it has to do this:
let managed_colour = await messenger.storage.managed.get("colour");
So if add-ons are used in Enterprise environments and IT admins need the feature to preset some settings, they first need to get in touch with the developer.
Once the add-on supports the managed storage, IT admins can deploy configuration files as described here:
There is an example add-on, which can be used to test this concept:
- Follow the instructions given to deploy the storage file. On Windows, one has to create a registry key for the example add-on, which points to a json file:

And that file should look like so:
{
"name": "favourite-colour-examples@mozilla.org",
"description": "ignored",
"type": "storage",
"data": {
"colour": "management thinks it should be blue!"
}
}
- Clone the entire example repository, or download it as a zip file.
- Open Thunderbird and click on the hamburger menu and select
Tools -> Developer Tools ->Debug Add-on
- Click on the
Load Temporary Add-on ... button and select the manifest.json file in the favourite-colour folder of the downloaded and extracted zip file / cloned repository
- Go back to the inbox tab (the tab which has your folders and emails) and click on the
Favorite color options button in the toolbar, or go to the add-on manager and manually open the add-ons options. You should see this:

It depends on the add-on how the information from the managed storage is used. In this case it is just presented as an information, but it could also lock the config field and enforce the value from the management.
Legacy add-ons had their preferences stored in a Thunderbird preference branch and IT admins could use Enterprise policies to preset
extension.*values to override/pre-configure add-on settings.WebExtensions have no access to Thunderbird's preference branches. They can instead use the managed storage. Using Enterprise policies to override/pre-configure add-on preferences did not require the add-on itself to "know" about this. This is different for the managed storage: The add-on needs to support it as it is the add-on who needs to check if there is a value in the managed storage. To get the
colourvalue of the managed storage, it has to do this:So if add-ons are used in Enterprise environments and IT admins need the feature to preset some settings, they first need to get in touch with the developer.
Once the add-on supports the managed storage, IT admins can deploy configuration files as described here:
There is an example add-on, which can be used to test this concept:
And that file should look like so:
Tools->Developer Tools->Debug Add-onLoad Temporary Add-on ...button and select themanifest.jsonfile in thefavourite-colourfolder of the downloaded and extracted zip file / cloned repositoryFavorite color optionsbutton in the toolbar, or go to the add-on manager and manually open the add-ons options. You should see this:It depends on the add-on how the information from the managed storage is used. In this case it is just presented as an information, but it could also lock the config field and enforce the value from the management.