- What is TestInvite?
- Build Your First Test
- Run Your First Assessment
- Taking the Assessment
- Viewing the Results
- Question Bank Overview
- Common Question Features
- Scoring
- Question Types
- Question Authoring
- Browsing Questions
- Content Blocks
- Media Library
- Metadata Rules & Schema
- Tests Overview
- My Tests
- Creating a Test
- The Test Editor
- Test Settings
- Sections & Pages
- Adding Questions
- Page Builders
- Test Profile
- Reporting
- Test Papers
- Analytics
- Publishing a Test
- Test Library
- Marketplace
- Tasks Overview
- Creating a Task
- Task Dashboard
- Steps
- Task Settings
- Candidates
- Test Sessions
- Sent Mails
- Proctoring
- Analytics
- Analytics Overview
- Test Analytics
- Question Analytics
- Per-Question Analytics
- Results Explorer
- Segment Analysis
Custom Reports
A custom report is a report you design: a handler runs your JavaScript over each session's data and renders the result through your HTML template, for admins, candidates, PDF exports and the API.
A custom report replaces the Standard Template — or is embedded above or below it — with a report you design yourself: your layout, branding, wording and calculations. You build it once per test and it renders for every session of that test, including sessions completed before you created it.
The two parts of a custom report
| Part | Where you manage it | What it holds |
|---|---|---|
| Custom report | Test › Reporting › Template | Title, description, the handler it runs, and which organizations may use it. |
| Handler | Organization › Snippets › Handlers | The logic: an optional function (JavaScript) that turns the session's data into exactly the values you need, and a template (Nunjucks HTML) that turns those values into the report. |
One handler can back several custom reports, and a test can have any number of custom reports. Which one a candidate or reviewer sees is decided by the test's default and, per delivery, by the task step.
Access
- Private — only your organization can select it.
- All organizations — any organization that uses this test (for example through the Test Library or Marketplace) can select it.
- Selected organizations — only the partner organizations you pick.
Where a custom report appears
- Admin Report — when the step's report template is the custom report, or Standard extended with it (top or bottom). See Admin Report.
- Candidate Report — configured the same way in the step's User Report settings.
- Export as PDF and Print — from the report view; split the report into
.ti-pageblocks for clean A4 output (see Print & PDF Layout). - REST API — the
customReportexpand on test sessions returns both the function's output object and the rendered HTML. - Result postbacks — the result sent to your webhook includes the custom result.
Where to start
- How Custom Reports Work — the pipeline and where your code runs.
- Build Your First Custom Report — step by step, from a real session's data to a report in production.
- Report Input Reference, Writing the Function and Writing the Template — the reference you will keep open while building.
- Recipes and Troubleshooting.
Custom reports are rendered when they are viewed, not stored. Saving a change to the handler changes the report of every session immediately — test against several real sessions before saving.