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
- Source
source - file | url | base64 · default "file"An uploaded file, a public link, or base64 data such as an email attachment.
- File
file - any · default "{{ input.file }}"Upload a PDF, or point at one in the run input, such as {{ input.file }}.
- URL
url - template
- Base64 data
data - template
- Output
output - markdown | json | both · default "markdown"JSON adds element types, page numbers and bounding boxes.
- Pages
pages - 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
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_ocrset 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.
Keep reading
- PDF parsing: turn PDFs into text an agent can readUpload a PDF or send one through the API, and the Parse PDF node turns it into Markdown and structured JSON for an AI agent, with page numbers and tables.
- Mask PII node: strip personal data before the modelThe Mask PII node replaces names, emails, phone numbers, card numbers and IDs with tokens such as <PERSON_1> before text reaches a Claude agent.
- Agent node: Claude with tools and structured outputThe Agent node calls Claude with your prompt, uses attached HTTP, app, API and MCP tools in a loop, and returns text plus structured output to branch on.
Build it on the canvas
Create a free account, describe the workflow or wire it yourself, and run it in the browser.