Public links and snapshots
Make a link anyone can open without signing in, set when it expires, turn it off, and choose whether it reads a snapshot or live data.
A public link opens the published version of one report for anyone who has it, with no account. By default it reads a snapshot, so it opens fast and doesn't reach your database for every reader.
Make a link
You need edit access to the report and the Share publicly permission.
Publish the report. A link on a report that was never published says it isn't published yet. See Drafts, versions and publishing.
Choose Share, and find Public link.
Give it an optional Name, such as "Newsletter", to tell links apart.
Pick an Expiry: Never expires, or 1, 7, 30 or 90 days.
Choose Make link, then copy it from the list. New public link adds another.
The address looks like https://{org}.usehalo.net/r/hlp_…. A report can have up to 50 links, and each row in the dialog shows its expiry, its views and when it was last opened.
What people see
The published version, in your organization's brand, with your logo and name. A report with editions opens the latest, with a menu of the others.
When it was updated, and "Link works until" a date when the link expires.
Filters that work, and charts that filter each other. What a reader sets goes in the page's address, so Copy link sends someone the same view. See Send a filtered view.
A "Powered by Halo" badge, unless your plan removes it.
Ask Halo, for a signed-in member who may use it. See Who can use it.
A public report in its organization's brand: its logo and name at the top, Link works until a date, scorecards, charts and a table, and Powered by Halo at the bottom
A dataset with row policies shows no rows on a public link, because there's no person for the policy to ask about. A link also can't reach datasets or fields the published report doesn't use, so a query for anything else is refused. Within those fields it can ask for any values, unless a locked filter stops it: an unlocked report filter shapes the page rather than limits what's reachable. To keep rows back, lock a report filter, or give the report a dataset that holds only what's public.
Public links can't be framed on other sites. For that, use an embed. Search engines are told not to index them.
Pressing ⌘P prints every page. See Printing and PDFs.
Downloads
People on a public link only look until you turn on People who open public links and embeds can export data in the Share dialog. It takes effect when you publish. Then charts and tables that offer exports give up to 10,000 rows as CSV, Excel or JSON, and charts give PNG images. Turn on They can download the report as a PDF too, and the link's header has PDF. Each reader can make ten of each an hour. See Exports.
Change or end a link
Each link's menu has three actions:
| Action | What it does |
|---|---|
| Rename or change expiry… | Changes the name and when it expires |
| New address… | Gives it a new address. The old one stops at once, here and on every site that embeds it. Its name, expiry and views stay |
| Turn off… | Stops it for good, within about a minute. Make a new link to share the report again |
Someone opening an expired link is told it has expired and on what day, on a page in your brand. A link that's been turned off says "Report not found". So does a link whose report is in the Trash. Every change is in the audit log.
A link that's been turned off can keep reading a snapshot for up to a minute while caches catch up.
Snapshot or live
Data for links and embeds, in the Share dialog, applies to all of the report's public and embed links:
Snapshot (the default): opens fast for everyone and spares your database.
Live: every view asks your database. For data that changes by the minute.
Signed embeds and scheduled email always read live data, as their reader sees it. A PDF downloaded from a link prints what the link reads. A report with editions has no such choice: links read each edition's frozen figures.
What a snapshot holds
A snapshot is the answer to every question the published report asks before anyone touches a filter, on every page. Everyone reads the same copy.
When a reader changes a filter or drills in, or opens a later page of a table, Halo runs that question as a live query, as the same link with the same limits. If a snapshot can't answer or can't be read, the link runs a live query instead of failing.
The whole page reads the day the snapshot was built. Relative ranges such as Last 7 days and the periods they compare with both count from that day, and so do live answers, so nothing on the page sets one week's figure against another's. Updated and Data as of on the page say when its figures were computed. Without a refresh schedule, that date stands until something rebuilds the snapshot.
When it refreshes
| When | |
|---|---|
| You publish | Always |
| On a schedule | Turn on Refresh on a schedule, then choose how often and the time zone, as for scheduled email |
| An extract it reads refreshes | Automatic. See Extracts and caching |
| A dataset it reads changes or goes to the Trash | Automatic. Links read live data until the new one is ready |
| You choose Refresh now, or switch from live to snapshot | On request |
The panel shows the build links read: when it was built, how many answers it holds, and its size. Its badge is Queued, Building, Ready or Failed. Each build also runs as a job you can follow.
If a build fails, links keep reading the last one that worked, and the panel says so. Choose Refresh now to try again. Until a first snapshot is ready, links read live data.
Settings, Schedules lists every snapshot that refreshes on a schedule, with Rebuild now.
Send a filtered view
A public link's address follows what a reader does: the page they're on, the filters and parameters they set, and the charts they changed. Copy link at the top copies it, filters and all, and opening that address shows the same figures. Changing a filter doesn't add to the browser's history; moving to another page does, so Back goes to the page before.
The address reads the way Halo Data writes it: ?page=markets®ion=North&dates=2026-06-01..2026-08-31. You can write one yourself, to link to a report with filters already set from a newsletter or your own site. Each filter control goes by its Name in links, in the control's settings in the editor, or else by its id. A date range is start..end or a preset such as year_to_date, a number range low..high with either end left open, and a toggle on or off.
A link with no filters reads the report's snapshot. A filtered one asks live, as the same link with the same limits, so it can't reach more than the report can.
Something the report no longer has, such as a filter that was removed or a value that doesn't fit, is left out when the link opens, and the address drops it. The rest still applies.
Locked filters stay as the link's owner set them, whatever the address says.
An edition that shows its published figures opens on the page the address names, and nothing else.
Posted on social media or in chat, a link shows a preview with the report's title and a picture. See Ways to share.