# Add Google Chrome Extension

> Adds or updates one or more Google Chrome extensions using the ExtensionSettings policy.

Source: https://docs.capaone.com/capaone/application-manager/powerbricks/add-google-chrome-extension/  
Product: CapaOne — a separate CapaSystems product; do not apply this page to any other.

Adds or updates one or more Google Chrome extensions using the ExtensionSettings policy. Supports merge behavior, global default policy, optional legacy ExtensionInstallForcelist updates, and advanced extension restrictions.

## Parameters

#### Extension ID
*Required*

The ID of the Chrome extension to add. Find the extension ID in the Chrome Web Store URL (e.g., aapocclcgogkmnckokdopfmhonfmgoek for Google Docs Offline).

#### Installation Mode
*Required* — Default: `Force Installed`

Controls how the extension is handled. Allowed: users can install it themselves, and it is not installed automatically. Blocked: users cannot install it, but a copy that is already installed is left on the machine. Removed: users cannot install it, and it is uninstalled if it is already present. Force Installed: it is installed automatically without asking the user, and users cannot disable or remove it. Normal Installed: it is installed automatically without asking the user, but users can disable it. Force Installed and Normal Installed require an Update URL. Allowed values: `Allowed`, `Blocked`, `Force Installed`, `Normal Installed`, `Removed`.

#### Update URL
*Optional* — Default: `https://clients2.google.com/service/update2/crx`

Specifies the extension update URL. For Chrome Web Store use https://clients2.google.com/service/update2/crx.

#### Minimum Version Required
*Optional*

Optional minimum extension version required before installation is accepted.

#### Override Update URL
*Optional* — Default: `Not Set`

Choose whether override_update_url should be enabled, disabled, or left unchanged. Allowed values: `Not Set`, `Enable`, `Disable`.

#### Toolbar Pin
*Optional* — Default: `Not Set`

Choose whether toolbar_pin should be force_pinned, default_unpinned, or left unchanged. Allowed values: `Not Set`, `Force Pinned`, `Default Unpinned`.

#### Blocked Permissions
*Optional* — Default: `Not Configured`

Optional permissions to block for the selected extensions. Allowed values: `Not Configured`, `tabs`, `history`, `bookmarks`.

#### Allowed Permissions
*Optional* — Default: `Not Configured`

Optional permissions to explicitly allow for the selected extensions. Allowed values: `Not Configured`, `tabs`, `history`, `bookmarks`.

#### Runtime Blocked Hosts
*Optional* — Default: `Not Configured`

Optional host patterns the extension is not allowed to modify. Allowed values: `Not Configured`, `*://*.facebook.com/*`, `*://*.youtube.com/*`.

#### Runtime Allowed Hosts
*Optional* — Default: `Not Configured`

Optional host patterns where the extension is allowed to run. Allowed values: `Not Configured`.

#### Allowed Types
*Optional* — Default: `Not Configured`

Optional extension package types that are allowed. Chrome's ExtensionSettings schema only supports this on the global default ('*') entry, so it only takes effect when SetGlobalDefault is enabled; it is ignored for a specific ExtensionID. Allowed values: `Not Configured`, `extension`, `theme`, `hosted_app`.

#### Install Sources
*Optional* — Default: `Not Configured`

Optional install sources allowed for off-store extension packages. Chrome's ExtensionSettings schema only supports this on the global default ('*') entry, so it only takes effect when SetGlobalDefault is enabled; it is ignored for a specific ExtensionID. Allowed values: `Not Configured`, `https://*/*`, `file://*`.

#### Blocked Install Message
*Optional*

Optional custom message shown when extension installation is blocked. Maximum length is 1000 characters.

#### Clear Restriction Settings
*Required* — Default: `False`

Enable to remove blocked and allowed permissions, host restrictions, allowed types, and install sources before applying new values.

#### Clear Blocked Install Message
*Required* — Default: `False`

Enable to remove blocked_install_message before applying a new message value.

#### Set Global Default
*Required* — Default: `False`

Enable to configure the global '*' ExtensionSettings policy block.

#### Global Default Installation Mode
*Optional* — Default: `Blocked`

Installation mode applied to every extension that is not configured individually, used only when Set Global Default is enabled. Allowed: users can install any extension. Blocked: users cannot install extensions, but extensions that are already installed are left on the machine. Removed: users cannot install extensions, and installed ones are uninstalled. Force Installed and Normal Installed are not meaningful here, because there is no single extension to install. Blocked is the usual choice: block everything by default and add an Allowed or Force Installed entry for each extension you want to permit. Allowed values: `Allowed`, `Blocked`, `Force Installed`, `Normal Installed`, `Removed`.

#### Global Default Update URL
*Optional*

Optional update URL for the global '*' block.

