PolyDoc (Independent Publisher) (Preview)

Convert HTML or a URL into pixel-perfect PDFs and screenshots, and generate EU-compliant hybrid e-invoices (ZUGFeRD / Factur-X). PolyDoc renders with a real browser engine, so what you see in the page is what you get in the document.

This connector is available in the following products and regions:

Service Class Regions
Copilot Studio Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name PolyDoc
URL https://polydoc.tech
Email hello@polydoc.tech
Connector Metadata
Publisher blue-d3v
Website https://polydoc.tech
Privacy policy https://polydoc.tech/legal/privacy-policy/
Categories Content and Files

PolyDoc

PolyDoc turns HTML or a URL into pixel-perfect PDFs and screenshots, and generates EU-compliant hybrid e-invoices (ZUGFeRD / Factur-X). Conversions render in a real browser engine, so what you see in the page is what you get in the document.

Publisher

PolyDoc

Prerequisites

You need a PolyDoc account and an API key. The free tier is enough to evaluate the connector. Custom connectors are a premium Power Automate feature, so flows that use this connector need a Power Automate Premium plan (per-user or per-flow), the same as the built-in HTTP action.

Obtaining credentials

  1. Sign in at dashboard.polydoc.tech.
  2. Open API Keys and create a key.
  3. When you create the connection, paste the key into PolyDoc API key. Paste only the key; the connector adds the Bearer prefix for you.

Supported operations

Operation What it does
Convert to PDF Render HTML, a URL, or a saved template into a PDF. Controls for page format, margins, scale, headers/footers, bookmarks, accessible (tagged) PDFs, metadata, encryption, watermarks, and PDF/A.
Capture screenshot Capture a PNG, JPEG, or WebP of HTML, a URL, or a template. Full-page or clipped, with viewport and device-pixel-ratio control.

E-invoices are produced with Convert to PDF: fill in the E-invoice fields (standard, profile, and the structured invoice object) and PolyDoc embeds a ZUGFeRD / Factur-X invoice in the returned PDF. See the example-flows/ folder in the connector repository for a ready-to-use body.

Source

Every operation takes a single Source that is one of:

  • a URL, e.g. https://example.com
  • an inline HTML string
  • a saved template reference, [template:TEMPLATE_ID], optionally with Template data for the Liquid renderer

Delivery

By default the file is returned as binary content, ready to drop into Create file (OneDrive, SharePoint, Blob) or an email attachment. Two alternative delivery modes are available under advanced options:

  • Cloud storage: provide a presigned PUT URL; PolyDoc uploads the file and the action returns JSON containing the stored URL.
  • Webhook: PolyDoc delivers the file to your webhook and the action returns a JSON acknowledgement (HTTP 202 when async).

When either delivery mode is used the response is JSON rather than a binary file.

Sandbox mode

Each operation has an advanced Sandbox mode input. Set it to true to generate watermarked output from a separate quota with a lower rate limit, which is useful while building and testing a flow. Leave it false for production documents.

Known issues and limitations

  • The response of each action is declared as a binary file. When Cloud storage or Webhook delivery is configured, the action returns JSON instead of a file.
  • Pages that load JavaScript from an external CDN can slow the converter significantly. For inline HTML, prefer self-contained markup (inline CSS, data-URI images).
  • E-invoices follow EN 16931. At minimum provide a due date or payment terms (rule BR-CO-25), the seller tax ID when a line uses VAT category S, and consistent totals (net + tax = gross). With Verify enabled an invoice that fails validation returns an error.

Deployment instructions

This connector is defined as a standard Power Platform custom connector (apiDefinition.swagger.json + apiProperties.json + icon.png). Deploy it with the Power Platform Connectors CLI:

# one-time login
paconn login

# validate the definition
paconn validate --api-def apiDefinition.swagger.json

# create the connector in the selected environment
paconn create --api-def apiDefinition.swagger.json \
  --api-prop apiProperties.json --icon icon.png --secret <none>

You can also import apiDefinition.swagger.json directly from the Power Automate maker portal (Data > Custom connectors > New custom connector > Import an OpenAPI file).

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
PolyDoc API key securestring Your PolyDoc API key. Create one at dashboard.polydoc.tech under API Keys. Paste only the key; the connector adds the 'Bearer ' prefix for you. True

