How it works
The extension checks each page the agent visits against the deployment’s configured condition (a localStorage key, cookie, URL parameter, or other browser signal). If the condition passes, it injects the widget automatically. The widget behaves identically to an embedded widget — it collects browser metadata, creates a session, and connects to your agent. The widget key in the extension identifies your organization and deployment. No per-agent login is required.Download
Get the extension from the Duckie dashboard:- Go to Connections → Widget
- Click Get Embed Code
- Open the Extension tab
- Click Download Extension (.zip)
Installation
Self-serve (individual agent)
- Download and unzip the extension file
- Open Chrome and go to
chrome://extensions - Enable Developer mode (toggle in the top right)
- Click Load unpacked and select the unzipped folder
- Click the Duckie extension icon in the toolbar → Options
- Enter your widget key (found in Connections → Widget → Get Embed Code) and save
Enterprise (Google Workspace)
IT admins can force-install the extension and push the widget key to all agents without any manual setup. Step 1 — Force install via Google Admin Console- Go to Devices → Chrome → Apps & Extensions
- Select the target organizational unit
- Add the extension (by ID or upload the
.crxfile) - Set the install policy to Force Install
widgetKey and baseUrl are shown pre-filled in the Get Embed Code → Extension tab for your widget.
Agents receive the configuration automatically on their next Chrome sync — no manual entry needed.
If a managed policy key is present, the extension options page is locked and agents cannot change the widget key.
Configure the injection condition
The extension only injects the widget when a condition you define passes on the current page. Without a condition configured, the widget will not appear. Configure the condition per widget deployment:- Go to Deploy → your widget deployment → Edit
- Scroll to Chrome Extension Condition
- Toggle it on and configure:
Example conditions
The condition is re-evaluated on each page load. Changing the condition in the dashboard takes effect on the next page load — no extension update required.
Passing browser metadata
Data you configure in the widget’s Metadata tab is collected automatically by the extension and passed to the agent as Widget App Data — the same as a standard widget embed. For example, if you configure a metadata field to readticketId from localStorage, the agent receives it with every conversation started from that page.
See the website widget page for metadata field configuration.
Troubleshooting
Widget does not appear- Confirm the widget key is saved in the extension options page
- Check that the deployment has a Chrome Extension Condition configured and toggled on
- Verify the condition passes on the current page (e.g. run
localStorage.getItem('your_key')in the browser console) - Reload the page after saving a new condition
- Ensure the metadata field’s localStorage key (or other source) exists on the page before the widget loads
- Set the value before the page loads, not after — embed.js collects metadata on initialization
- Confirm the agent is signed into Chrome with their managed Google Workspace account
- Policy changes can take a few minutes to propagate; ask the agent to restart Chrome