n8n

Render documents inside n8n workflows.

The official n8n community node renders documents from your PixlDocs templates inside any workflow — “new Stripe payment → render branded invoice → attach to Gmail” with zero code. The finished PDF arrives as standard n8n binary data, ready for Gmail, Slack, Drive or S3 nodes.

Available nowPublished on npm as @pixldocs/n8n-nodes-pixldocs. Installable today from any self-hosted n8n through Settings → Community Nodes. n8n Cloud allows verified community nodes only, so on Cloud use the HTTP Request node against the render API.
Proved on 6 Aug 2026
What ran
The compiled node's execute() — the same file n8n loads — driven through listTemplates, getFields and render against the deployed API.
Result
27 templates in the dropdown, 32 clean field keys, and a 149,593-byte PDF returned as n8n binary data named render.pdf.

Set it up

  1. 01
    Install the node

    In n8n, open Settings → Community Nodes → Install and enter:

    text
    @pixldocs/n8n-nodes-pixldocs

    n8n restarts and PixlDocs appears in the node panel.

  2. 02
    Add your API key

    Copy a key from Workspace Settings → API keys in PixlDocs. In n8n, add a new PixlDocs API credential and paste it. Press Test — a green tick means the key reached your workspace.

  3. 03
    Pick a template

    Drop a PixlDocs node in, set Operation to Render Document, and choose your template from the dropdown. The list is your own workspace, loaded live — you never type an ID.

  4. 04
    Map your data

    Run Get Template Fields once to see exactly which keys the template takes, then fill the Data (JSON) field with values from earlier nodes:

    json
    {
      "client_name": "{{ $json.customer }}",
      "invoice_number": "{{ $json.order_id }}",
      "items": {{ JSON.stringify($json.line_items) }}
    }
  5. 05
    Use the file

    Execute the node. The document lands on the item's binary data property — attach it in Gmail, upload it to Drive, post it to Slack. Nothing else to convert.

Page one of the loan statement PDF returned by the n8n node: lender header, borrower block, outstanding principal and the amortisation table.
The actual first page of the PDF this lane returned on 6 Aug 2026 — not a mock-up. All four lanes returned byte-identical output for the same template and data.

Operations

  • Render Document — synchronous render; outputs the finished file as binary data.
  • Render Async — enqueue a job; pair with PixlDocs webhooks for completion.
  • Get Async Render — poll a job by id.
  • List Templates — one item per template your key can render.
  • Get Template Fields — the clean data keys a template accepts.
Two things that save an afternoon

A typo can never fail silently: unrecognised keys come back in the render output's unmatched_keys.

Paged documents — anything with a running header or footer — are PDF-only. Choosing PNG for one returns a clear invalid_page_setup error rather than a broken image.