Build a Report
A Report is a document that you assemble from Report Blocks, where each Report Block is a unit of Report content on a page. The Visualization Block is a saved chart, and it's the block you'll use most frequently. You'll find the other types of block later on this page.
You build a Report once and reuse it for many clients. Each time you run it, you select the Organizations to run it for, and each of them gets its own Report Snapshot from its own data. The Report is the same, but the data is for one client.
There's one condition to keep in mind. Each Organization that you run the Report for must be a Mapped Organization in each system that the Visualizations of the Report get data from. For example, a client you didn't map in SentinelOne has no data for a chart with SentinelOne data. See which Organizations a Visualization works for before you run a Report for your full list of clients.
The procedure
- Go to Reporting → Reports and select New Report.
- Give a name to your Report. Select Report Details to add an optional description. A description gives your team useful data later.
- Find the Visualization Blocks that you saved. They are in the sidebar on the left. See Build a Visualization.
- Move a Visualization Block onto the canvas. A block can need a value at run time, for example a Date Range. Deepwell then opens its parameters panel.
- Move each block and change its size with its edges and its corners. The canvas has a grid, so the blocks align correctly. To remove a block, select its ×.
- When the layout is correct, select Save.
To change a Report later, go to Reporting → Reports, select Edit in the ⋮ menu on its row, and select Save when you finish. Deepwell updates that same Report rather than making a second copy.
If the Report has a Schedule that isn't paused, Deepwell first asks Update Report used by schedules? and lists them. You have three options:
- Update Report changes the Report in place. Each Schedule keeps the same Report and uses the new definition on its next run. The Report Snapshots that you already have don't change.
- Save as new Report puts your changes in a separate Report. The Schedules stay on the original Report and keep its current definition.
- Cancel returns you to the Report Builder.
To start a new Report from an existing one, select Duplicate in the ⋮ menu on its row in Reporting → Reports. Deepwell opens the Report Builder with the same content, and the new Report exists once you select Save. The original keeps its own Schedules and Report Snapshots.
Pages
A Report starts with one Page. Add more when a Report has more content than one Page holds, or when you want a clear break between sections, for example backup on one Page and security on the next.
The Pages rail sits between the Visualization Blocks sidebar and the canvas:
- Add Page adds a Page after the last one and selects it.
- Select Page N to work on that Page, or select its canvas.
- A Text Block goes on the selected Page. A Visualization Block goes on the Page you drop it on.
- The trash icon next to a Page is Delete Page N. Deepwell asks you to confirm with This removes the Page and every Block on it from the Report. You can't delete the last Page.
A Block stays on the Page you put it on, so to move it to another Page, remove it and add it again there. Pages keep the order you added them in, and you can't reorder them.
Each Page of the Report becomes a Page of the Report Snapshot, in the same order.
Block layers
Blocks on a page can overlap, and each Block has a place in the layer order.
To change the order, select a Block and use Send to back, Send backward, Bring forward, or Bring to front in the toolbar above it.
The layer order is part of the Report, so select Save to keep it. Your client sees the same order in the Report Snapshot and in the Report portal.
How to combine more than one system in one Report
A Report page can use more than one Data Source. For example, put a ticket chart from your PSA, a backup status chart, and a security coverage chart on the same page.
The procedure is the same as for any other Report, except that you select Visualizations that get data from different connected systems.
Parameters
The Data Source of a Visualization Block can have Parameters. A Parameter is a slot with a name, for example a Date Range, and Deepwell puts a value in it when the Report runs. Some values, for example the Organization of the run, go in automatically, and you set the others in the parameters panel when you build the Report.
Each Visualization Block has its own Date Range. Select a Block to open the parameters panel, then set Start (Days Ago) and End (Days Ago) for that Block as whole numbers of days.
If you leave the fields empty, the Block uses the default date window of its Data Source. Each Block keeps its own window, so two Blocks on one page can show different periods.
How to set a Date Range
A Date Range is relative to the run, so Deepwell counts back in whole days from the moment the Report runs and calculates a new window each time.
Start (Days Ago) is the older edge of the window and End (Days Ago) is the newer one. Type 0 in End (Days Ago) for a window that runs up to the moment of the run.
| You want | Start (Days Ago) | End (Days Ago) |
|---|---|---|
| The last 7 days | 7 | 0 |
| The last 30 days | 30 | 0 |
| The last 90 days | 90 | 0 |
| The last 365 days | 365 | 0 |
| The 30 days before the last 30 days | 60 | 30 |
To compare consecutive 30-day periods, use 30 and 0 on one Block and 60 and 30 on another Block.
Because the window moves with the run, it doesn't align to the calendar. A Report that runs on the first day of each month with 30 in Start (Days Ago) shows the last 30 days, not the previous calendar month.
A Block that needs a Date Range must get one from somewhere. If it has no window of its own and its Data Source has no default, and the Report has a Schedule that isn't paused, Deepwell doesn't save the Report. It shows Set a date range for "⟨name⟩" before saving., selects the first Block with the problem, moves it into view, and opens its parameters panel with the missing Start (Days Ago) marked. Set the value, then save again. A Report with no Schedule, or with only paused Schedules, saves without the Date Range, so you can finish it later.
More types of block and more tools
- Text Blocks: select Add Text to put a Text Block on the canvas. Use a Text Block for headings, notes, or additional data. Move it and change its size as you do for each other block. See How to add content to a Text Block.
- AI Generated Summary: a written summary in plain language, which you add to a Text Block with AI Summary. Deepwell writes a new summary from the data of each run. The summary obeys the Language Rules of your MSP. See Team and Users.
How to add content to a Text Block
A Text Block holds one or more nodes, where a node is one piece of content, for example a heading or a paragraph. You add the nodes one at a time.
- Put the pointer on the Text Block. The Add Node control appears at the bottom of the Block.
- Put the pointer on Add Node. The list of node types opens above it.
- Select the type of node you want:
- Title: a heading for the Block.
- Sub Title: a smaller heading, for a period or a date.
- Text: a paragraph.
- AI Summary: an AI Generated Summary of the data of a Visualization. A Block holds one AI Summary at most. After you add one, the control reads Only one AI Summary per Block and you can't select it again.
- Divider Bar: a horizontal line between two nodes.
- Organization name, MSP name, and Date: a merge field. Deepwell fills it in each time the Report runs, so one Report gives each client its own name. See How merge fields work.
- Select the new node to change its text. A Divider Bar has no text, and a merge field gets its text from the run.
How to select the data for an AI Summary
An AI Summary node writes about the Visualization Blocks that you attach to it. Select the node to open its list of the Visualization Blocks on the Report, then select the checkbox of each Block that the summary must cover. If the Report has no Visualization Block yet, the list reads No visualizations available.
The list has one checkbox for each Block on the canvas, not one for each Visualization. So if you put the same Visualization on the Report twice, you get two checkboxes. Each one covers that Block only, and the summary uses the Date Range of the Block that you select.
The list opens when the pointer is on the Block, and it closes when you move the pointer away. To open the list from the keyboard, use the Tab key to put the focus on the Add Node control. The list stays open while the focus is on that control or on one of the node types in the list.
How merge fields work
A merge field is a node that Deepwell fills in when the Report runs. In the Report builder it shows only its name, for example Organization name, and in the Report Snapshot your client sees the value, with the style of a Text node. You can't change the text of a merge field, but you can move it and delete it as you do for each other node.
| Merge field | What the Report Snapshot shows |
|---|---|
| Organization name | The name of the Organization that the Report ran for, as it is in Deepwell. |
| MSP name | The Company name of your MSP. |
| Date | The date of the run, in the Time Zone of your MSP, which today is UTC. For example, September 15, 2026. |
Use a merge field where the text changes from one client to the next. A Title that reads "Monthly Security Report" is correct for each client, so the Title alone is enough. A Title that reads "Monthly Security Report for Acme" is correct for one client only. Keep the fixed words in the Title, then add an Organization name merge field below it.
What happens if the content is longer than the Block
A Text Block keeps the width and the height that you give it, so if the content is longer than the Block, it scrolls inside. The Block does not get taller, and the text does not go over its edge.
Your client sees the same behavior, because long text scrolls inside the Block in the Report Snapshot, in the Report portal, and in the preview before delivery. To show all of the content at one time, make the Block taller.
A Table Visualization Block works the same way, but sideways as well as down. A value never wraps, so each column is as wide as its widest header or value. If the columns need more width than the Block has, the table scrolls from side to side inside it, and your client sees the same scrolling in the Report Snapshot and in the Report portal. To show every column at one time, make the Block wider.
What to do next
A Report that you save is a template, so to make real output for a client, run it, either immediately or on a Schedule, and the run makes a Report Snapshot. See Run, Schedule, and Deliver Reports.
Last updated