Display form control
Saved report
<ut-saved-report>
Show a saved report inside a form as a sortable, paginated table or chart, with the permissions of the person filling it in. Optionally pick a row.
Try it
Live preview
The real control in the same sandboxed frame the app uses. Switch to dark mode or read-only to see how it adapts.
Outstanding invoices
Sample report data; sort by a column or select a row.
Value the form receives
{
"invoice": "INV-1042",
"customer": "Kiwi Foods",
"status": "Paid",
"amount": 1088.5,
"due": "2026-11-03"
}Sandboxed frame (opaque origin, its own CSP), talking to this page only through the typed postMessage bridge — exactly as on a form.
About
What it does
Bring the numbers someone needs into the form where they make the decision: open invoices on a payment approval, a customer's recent orders on a refund request, this month's incidents on a weekly review. Choose any saved report from Reports and the control runs it with the permissions of the person filling in the form, so people only ever see what they could already see in Reports: their own or shared reports, with their row-level rules.
The table sorts by any column, pages through the rows ("Rows 11-20 of 57"), formats numbers and dates for the reader's locale and scrolls sideways inside its own frame on a phone. Reports saved as a bar, line, area or pie chart open as that chart, with a Table switch for every value. Turn on Selectable rows and picking a row makes it the field's value, so the workflow can carry the chosen invoice or order forward.
Good for
- Open invoices beside a payment approval
- A customer's recent orders on a refund or complaint form, picking the order in question
- This week's incidents or tickets on a review step
After installing
- Install the package: Saved report appears in Extensibility → Form controls and in the form designer's palette under Custom.
- Open the report in Reports and copy its id from the address bar.
- Drag Saved report onto a form and paste the id into Saved report (report_id). Share the report with the people who fill in the form — they only see reports that are theirs or shared with them.
- Optionally choose the view, rows per page and Selectable rows.
Reference
Value, properties and accessibility
Value
json
Stored as the field's value (type json), validated by the server against the control's schema; the control also reports its own validity while people type.
Read-only views (completed tasks, mobile, emails) show the value as json.
Keyboard and screen readers
Role: table, named by the field label.
Tab through the view switch, Refresh, the column headers (Enter or Space sorts; again reverses), the row select buttons (when rows are selectable; Enter or Space picks / unpicks) and Previous / Next. The table scrolls sideways inside its own frame on narrow screens.
| Property | Type | Default | What it does |
|---|---|---|---|
Saved report report_id | string | — | The report's id (open it in Reports — the id is in the address bar). People see only what they can see in Reports: their own or shared reports, with their permissions. |
View view | Automatic (the report's chart, else a table) / Table / Chart | auto | |
Rows per page page_size | number 1–200 | 10 | |
Maximum rows max_rows | number 1–1000 | 100 | Rows fetched from the report (at most 1,000). A note says when there are more. |
Chart height (px) height | number 120–1000 | 280 | |
Show the report's name show_title | boolean | yes | |
Selectable rows selectable | boolean | no | Picking a row makes that row (an object of its columns) the field's value. Otherwise the field stays empty. |
Capabilities and security
- Saved reports
- Rows of the saved report the designer chose (the field's report_id, read by the server from the stored form), run as the person filling in the form: only reports they can open, with their permissions.
Install
Install it in your workspace
Works on UserTasks cloud and any self-hosted instance. The control lands in Extensibility → Form controls, enabled, and appears in the form designer's Custom palette.
In the app
- Open Extensibility → Form controls → Browse gallery (it opens Packages → Browse gallery on the Form controls tab) and choose Install on Saved report. Or download form-control-saved-report-1.0.0.utpkg and drag it onto Automations → Packages.
- The wizard verifies the checksum, every file hash and the signature, and shows what it adds.
- Drag the control onto a form in the designer and set its properties.
With the CLI
curl -fLO https://usertasks.com/gallery/form-control-saved-report-1.0.0.utpkg
usertasks packages inspect form-control-saved-report-1.0.0.utpkg
usertasks packages install form-control-saved-report-1.0.0.utpkgVerify the download
- File SHA-256
- 49e0db0870b68eb6b6a79c459f23660cd7e53fed97481c71ef71bd655081a2ba
- Package checksum (what is signed)
- sha256:66f90a2ea90ddaa9b540e1c52ef0212baf284faab22bb1f32626514944fc71df
- <ut-saved-report> module SHA-256
- b707875dba4f4f91e44c8c8bd619f509af1ad849b84cbf8548254888b16b2db1
- Signer
- UserTasks Gallery · 49:f3:04:90:47:02:4d:07:28:61:3d:dc:bb:aa:db:11
More form controls
All controls- Input
Form control
Address
<ut-address> <ut-map>
Address search with suggestions from Google Places (key kept on the server) or a data table, saved as street, city, postcode, country and coordinates.
LookupsNetwork Google Maps Platformvalue json · v1.0.0Try it - Display
Form control
Chart
<ut-chart>
Bar, line, area, pie or doughnut chart of static data, another field's rows, lookup results or a saved report, with keyboard-navigable points.
LookupsSaved reportsvalue json · v1.0.0Try it - Display
Form control
Info card
<ut-info-card>
Info, success, warning, error or neutral callout that can show up to six other form values, formatted for the reader, as text or a key / value list.
Self-containedvalue string · v1.0.0Try it