twilight ventures

data lens: excel, log, csv viewer & editor for confluence

Atlassian Marketplaceavailable nowruns on Atlassian

Install from the Atlassian Marketplacefree for sites up to 10 users

Some records were never buried; they were left on a page, where the attachments gather. Take the lantern that reads on the page: the file comes up in small byte ranges, as the person viewing the page.

Data files pile up on Confluence pages: an export, an event log, a sample, a table of results. Reading one has meant downloading it and opening something else. Data Lens opens it on the page instead. Insert the macro and it lists the page's data file attachments; pick one and it renders as a paged table right there. The macro opens CSV and TSV, JSONL and NDJSON, Parquet and Excel workbooks, .log, .txt and .out files with the level of each line detected and counted in chips, and gzipped JSONL, NDJSON, CSV, TSV and logs, and it writes the open table to a CSV download. The first rows are on screen before the file has been read through, and anyone who cannot download an attachment cannot read it through the viewer either. Search covers the whole file and counts the hits. An Excel workbook opens on its first visible sheet with the headers detected and the date and number formats applied, every sheet listed in the Schema tab, and a Parquet file gets the same tab with types, codecs and per-column statistics.

opens
CSV and TSV, JSONL and NDJSON, Parquet with snappy, gzip, zstd or lz4 columns, and Excel .xlsx and .xlsm attachments; .log, .txt, .out and .log.gz attachments and gzipped JSONL, NDJSON, CSV and TSV as well
runs on
Confluence Cloud, on Atlassian, with no vendor servers
store
on the Atlassian Marketplace
version
3.2.0, published 2026-10-27, approved 2026-09-28
Data Lens on a Confluence page: a CSV attachment as a table with a search hit count
A 150,000 row CSV searched on the page: 1,915 hits, found without downloading the file.

what it does

  • The macro: type /lens in the editor to insert it; it lists the page's data file attachments, and a click opens one as a table
  • CSV and TSV: delimiter sniffing, header detection and quoted fields, numbers right aligned
  • JSONL and NDJSON: records indexed in the background while the first rows render, columns sampled from the data
  • Parquet: row groups loaded on demand, and a Schema tab with column types, codecs, encodings and min and max per column
  • Excel: the first visible sheet with headers detected and date and number formats applied, every sheet listed in the schema view with row counts, cached formula results shown without evaluation
  • Search: scans the whole file and reports a hit count; the arrows jump between matches and Aa toggles case
  • Row detail: any row opens as JSON, with a copy button
  • Pinned file: pick an attachment in the macro configuration and the page opens straight into it for every reader
  • Logs and plain text: a .log, .txt or .out attachment opens as a table of lines, each line with a level chip; plain, JSONL, logfmt and ANSI logs are recognized
  • Gzip: gzipped JSONL, NDJSON, CSV, TSV and logs open in place, inflated as a stream up to 384 MB unpacked
  • Export CSV: the open file written to a download, every row, with a progress line and Cancel in the status bar
  • A second page: the macro configuration can name another page by id or exact title, and its data files list beside this page's, marked with the page
  • Editing: double-click a CSV or TSV cell and type; the change waits in a list until you confirm it, and the file is saved as a new version, with every earlier version kept and reopenable
  • JSON: an array of objects opens as a table, any other document in the detail pane

the file stays in confluence

No download and no vendor servers: the macro reads the attachment with your own access, straight from Atlassian in your browser. When you edit a cell, Confluence saves the file as a new version with a comment naming the change; the earlier versions stay in the history, and nothing is deleted.

what it asks for

  • read:page:confluence, to list the data file attachments of the one page the macro sits on
  • read:attachment:confluence, to fetch byte ranges of the file you open, as you
  • One write scope, used only when you press Apply: writing attachments, to save your edits as a new version of the attachment, as you; the app never deletes an attachment or a version
  • What it stores: its own settings inside the page the macro sits on; your browser keeps the theme, the ids of the attachments you open and the text of your searches (up to 200 of each, behind the counts in the trial notice), the notices it has shown, your answer to the one review prompt and the view you left each file on
  • Permissions follow Confluence: a reader who cannot download an attachment cannot see it here either
  • The list: shows the first 50 attachments of a page

ask rovo about an attachment

On a site with Rovo, the app's agent answers questions about a file on the page in Rovo Chat, with your permissions. The app is listed on the Marketplace AI and Rovo collection.

price, as the store shows it

Free up to 10 users. Past 10 users every user is billed: USD 3.35 per user per month for sites up to 100 users, less per user on larger sites. Billing runs through the Atlassian Marketplace, an annual plan costs ten times the monthly rate, and every paid plan starts with a 30-day free trial.

Data Lens on a Confluence page: the schema tab of a Parquet attachment with types and statistics per column
A 3.2 million row Parquet file: types, compression and min and max values for every column.

what's new

more

Pricing, invoices and licensing questions go to sales@twilightventures.dev; anything else about the product to support@twilightventures.dev.