Record Atlas
Record Atlas opens any ServiceNow record as a live ERD-style diagram: full table cards, fields grouped by the table that defines them, and a line from each reference field to the record it points at. An SN Utils Pro feature.
Last updated: August 6, 2026
Reading a record tells you what it contains. It rarely tells you what it is connected to. Record Atlas answers that second question: it opens the record as a diagram of table cards, and every reference field becomes a line you can follow to the record on the other end.
Open It
Record Atlas opens in its own tab, from any surface that already knows which record you are looking at:
- Data Explorer (
/vd) — the Record Atlas action. Data Explorer already has the record loaded, so the map appears without another request. - The record info panel — click the question mark icon SN Utils adds to the form header, then the Record Atlas pill.
- CSDM Lens — the Record Atlas button, for the record being assessed.
The map uses your existing ServiceNow session and permissions, so you only ever see records you can already read.
The map tab is named after the record, so several open maps stay tellable apart, and reloading the tab rebuilds the map from the same record rather than losing it. The cards you added by hand are not restored — a reload starts again from the record you opened.
How It Reads
The record you opened sits on the left as a full table card:
- The header is two lines and nothing more: the table's label, then its technical name — so a Script Include card reads
Script Includeoversys_script_include. The record's display value follows, and the facts line underneath counts the references and fields and names any parent table, for exampleextends Task. - Fields are grouped by the table that defines them, not by form section. A field inherited from
taskappears under Task, one added byincidentunder Incident, and platform fields collapse into System fields, which stays folded until you open it. Within a group, fields are ordered by name. - Empty references are summarised at the bottom rather than filling the card with blanks.
- The card you are reading carries a Focus badge, and the toolbar names the same record. Clicking a card anywhere — its header, a field, a group heading — moves the focus to it, and following a reference moves the focus on to the card it opens. The starting record keeps its green outline whether or not it is the one in focus.
Click any reference row and the record it points at is drawn beside it, with a line running from that exact row to the new card. The line starts at the field, not at the corner of the card, so with a dozen references it is still obvious which line belongs to which field.
When several fields point at the same record — opened_by, closed_by and resolved_by are often the same person — each field keeps its own line, and the lines arrive at slightly different heights on the target card instead of merging into one.
Detail Modes
The three modes trade breadth against detail:
| Mode | Shows |
|---|---|
| Overview | Table names and counts only — the shape of the relationships, nothing else |
| References (default) | Reference fields and their values |
| All Fields | Every field on every card, including the system fields |
Filter fields searches across every card at once, by field name, label or value, and dims the cards with no match.
To see every value on one card without moving the whole map to All Fields, use View all field values in that card's actions.
The fields a card shows come from the record itself, not from the form, so fields that never appear on a form — the sys_created_by / sys_updated_on audit stamps in particular — are all there under System fields.
A card only grows so tall before its fields start scrolling. When that happens it gets a Show all N fields bar along the bottom: click it and the card grows to its full length so nothing is left below a fold, and Show less puts it back. Cards short enough to fit are left alone.
Field Details
Card rows are one line each, which is not enough for a long description or a work note. Click the magnifier on any row — or right-click the row — for the whole field:
- The label and the technical name.
- The full value, wrapped rather than cut off, and the stored value behind it where the two differ (the
sys_idbehind a reference's display value, the raw number behind a choice label). - The field type, and the table that defines it — which is the parent table for an inherited field, not the one you are looking at.
- Copy the value, the stored value or the field name.
- For a reference: open the referenced record, or follow it onto the map.
- For a script, XML, HTML, JSON or CSS field: open it in the code editor — the same Monaco editor the button beside the field on a form opens, with syntax highlighting, the version history and
Ctrl+Sto save back to the instance. - Open the dictionary entry for the field, or find every record on this table with this value as a filtered list.
Card Actions
Right-click a card's header — or use the ⋯ button in its top corner — for the things you are likely to want next. (Right-clicking a field row asks about that field instead.)
| Action | What it does |
|---|---|
| Open record in ServiceNow | The record in a new tab, on the instance the map came from |
| Open in Data Explorer | The same record in Data Explorer (/vd) |
| New Record Atlas from here | A fresh map with this record as the starting point |
| View all field values | Every field on this card only |
| Follow all references | Expands every filled reference in one go |
| Find what points here | Runs the incoming scan for this record |
| Copy sys_id / Copy record link | Straight to the clipboard |
| Centre on this card | Brings it to the middle of the view |
| Remove from map | Takes the card off, with its lines |
The × button on a card is the same as Remove from map, and so is Backspace on the card that holds the focus. Removing a card also removes the incoming-reference groups that only described it; records you loaded through those groups stay. The starting record has no × — it is what the rest of the map hangs off.
Arranging the Map
The layout engine places cards automatically, which is right most of the time. When it is not:
- Drag a card by its header to put it exactly where you want it — in any direction, including out to the left of everything else. The card keeps that spot as you carry on expanding references, and gets an amber pin. Fit brings a card you sent a long way off back into view.
- The rest of the map lays out around it. Drop a card on top of another and the others make room; drop it in free space and nothing else moves.
- Click the pin to release just that card back to the layout engine.
- Tidy map releases every card you moved and lays the whole map out again.
Drag the background to pan, scroll to zoom, and use Fit to bring everything back into view. A record with a long list of references is laid out as a block rather than one tall column, so the whole map still fits a screen at a readable size.
The keyboard travels the map too, whenever you are not typing in a field:
| Key | Does |
|---|---|
| ← ↑ → ↓ | Pan |
| + / − | Zoom in and out |
| 0 | Fit the map to the screen |
| [ / ] | Back and forward through the records you focused |
| Backspace / Delete | Take the focused card off the map |
Clicking a line jumps to the card at its far end, which is often quicker than finding the card itself on a busy map.
Incoming References
Outgoing references are in the record. Records pointing at it are not, so they have to be looked for. Find incoming works out which reference fields on other tables could point at this record, then checks them and reports which ones hold matching records and how many. You choose which of those to add to the map.
Nothing runs until you press scan, and you can stop mid-scan. A busy table like task can be referenced by hundreds of fields, so the scan counts them a hundred at a time in a single GraphQL request per block, five blocks per press — five hundred fields checked for five round trips. The panel reports how many fields it has checked out of the total and offers to carry on with the rest. Until every field is checked it says how many are left rather than claiming the record has nothing pointing at it.
Instances without the GraphQL API fall back to counting each field on its own, which is slower but reaches the same answer.
Taking the Map With You
The export button in the toolbar (the download icon) gets the finished map out of the browser:
- Copy image puts a PNG of the whole map on your clipboard, ready to paste into a ticket, a Slack message or a slide.
- Download PNG saves the same image as a file.
- Download SVG saves it as vector artwork instead — crisp at any size, and editable in a drawing tool.
- Copy as Mermaid gives you the map as Mermaid flowchart source, which renders as a diagram in most wikis, in Markdown docs and in pull requests. Useful when the diagram needs to live in text rather than as a picture.
The image is drawn from the map itself, so it matches what you see — including the light or dark theme you are using — and covers the entire map, not just the part on screen.
Data Handling
Record Atlas runs entirely against the instance you opened it from, using your own session. It installs nothing in the instance, writes nothing back, and sends no record data to SN Utils servers. Table and field metadata is cached for the browser session to keep the map responsive.
The request counter in the status bar tells you what the map is costing you. The first record you open on a given table costs four requests — the record, its field metadata, the dictionary and the table hierarchy. Every further record on that same table costs one, because the rest is cached.