Skip to content

Node reference

Parse PDF node: turn a PDF into Markdown for an agent

pdf_parse · Updated October 12, 2026

The Parse PDF node reads a PDF and returns its text as Markdown in reading order, keeping headings, lists and tables, so an agent downstream can work with invoices, contracts and reports.

When to use it

  • Pulling fields out of invoices, receipts or purchase orders sent through the API.
  • Summarising or answering questions about a report or contract.
  • Reading PDF attachments from an email connector before an agent replies.

Ports

Inputs
in
Outputs
outerror

Configuration

Sourcesource
file | url | base64 · default "file"An uploaded file, a public link, or base64 data such as an email attachment.
Filefile
any · default "{{ input.file }}"Upload a PDF, or point at one in the run input, such as {{ input.file }}.
URLurl
template
Base64 datadata
template
Outputoutput
markdown | json | both · default "markdown"JSON adds element types, page numbers and bounding boxes.
Pagespages
stringLeave empty for all, or e.g. 1-5,8.

Output

Fires out with filename, pages, needs_ocr and markdown, plus document (JSON with page numbers and positions) when Output is JSON or Both. A file that is missing, too large or not a PDF fails the node.

Example

Parse PDF · file from the run input
file: {{ trigger.invoice }}
out:  { "filename": "invoice-1042.pdf", "pages": 2, "needs_ocr": false,
        "markdown": "# Invoice 1042\n\nBilled to: Acme Ltd ..." }

Good to know

  • PDFs only, up to 25 MB. Uploaded files are deleted after 24 hours.
  • Scanned PDFs have no text to read and come back with needs_ocr set to true.
  • The run records the page count, never the document text.
  • See PDF parsing for sources and uploads, and Workflow API for sending files from your code.

Build it on the canvas

Create a free account, describe the workflow or wire it yourself, and run it in the browser.