#### Remove Global Default
*Required* — Default: `False`

Enable to remove the global '*' policy block that this brick manages.

#### Update Legacy Forcelist
*Required* — Default: `False`

Enable to keep the legacy ExtensionInstallForcelist in sync for backward compatibility.

#### Legacy Forcelist Update URL
*Optional* — Default: `https://clients2.google.com/service/update2/crx`

Update URL used when writing legacy ExtensionInstallForcelist values.

## Details

- **Category:** Browser settings
- **Brick ID:** `Chrome-Add-Extension`

## Raw JSON definition

**JSON**

```json
{
  "category": "browserSettings",
  "description": "Adds or updates one or more Google Chrome extensions using the ExtensionSettings policy. Supports merge behavior, global default policy, optional legacy ExtensionInstallForcelist updates, and advanced extension restrictions.",
  "developerVendor": "CapaSystems A/S",
  "displayName": null,
  "id": "Chrome-Add-Extension",
  "name": "Add Google Chrome Extension",
  "parameters": [
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "The ID of the Chrome extension to add. Find the extension ID in the Chrome Web Store URL (e.g., aapocclcgogkmnckokdopfmhonfmgoek for Google Docs Offline).",
      "id": "ExtensionID",
      "name": "Extension ID",
      "regExValidation": "",
      "required": true,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "force_installed",
        "name": "Force Installed"
      },
      "description": "Controls how the extension is handled. Allowed: users can install it themselves, and it is not installed automatically. Blocked: users cannot install it, but a copy that is already installed is left on the machine. Removed: users cannot install it, and it is uninstalled if it is already present. Force Installed: it is installed automatically without asking the user, and users cannot disable or remove it. Normal Installed: it is installed automatically without asking the user, but users can disable it. Force Installed and Normal Installed require an Update URL.",
      "id": "InstallationMode",
      "name": "Installation Mode",
      "regExValidation": "",
      "required": true,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "allowed",
          "name": "Allowed"
        },
        {
          "id": "blocked",
          "name": "Blocked"
        },
        {
          "id": "force_installed",
          "name": "Force Installed"
        },
        {
          "id": "normal_installed",
          "name": "Normal Installed"
        },
        {
          "id": "removed",
          "name": "Removed"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": "https://clients2.google.com/service/update2/crx",
      "defaultValueObject": null,
      "description": "Specifies the extension update URL. For Chrome Web Store use https://clients2.google.com/service/update2/crx.",
      "id": "UpdateUrl",
      "name": "Update URL",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Optional minimum extension version required before installation is accepted.",
      "id": "MinimumVersionRequired",
      "name": "Minimum Version Required",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "not_set",
        "name": "Not Set"
      },
      "description": "Choose whether override_update_url should be enabled, disabled, or left unchanged.",
      "id": "OverrideUpdateUrl",
      "name": "Override Update URL",
      "regExValidation": "",
      "required": false,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "not_set",
          "name": "Not Set"
        },
        {
          "id": "enable",
          "name": "Enable"
        },
        {
          "id": "disable",
          "name": "Disable"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "not_set",
        "name": "Not Set"
      },
      "description": "Choose whether toolbar_pin should be force_pinned, default_unpinned, or left unchanged.",
      "id": "ToolbarPin",
      "name": "Toolbar Pin",
      "regExValidation": "",
      "required": false,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "not_set",
          "name": "Not Set"
        },
        {
          "id": "force_pinned",
          "name": "Force Pinned"
        },
        {
          "id": "default_unpinned",
          "name": "Default Unpinned"
        }
      ]
    },
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "NotConfigured",
        "name": "Not Configured"
      },
      "description": "Optional permissions to block for the selected extensions.",
      "id": "BlockedPermissions",
      "name": "Blocked Permissions",
      "regExValidation": "",
      "required": false,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "NotConfigured",
          "name": "Not Configured"
        },
        {
          "id": "tabs",
          "name": "tabs"
        },
        {
          "id": "history",
          "name": "history"
        },
        {
          "id": "bookmarks",
          "name": "bookmarks"
        }
      ]
    },
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "NotConfigured",
        "name": "Not Configured"
      },
      "description": "Optional permissions to explicitly allow for the selected extensions.",
      "id": "AllowedPermissions",
      "name": "Allowed Permissions",
      "regExValidation": "",
      "required": false,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "NotConfigured",
          "name": "Not Configured"
        },
        {
          "id": "tabs",
          "name": "tabs"
        },
        {
          "id": "history",
          "name": "history"
        },
        {
          "id": "bookmarks",
          "name": "bookmarks"
        }
      ]
    },
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "NotConfigured",
        "name": "Not Configured"
      },
      "description": "Optional host patterns the extension is not allowed to modify.",
      "id": "RuntimeBlockedHosts",
      "name": "Runtime Blocked Hosts",
      "regExValidation": "",
      "required": false,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "NotConfigured",
          "name": "Not Configured"
        },
        {
          "id": "*://*.facebook.com/*",
          "name": "*://*.facebook.com/*"
        },
        {
          "id": "*://*.youtube.com/*",
          "name": "*://*.youtube.com/*"
        }
      ]
    },
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "NotConfigured",
        "name": "Not Configured"
      },
      "description": "Optional host patterns where the extension is allowed to run.",
      "id": "RuntimeAllowedHosts",
      "name": "Runtime Allowed Hosts",
      "regExValidation": "",
      "required": false,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "NotConfigured",
          "name": "Not Configured"
        }
      ]
    },
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "NotConfigured",
        "name": "Not Configured"
      },
      "description": "Optional extension package types that are allowed. Chrome's ExtensionSettings schema only supports this on the global default ('*') entry, so it only takes effect when SetGlobalDefault is enabled; it is ignored for a specific ExtensionID.",
      "id": "AllowedTypes",
      "name": "Allowed Types",
      "regExValidation": "",
      "required": false,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "NotConfigured",
          "name": "Not Configured"
        },
        {
          "id": "extension",
          "name": "extension"
        },
        {
          "id": "theme",
          "name": "theme"
        },
        {
          "id": "hosted_app",
          "name": "hosted_app"
        }
      ]
    },
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "NotConfigured",
        "name": "Not Configured"
      },
      "description": "Optional install sources allowed for off-store extension packages. Chrome's ExtensionSettings schema only supports this on the global default ('*') entry, so it only takes effect when SetGlobalDefault is enabled; it is ignored for a specific ExtensionID.",
      "id": "InstallSources",
      "name": "Install Sources",
      "regExValidation": "",
      "required": false,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "NotConfigured",
          "name": "Not Configured"
        },
        {
          "id": "https://*/*",
          "name": "https://*/*"
        },
        {
          "id": "file://*",
          "name": "file://*"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Optional custom message shown when extension installation is blocked. Maximum length is 1000 characters.",
      "id": "BlockedInstallMessage",
      "name": "Blocked Install Message",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to remove blocked and allowed permissions, host restrictions, allowed types, and install sources before applying new values.",
      "id": "ClearRestrictionSettings",
      "name": "Clear Restriction Settings",
      "regExValidation": "",
      "required": true,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to remove blocked_install_message before applying a new message value.",
      "id": "ClearBlockedInstallMessage",
      "name": "Clear Blocked Install Message",
      "regExValidation": "",
      "required": true,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to configure the global '*' ExtensionSettings policy block.",
      "id": "SetGlobalDefault",
      "name": "Set Global Default",
      "regExValidation": "",
      "required": true,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "blocked",
        "name": "Blocked"
      },
      "description": "Installation mode applied to every extension that is not configured individually, used only when Set Global Default is enabled. Allowed: users can install any extension. Blocked: users cannot install extensions, but extensions that are already installed are left on the machine. Removed: users cannot install extensions, and installed ones are uninstalled. Force Installed and Normal Installed are not meaningful here, because there is no single extension to install. Blocked is the usual choice: block everything by default and add an Allowed or Force Installed entry for each extension you want to permit.",
      "id": "GlobalDefaultInstallationMode",
      "name": "Global Default Installation Mode",
      "regExValidation": "",
      "required": false,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "allowed",
          "name": "Allowed"
        },
        {
          "id": "blocked",
          "name": "Blocked"
        },
        {
          "id": "force_installed",
          "name": "Force Installed"
        },
        {
          "id": "normal_installed",
          "name": "Normal Installed"
        },
        {
          "id": "removed",
          "name": "Removed"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Optional update URL for the global '*' block.",
      "id": "GlobalDefaultUpdateUrl",
      "name": "Global Default Update URL",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to remove the global '*' policy block that this brick manages.",
      "id": "RemoveGlobalDefault",
      "name": "Remove Global Default",
      "regExValidation": "",
      "required": true,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to keep the legacy ExtensionInstallForcelist in sync for backward compatibility.",
      "id": "UpdateLegacyForcelist",
      "name": "Update Legacy Forcelist",
      "regExValidation": "",
      "required": true,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "https://clients2.google.com/service/update2/crx",
      "defaultValueObject": null,
      "description": "Update URL used when writing legacy ExtensionInstallForcelist values.",
      "id": "LegacyForcelistUpdateUrl",
      "name": "Legacy Forcelist Update URL",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    }
  ],
  "powershell": {
    "base64Encoded": true,
    "function": "ZnVuY3Rpb2..."
  },
  "type": "powerbrick",
  "version": "2026.9.1.1"
}
```