Actions

Capture screenshot

Render HTML, a URL, or a saved template and capture a PNG, JPEG, or WebP screenshot. Returns the image as binary content.

Convert to PDF

Render HTML, a URL, or a saved template into a PDF. Populate the E-invoice fields to embed a ZUGFeRD / Factur-X hybrid invoice instead of a plain PDF. Returns the file as binary content.

Capture screenshot

Render HTML, a URL, or a saved template and capture a PNG, JPEG, or WebP screenshot. Returns the image as binary content.

Parameters

Name Key Required Type Description
Sandbox mode
X-Sandbox string

Run the conversion in sandbox mode. Sandbox output is watermarked and draws from a separate quota with a lower rate limit. Use false for production documents.

Source
source True string

A URL (https://...), an inline HTML string, or a saved template reference in the form [template:TEMPLATE_ID].

Filename
filename string

Output filename, e.g. screenshot.png.

Template data
templateData object

Key/value data passed to the Liquid template renderer when Source is a [template:ID] reference.

Image type
type string

Image format. Defaults to png.

Full page
fullPage boolean

Capture the entire scrollable page.

Quality
quality integer

Compression quality 0-100 for JPEG/WebP.

Omit background
omitBackground boolean

Capture with a transparent background (PNG/WebP).

Width (px)
width integer
Height (px)
height integer
Device pixel ratio
devicePixelRatio number
X
x number
Y
y number
Width
width number
Height
height number
Scale
scale number
Tag
tag string

Label for logging and analytics (max 30 characters).

Timeout (ms)
timeout integer

Conversion timeout in milliseconds (max 600000).

Disable JavaScript
disableJavascript boolean
Inject CSS
css string

Extra CSS injected into the page.

Inject JavaScript
javascript string

JavaScript executed in the page before capture.

Wait for selector
waitForSelector string

Wait until this CSS selector appears.

Wait for function
waitForFunction string

Wait until this JS expression returns true.

Media type
mediaType string
Block ads
blockAds boolean
User agent
userAgent string
HTTP headers
httpHeaders object

Extra HTTP headers as key/value pairs.

Name
name True string
Value
value True string
URL
url string
Domain
domain string
Path
path string
Expires (epoch)
expires number
HTTP only
httpOnly boolean
Secure
secure boolean
SameSite
sameSite string
Type
type string
Username
username True string
Password
password True string
Webhook URL
url True string
Async
async boolean

Deliver in the background and return 202 immediately.

Method
method string
Headers
headers object

Extra headers for the webhook request.

Timeout (ms)
timeout number
Retries
retries integer
Retry delay (ms)
retryDelay number
Presigned URL
presignedUrl True string

HTTP PUT presigned URL from your storage provider.

Returns

response
binary

Convert to PDF

Render HTML, a URL, or a saved template into a PDF. Populate the E-invoice fields to embed a ZUGFeRD / Factur-X hybrid invoice instead of a plain PDF. Returns the file as binary content.

Parameters

Name Key Required Type Description
Sandbox mode
X-Sandbox string

Run the conversion in sandbox mode. Sandbox output is watermarked and draws from a separate quota with a lower rate limit. Use false for production documents.

Source
source True string

A URL (https://...), an inline HTML string, or a saved template reference in the form [template:TEMPLATE_ID].

Filename
filename string

Output filename, e.g. invoice.pdf.

Template data
templateData object

Key/value data passed to the Liquid template renderer when Source is a [template:ID] reference.

Tag
tag string

Label for logging and analytics (max 30 characters).

Timeout (ms)
timeout integer

Conversion timeout in milliseconds (max 600000).

Paper format
format string

Paper format. Defaults to A4.

Landscape
landscape boolean

Use landscape orientation.

Print background
printBackground boolean

Print background graphics and colors.

Scale
scale number

Render scale, between 0.1 and 2.

Page ranges
pageRanges string

Pages to include, e.g. "1-5, 8". Empty means all pages.

Outline (bookmarks)
outline boolean

Generate PDF bookmarks from HTML headings.

Tagged (accessible)
tagged boolean

Produce a tagged (accessible) PDF.

Prefer CSS page size
preferCSSPageSize boolean

Honor the @page size declared in CSS over the Paper format.

Omit background
omitBackground boolean

Render with a transparent background.

Display header/footer
displayHeaderFooter boolean

Render the header and footer templates.

Header template
headerTemplate string

HTML for the page header. Requires Display header/footer.

Footer template
footerTemplate string

HTML for the page footer. Requires Display header/footer.

Top
top string
Right
right string
Bottom
bottom string
Left
left string
Title
title string
Author
author string
Subject
subject string
Keywords
keywords array of string
Producer
producer string
Creator
creator string
User password
userPassword string
Owner password
ownerPassword string
Source
source True string

Watermark text, or an image URL / data URI.

Type
type True string
Options
options object

Font, opacity, rotation, scale, repeat and offset options.

Level
level True string
Verify compliance
verify boolean
Verify compliance
verify boolean

Validate against veraPDF PDF/UA-1; returns an error if validation fails.

Standard
standard True string

Hybrid invoice standard.

Profile
profile True string

Data granularity profile to validate against.

Verify compliance
verify boolean

Verify PDF/A and e-invoice compliance; returns an error if validation fails.

Invoice number
number True string
Issue date
issueDate True string

Issue date, YYYY-MM-DD.

Due date
dueDate string

Due date, YYYY-MM-DD. Provide this or Payment terms (EN 16931 rule BR-CO-25).

Currency
currencyCode True string

ISO 4217 currency code, e.g. EUR.

Name
name True string
Address line 1
line1 True string
Address line 2
line2 string
City
city True string
Postal code
postalCode True string
Country code
countryCode True string

ISO 3166-1 alpha-2 country code, e.g. DE.

Tax ID
taxId string

VAT identifier. Required for the seller when a line uses VAT category S.

Email
email string
Phone
phone string
Description
description True string
Quantity
quantity True number
Unit code
unitCode string

UN/ECE unit code, e.g. C62 (piece).

Unit price
unitPrice True number
Line total
lineTotal True number
VAT rate (%)
vatRate number
VAT category
vatCategoryCode string

VAT category code, e.g. S (standard), Z (zero), E (exempt).

Category code
categoryCode True string
Rate (%)
rate True number
Taxable amount
taxableAmount True number
Tax amount
taxAmount True number
Payment terms
paymentTerms string

Free-text payment terms. Provide this or Due date.

Type code
typeCode True string

UN/ECE 4461 payment means code, e.g. 30 (credit transfer).

IBAN
iban string
BIC
bic string
Account name
accountName string
Payment reference
paymentReference string
Total net
totalNetAmount True number
Total tax
totalTaxAmount True number
Total gross
totalGrossAmount True number

Must equal net + tax.

Note
note string
Buyer reference
buyerReference string

Buyer reference / Leitweg-ID for public-sector invoices.

Disable JavaScript
disableJavascript boolean
Inject CSS
css string

Extra CSS injected into the page.

Inject JavaScript
javascript string

JavaScript executed in the page before capture.

Wait for selector
waitForSelector string

Wait until this CSS selector appears.

Wait for function
waitForFunction string

Wait until this JS expression returns true.

Media type
mediaType string
Block ads
blockAds boolean
User agent
userAgent string
HTTP headers
httpHeaders object

Extra HTTP headers as key/value pairs.

Name
name True string
Value
value True string
URL
url string
Domain
domain string
Path
path string
Expires (epoch)
expires number
HTTP only
httpOnly boolean
Secure
secure boolean
SameSite
sameSite string
Type
type string
Username
username True string
Password
password True string
Webhook URL
url True string
Async
async boolean

Deliver in the background and return 202 immediately.

Method
method string
Headers
headers object

Extra headers for the webhook request.

Timeout (ms)
timeout number
Retries
retries integer
Retry delay (ms)
retryDelay number
Presigned URL
presignedUrl True string

HTTP PUT presigned URL from your storage provider.

Returns

response
binary

Definitions

binary

This is the basic data type 'binary'.