Skip to content
Stand with Ukraine flag

Generate Dashboard Report

Use this node to capture a screenshot of a ThingsBoard dashboard using a headless browser and save it as a blob entity — for example, generating a PDF or PNG snapshot of a live dashboard to attach to an email report, or archiving a visual record of device state at the time of an alarm.

  • Use system reports server — when enabled, uses the system-configured reports server endpoint. When disabled, specify a Reports server endpoint URL directly in this node.
  • Use report config from message — when enabled, reads the report configuration from the incoming message data under the reportConfig key.
FieldDescription
baseUrlBase URL of the ThingsBoard instance
dashboardIdUUID of the dashboard to capture
timezoneTimezone for rendering time-based widgets
namePatternFile name pattern for the saved blob
userIdUUID of the user whose session is used to render the dashboard
typeOutput format: PDF, PNG, or JPEG
  1. Load the report configuration from message data or static settings.
  2. Submit the dashboard capture request to the reports server.
  3. Save the screenshot as a blob entity.
  4. Append the blob ID to message metadata under the attachments key.
  5. Route via Success.
  6. On error (invalid config, server unreachable, capture failure, user not found): route via Failure.
ConnectionCondition
SuccessScreenshot captured and saved; blob ID appended to attachments metadata key.
FailureInvalid config, reports server unreachable, capture failed, user not found, or unexpected error.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "TbGenerateDashboardReportNodeConfiguration",
"type": "object",
"additionalProperties": false,
"properties": {
"useSystemReportsServer": { "type": "boolean" },
"reportsServerEndpointUrl": { "type": "string" },
"useReportConfigFromMessage": { "type": "boolean" },
"reportConfig": {
"type": "object",
"properties": {
"baseUrl": { "type": "string" },
"dashboardId": { "type": "string" },
"timezone": { "type": "string" },
"namePattern": { "type": "string" },
"userId": { "type": "string" },
"type": { "type": "string", "enum": ["PDF", "PNG", "JPEG"] }
}
}
}
}