Save a Scheduled Report PDF to SharePoint in Power Automate
Render your weekly or monthly report to a PDF on a schedule and file it straight into SharePoint or OneDrive — no custom connector, no headless browser. Power Automate's built-in HTTP action calls Rendex, and one base64ToBinary() expression turns the response into the file.
Last updated 2026-07-15
The Problem
Recurring reports belong in a shared library, not an inbox — a weekly ops summary in SharePoint, a month-end statement in OneDrive. Power Automate can schedule the flow and build the HTML, but two things trip people up: there's no native rendering connector, and the built-in HTTP action doesn't hand you a file you can drop into SharePoint — you get a response body you have to convert. Guess the wrong shape and the Create file action writes a broken PDF, so most people give up and email a link instead.
The Solution
Use the built-in HTTP action against /v1/screenshot/json — the JSON endpoint returns the PDF as base64 in the body, which is exactly what Power Automate parses cleanly (the binary endpoint is awkward here). Then in a Create file action, set the File Content to base64ToBinary(body('HTTP')?['data']?['image']) and Power Automate writes a real PDF into your SharePoint library or OneDrive folder. Template the report HTML with a data object so each run fills in the period and figures. No custom connector to get approved, no headless browser, and it runs on the free tier — a scheduled, filed, versioned report with one flow.
How the Workflow Runs
Recurrence trigger
A scheduled Power Automate flow fires — weekly, daily, or month-end.
HTTP → Rendex (JSON)
POST to /v1/screenshot/json returns the PDF as base64 in the response body.
Create file
base64ToBinary() decodes it into a Create file action for SharePoint or OneDrive.
Input → Rendered Output

Rendered by Rendex
What You Need
- A Rendex API key — the free tier includes 100 renders/month with no card required.
- A Power Automate flow with a Recurrence trigger (or any trigger that has the report data ready).
- A step that builds the report HTML string (a Compose action, or data from Dataverse/SQL/Sheets).
- A SharePoint site or OneDrive folder connected in Power Automate for the Create file action.
What This Recipe Uses
JSON response, base64 PDF
POST to /v1/screenshot/json and the PDF comes back base64 in the body — the shape Power Automate parses natively, so there's no custom connector to install or approve.
base64ToBinary → real file
In the Create file action, set File Content to base64ToBinary(body('HTTP')?['data']?['image']). Power Automate writes a genuine PDF into SharePoint or OneDrive — no broken-file guesswork.
Scheduled and versioned
A Recurrence trigger files a fresh report every cycle, and SharePoint versions it — a clean archive without anyone running it by hand.
Template the report per run
Pass a data object of Mustache values with the HTML so each run fills in the period, figures, and title — one template, a correct report every cycle.
Build It
# Power Automate — flow outline
Trigger: Recurrence — every Monday 07:00
Action 1: HTTP
Method: POST
URI: https://api.rendex.dev/v1/screenshot/json
Headers: Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Body: { "html": "<your report template with {{period}}>",
"data": { "period": "Week of May 25" },
"format": "pdf", "pdfFormat": "A4" }
Action 2: SharePoint — Create file
File Name: Weekly-Report-@{formatDateTime(utcNow(),'yyyy-MM-dd')}.pdf
File Content: @{base64ToBinary(body('HTTP')?['data']?['image'])}# What the HTTP action posts — note /json returns base64, not raw bytes.
curl -X POST https://api.rendex.dev/v1/screenshot/json \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"html": "<h1>Weekly Report — {{period}}</h1> ...",
"data": { "period": "Week of May 25" },
"format": "pdf",
"pdfFormat": "A4"
}'
# -> { "data": { "image": "<base64 PDF>", "format": "pdf", ... } }100 free API calls/month — no credit card required. Get your API key and start building.
Reach for this when a report needs to land in the Microsoft stack on a cadence — a weekly KPI summary versioned in a SharePoint library, a month-end statement dropped in a client's OneDrive folder, a compliance snapshot archived where auditors already look. The scheduling and the HTML assembly are the easy parts; the friction that stops people is turning Rendex's response into a file Power Automate can actually save. The fix is choosing the right endpoint and expression: /v1/screenshot/json returns the PDF as base64 (the shape Power Automate parses without a custom connector), and base64ToBinary(body('HTTP')?['data']?['image']) in a Create file action decodes it into a genuine PDF. Template the HTML with a data object so the period and figures fill per run, point the Create file action at your library, and the flow files a fresh, correctly-named report every cycle with nothing to host. It runs on the free 100 renders a month — enough to prove a reporting cadence before it scales.