External Domains Configuration Guide
Optics is built on Atlassian Forge, and it's Forge itself that blocks scripts, styles, fonts, and API calls to any domain that hasn't been explicitly approved. This is a platform-level security control (Forge's Content Security Policy / egress allowlist), not something Optics implements independently — Optics simply surfaces the configuration screen so admins can manage it without leaving Confluence.
This protects your Confluence site from loading unapproved third-party content. Site administrators can whitelist trusted domains so that macros (like Easy HTML) can safely pull in external resources such as CDN-hosted scripts, web fonts, or API data.
Who Can Manage This
Only Confluence site admins and Confluence admins can add or remove domains from the whitelist. All other users who need an external domain approved should contact their site admin with the request.
Where to Find It
Navigate to:
Confluence settings → Apps → Macros Configuration → External domains
The External Domains Screen
The configuration screen includes the following elements:
Domain URL
A text field where you enter the full URL of the domain you want to whitelist, including the https:// scheme (e.g. https://cdn.example.com).
Allowed Usage
Checkboxes that define what the whitelisted domain is permitted to serve:
Option | Purpose |
|---|---|
Scripts | Allows loading JavaScript (e.g. from a CDN) |
Styles | Allows loading CSS stylesheets |
Fonts | Allows loading web fonts |
Client fetch | Allows data/API calls made from Easy HTML JavaScript running in the browser |
Backend fetch | Allows server-side calls to the domain |
Action Buttons
Add domain: submits the new domain and usage permissions (enabled once a valid URL is entered).
Reload app (apply CSP): reloads Optics so the updated Content Security Policy takes effect.
Whitelisted Domains
A list of domains already approved for the site. If none have been configured, this section shows: "No customer-managed domains configured yet."
How to Add a Domain
Go to Confluence settings → Apps → Macros Configuration → External domains.
In the Domain URL field, enter the domain including
https://(e.g.https://cdn.example.com).Tick the relevant Allowed usage boxes for what this domain needs to serve:
Scripts: if it hosts CDN-delivered JavaScript
Styles: if it hosts stylesheets
Fonts: if it hosts web fonts
Client fetch: if Easy HTML JavaScript needs to call it for data/APIs
Click Add domain.
Confirm the change in the Atlassian approval dialog that appears.
Click Reload app (apply CSP) to apply the updated policy, and refresh the page if the change doesn't take effect immediately.
Changes are reviewed through an Atlassian approval dialog and can also be managed centrally under Connected apps in Atlassian Administration.
Using External Scripts in Easy HTML
If your Easy HTML macro relies on external scripts or API calls, you must also enable JavaScript for that macro: Macros Configuration → Easy HTML → JavaScript (turn on)
Troubleshooting
If external content still fails to load after whitelisting a domain:
Double-check that you entered the correct host and ticked the correct permission types (Scripts, Styles, Fonts, Client fetch, Backend fetch) for what the macro actually needs.
Some external tools, such as webhooksm cannot be called directly from a browser page, even once approved, due to how they're designed to be consumed.
If you're unsure why a domain still isn't working, contact support for assistance.