How to Build Custom Widgets and Dashboards

How to Build Custom Widgets and Dashboards

Overview

A widget is one query plus one visualisation. A dashboard is a saved arrangement of widgets. You build widgets in the query builder, then place them on a dashboard and arrange the grid.

You can build a widget's query three ways — by picking fields, by writing SQL, or by describing it to ZIN in plain English — and all three feed the same live preview.


Prerequisites

  • At least one integration connected and scanned, so there is data to query
  • The widget create permission (defence:widget:create) to build widgets
  • The dashboard create and update permissions (defence:dashboard:create, defence:dashboard:update) to build and edit dashboards

Creating a Widget

Navigation: Sidebar → Dashboard → CreateWidget

The builder opens with the query panel on the left and the live preview on the right. Across the top of the query panel are three tabs — Query, SQL and AI.

Method 1: the Query tab (no SQL needed)

  1. In Source, choose the table your data lives in. Hover an option for a description of that table.
  2. Optionally use Include related data to bring in related tables. Pick a join type — INNER, LEFT or RIGHT. Adding or changing a related table does not wipe the rest of your query.
  3. In Select, pick the fields you want. Each option shows a readable label alongside the underlying table.column and a chip for its type.
  4. Not sure what a field means? Click Browse data dictionary to open the searchable Data Dictionary panel. Search a field by name and use + Insert to drop it straight into your query — if it belongs to a related table, that table is joined for you.
  5. Turn on any of the optional query blocks with the buttons underneath: Filter, Aggregation, Group, Order, Limit.
  6. Click Preview.

If you select only category-style fields, Interno offers a hint: *You picked category fields. Add a Count so the chart shows totals per value instead of repeated rows.* Click Apply Count to add the count and grouping for you, or Dismiss to ignore it.

Aggregations available: count, min, max, avg and sum. Which ones are offered depends on the field — numeric fields get all five, date fields get min and max, and identifier fields get count.

Method 2: the SQL tab

  1. Switch to SQL.
  2. Write your query in the editor.
  3. Use View Schema to open the Table Relationship panel beside it — it lists the tables and columns you can use, lets you copy a table or column name, and shows the distinct values in a column. Close Schema puts the preview back.
  4. Run it with the Run query button, or press Ctrl + Enter (⌘ + Enter on a Mac).

Method 3: the AI tab

  1. Switch to AI.
  2. Type what you want in the Prompt box — for example, *show the ten endpoints with the most open vulnerabilities*. The prompt is required and is capped at 4096 words.
  3. Click Preview. ZIN streams the query back under Generated Query, and you can copy it with the copy icon.
  4. If it is close but not right, refine the prompt, or take the generated query into the SQL tab and edit it.

Choosing the Visualisation

The right-hand panel shows the result as you build. Above it you can:

  • switch the chart type
  • set the x-Axis and y-Axis fields (for chart types that have axes)
  • set the y-axis labelValues or Metrics
  • toggle Include Total and Show Legend
  • set the Color Palette, including a Custom Palette

Interno has 22 visualisation types: table, bar, horizontal-bar, grouped-bar, grouped-horizontal-bar, polar-bar, pie, doughnut, semi-doughnut, nightingale, line, area, scatter, heatmap-cartesian, treemap, sunburst, funnel, radar, card, parallel, rainfall and theme-river. Only the ones that suit your current result set are offered.

When you are happy, click Create widget. Give it a Title and a Description (up to 500 words) and save. Editing an existing widget shows Update widget instead.


Building a Dashboard

Navigation: Sidebar → Dashboard → CreateDashboard

The Create dashboard page has the details form on the left and the widget picker on the right.

  1. Enter a Title and, optionally, a Description.
  2. Choose the Dashboard TypePrivate Dashboard or Public Dashboard.
  3. Pick widgets on the right. Once you have widgets of your own, two tabs appear: Template Widgets (ready-made ones) and My Widgets (ones you built). Each tab has its own search box.
  4. Click Create dashboard.

Selecting widgets is optional — you can create the dashboard empty and add widgets afterwards.


Arranging the Grid

Open a dashboard, then choose Edit Dashboard from the three-dot More Options menu.

In edit mode you can:

  • Add Widget — open the widget selector, search it, select all visible or reset your selection, then Apply Changes
  • drag a widget to move it and resize it by its edge
  • click a widget's edit icon (Navigate to edit widget) to open it in the query builder
  • click a widget's close icon (Remove from dashboard) to take it off
  • click Auto Layout to tidy the grid automatically
  • click the pencil next to the dashboard name to rename it

Layout changes are not saved automatically. Click Save Changes before you leave, or your rearrangement is lost. Saving needs defence:dashboard:update.


Troubleshooting

My widget shows no data → Check that the integration feeding that table has scanned. Then re-run Preview — an over-tight filter or a Limit set too low will also empty a result.

My SQL query fails → Open View Schema and confirm the table and column names against the Table Relationship panel. Copy the names from there rather than typing them.

I don't know which field I need → Use Browse data dictionary in the Query tab. It is searchable by name, shows what each field means, and inserts it for you.

The AI tab gave me the wrong query → Be more specific — name the metric, the tool and the time frame. You can also take the generated query into the SQL tab and edit it directly.

My chart repeats the same value over and over → You selected category fields without an aggregation. Use Apply Count when Interno offers it, or add a Count aggregation and a Group By yourself.

The chart type I want isn't in the list → Chart types are filtered to those that fit your current result — for example, some need more than one series. Adjust the query or the axis selection and the option reappears.

My layout changes disappeared → Dashboards do not auto-save. Use Save Changes in edit mode. If the button is missing you lack defence:dashboard:update.

The builder says I'm not authorised → Building widgets needs defence:widget:create. Editing a dashboard's layout needs defence:dashboard:update.


Need more help? Contact support@zeron.one

    • Related Articles

    • How to Create AI-Powered Dashboards

      Overview The ZIN Dashboard builder turns a sentence into a dashboard. You describe what you want to see, ZIN proposes a set of widgets with queries and chart types already chosen, you keep the ones you like, and Interno builds the dashboard from ...
    • How to Manage Dashboards (Templates, Filters, Export/Import)

      Overview This guide covers managing Interno dashboards: creating them, applying filters across every widget at once, setting a default, and moving a dashboard between environments with export and import. Building the widgets that go inside a ...
    • How to View the Posture Dashboard

      Overview Interno does not ship one fixed posture screen. The Dashboard section is a set of dashboards you build and keep, each one a grid of widgets over your connected security data. Your security posture view is whichever dashboard you have put ...
    • How to Customize Widget Appearance & Colors in Interno

      Overview This guide covers how to change the look of an Interno widget — its chart type and its colors. There are two routes: a quick editor on a widget already sitting on a dashboard, and the full Widget Builder. For building a widget's underlying ...
    • How to Set Up Alerts and Evidence Queries

      Overview The Query Library holds the saved queries that Interno runs on your behalf. It has three tabs: Tab What it holds Widget Saved queries that render as dashboard widgets Evidence Queries that collect compliance evidence against a control or a ...