Deploy a Self-Hosted Extension via Google Admin Console
1. Prepare Your Extension
You should already have a
.crx
file.Along with
.crx
, you need an update manifest file (XML) that points to your CRX. Example:
<?xml version="1.0" encoding="UTF-8"?>
<gupdate xmlns="http://www.google.com/update2/response" protocol="2.0">
<app appid="EXTENSION_ID">
<updatecheck codebase="https://cdn.example.com/extension/swift.crx" version="1.0.0" />
</app>
</gupdate>
EXTENSION_ID = your extension’s unique ID (generated from public key).
codebase URL = CloudFront URL of your
.crx
.version
must match the version in your extension’smanifest.json
.
2. Host on S3 + CloudFront
Upload
.crx
andupdate.xml
to S3.Make them public (or signed URLs if you control access).
Distribute via CloudFront → you’ll get URLs like:
https://cdn.yourdomain.com/swift.crx
https://cdn.yourdomain.com/update.xml
3. Get the Extension ID
The ID is generated from the extension’s public key.
If you already packed it once in Chrome (Developer Mode → Pack Extension), Chrome shows the ID.
That’s the same ID you must use in your update XML and in Google Admin.
4. Add in Google Admin Console
Go to: Admin Console → Devices → Chrome → Apps & extensions → Users & browsers.
Click the + button → choose Add custom app.
Fill in:
Name: e.g. Concentric Extension.
Extension ID: (your fixed ID from above).
URL where manifest is hosted: e.g.
https://cdn.yourdomain.com/update.xml
.
Save.
5. Set Installation Policy
After adding, change Installation policy → Force install + pin (or whatever you need).
Save.
6. Verify
On the user’s Chrome:
Go to
chrome://policy
→ Reload → check extension ID appears.Go to
chrome://extensions
→ it should auto-install from your S3/CloudFront URL.
Extension Deployment Organization Unit Level:
Open Google Admin Console and under Chrome browser,
Navigate to Device Settings From the home dashboard, go to:
Devices
→Chrome
→Apps & Extensions
Select Organizational Unit (OU) Choose the Organizational Unit (OU) where you want the extension to be applied.
You can add our extension using Extension ID , follow below instructions: i) Click on (+) icon and select Add the Chrome App or Extension by ID ii) select (from a custom URL).
Steps follow to find the Extension id:
Open the CloudFront URL in your browser.
Press F12 or right-click anywhere on the page and select Inspect to open the Developer Tools.
Go to the Network tab.
Reload the page by pressing F5 to capture the network requests.
Look for a request that seems to be an API call. You might need to filter by XHR or Fetch/XHR to see only the API requests.
Right-click on the relevant API request and select Open in new tab or a similar option to view its response.
In the response body, you will find the extension ID. Copy it from there.
iii) Paste the Extension Id and Paste the URL which you have got. iv) Click on save to apply changes.
Set Installation Policy Based on your deployment needs, choose one of the following policies:
Force Install – Installs the extension automatically for all users in the OU.
Allow Install – Users can install it manually if they want.
Force Install + Pin to Toolbar – Installs and pins the extension to the Chrome toolbar.
Block – Prevents users from installing the extension.
Save and Apply Changes.







Extension Deployment Group Level:
Open Google Admin Console and under Chrome browser,
Navigate to Device Settings From the home dashboard, go to:
Devices
→Chrome
→Apps & Extensions
Select Target Group
Use the left panel to select the Group where you want to apply the extension.
If you're using groups, make sure the group is already created in Google Workspace.
You can add our extension using Extension ID , follow below instructions: i) Click on (+) icon and select Add the Chrome App or Extension by ID ii) select (from a custom URL).
Steps follow to find the Extension id:
Open the CloudFront URL in your browser.
Press F12 or right-click anywhere on the page and select Inspect to open the Developer Tools.
Go to the Network tab.
Reload the page by pressing F5 to capture the network requests.
Look for a request that seems to be an API call. You might need to filter by XHR or Fetch/XHR to see only the API requests.
Right-click on the relevant API request and select Open in new tab or a similar option to view its response.
In the response body, you will find the extension ID. Copy it from there.
iii) Paste the Extension Id and Paste the URL which you have got. iv) Click on save to apply changes.
4. Set Installation Policy Based on your deployment needs, choose one of the following policies:
Force Install – Installs the extension automatically for all users in the OU.
Allow Install – Users can install it manually if they want.
Force Install + Pin to Toolbar – Installs and pins the extension to the Chrome toolbar.
Block – Prevents users from installing the extension.
5. Save and Apply Changes.
Extension Deployment for Specific User only:
Instead of choosing an organizational unit (OU) or user group, search and select the individual users to whom the extension should be deployed.
Last updated