Reports: designing a template, filling it from a workflow, then viewing and sharing the report (1:25).

Example: a monthly client summary
Create the template
Preview it with sample data


Generate it from a workflow
{{ ctx.params | json }} passes everything the trigger received.
Test it
reportId.
0 7 1 * *.
Template syntax
Templates use Handlebars and see exactly the JSON object in Parameters.Reports
Reporting > Reports lists every generated report. Click View to open one; Download Report saves it as an HTML file, and Show in the Password column reveals a shareable report’s password.

Share a report
Click Share on a shareable report and copy the link. It uses your custom forms domain if you have one (Branding).


https://forms.yourmsp.com/telescope/reports/<org-id>/{{ ctx.steps['Generate Report'].reportId }}, using your forms domain (or app.triggr-app.com) and your organisation’s ID from Support > Copy Org ID in the top bar. Send the password separately.
A report is a snapshot: editing the template changes only reports generated afterwards. To withdraw a report, delete it.
FAQ
Can I make PDF reports?
Can I make PDF reports?
Can the template read the client or today's date?
Can the template read the client or today's date?
"client": "{{ ctx.client.name }}".My report shows dark text on a dark background in Studio
My report shows dark text on a dark background in Studio
background: #ffffff.Can an AI assistant build templates or reports?
Can an AI assistant build templates or reports?
create_report_template and generate_report.I need slides rather than a page
I need slides rather than a page
Troubleshooting
“parameters must be valid JSON”
“parameters must be valid JSON”
"client": "{{ ctx.client.name }}", or use | json.“failed to render HTML template: …” or “failed to render markdown template”
“failed to render HTML template: …” or “failed to render markdown template”
{{#each}} without {{/each}}. Check it with sample data in the template’s preview.“template not found or does not belong to the specified organization”
“template not found or does not belong to the specified organization”
A value is blank in the report
A value is blank in the report
{{tickets.closed}} needs "tickets": { "closed": … }. Names are case-sensitive.
