> For the complete documentation index, see [llms.txt](https://docs.uxwizz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uxwizz.com/guides/extending-the-dashboard.md).

# Extending the dashboard

Start with the built-in controls: use [segments and goals](/guides/goals.md), customize the available views, or generate a chart with [Ask AI](/guides/ask-ai.md). Agency licenses also provide custom dashboards and reusable widgets.

## Custom dashboards and saved widgets

1. Open **Dashboards** and choose or create the dashboard you want to edit.
2. Select **Add chart** to add a widget. In **Add to dashboard**, use **Saved widgets** to reuse an existing chart.
3. Review the dashboard's domain scope, filters, and access before saving or sharing it.
4. Open the saved result with the intended user access to check what that user can see.

![Saved widgets dialog for reusing an existing analytics chart in a custom dashboard](https://2006615411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ltuu0c63_YY4iXfi5vJ%2Fuploads%2Fgit-blob-2ac76c2532dab4b64bba7fcfc3b8ab85ff0b9b7f%2Fuxwizz-saved-widgets-v10.webp?alt=media)

In **Ask AI**, **Add to dashboard** can reuse a generated chart where your license and permissions allow it. Review the underlying query and chart before sharing the result. A preview is not a saved or published dashboard.

## Adding custom CSS/JS using a browser extension

For changes that are not built into UXWizz, a browser extension can apply local CSS or JavaScript to your dashboard. These changes affect that browser only and can break when the interface changes. Internal selectors are not a stable extension API.

Limit extension access to your dashboard origin, review the code you run, and keep a way to disable it. An extension with page access can read information visible in the dashboard.

### 1. Making the flags clickable (view IP geolocation info)

Older versions of this guide included a script that read IP addresses from table cells and opened an external lookup site. It relied on an older table layout and sent visitor IP addresses to a third party.

For a current dashboard, you can still inspect an IP with an external lookup:

1. In **Visitors**, find a session whose IP is already stored and shown in full under your privacy settings.
2. Right-click the IP and select **Copy**, then paste it into your chosen IP lookup service.
3. Compare the result with the location shown in UXWizz. IP geolocation is approximate.

This sends the IP to that external service. A hash or masked value cannot be used for an IP lookup; do not change your privacy settings merely to recover information that was not collected. The old clickable-flag script's table-cell selectors do not match the current Visitors interface, so it needs a UI-specific revision before use.
