Grafana OSS lacks native PDF reporting, forcing teams to maintain a fragile DIY pipeline involving grafana-image-renderer, PNG stitching, cron, and SMTP. This post presents an alternative: a single POST request to Skedler's REST API that handles rendering, layout, and delivery server-side. Both curl and Python script examples are provided. The post covers how to find required credentials (token, account ID, report ID), best practices for secret management, and how to handle multi-tenant per-client filtered reports using Skedler's filter API. It also outlines when building your own pipeline makes sense versus using a managed reporting layer.
Table of contents
How to build a Grafana PDF report script (and where it breaks)How to create a Grafana report to trigger via APIGrafana report script: Python and curlRun this on your own GrafanaHow to find your Skedler token, account ID, and report IDHow to script multi-tenant Grafana reports from one dashboardWhen should you build your own Grafana report script instead?Want it working without the setup?Grafana report script FAQs973 Impressions