FlowRunner
PricingContact
Theme
Start Free

PDFMonkey

Documents

Generate polished PDFs from reusable PDFMonkey templates by sending a JSON payload and tracking the asynchronous render. Agents produce invoices, contracts, and reports without a design pass per document.

11 actions API key available
Platform Documentation ↗ Capability data verified 2026-07-31
Month-end close finishes and the billing run hands over a batch of customer invoices
Get Account Details confirms enough document credits remain in the period for the whole run
Generate Document queues each invoice against the PDFMonkey template with its billing payload
Get Document Status polls each document until it leaves pending for success or failure
Get Document Details returns the failure cause and generation log for anything that did not render
The agent posts a run summary to the finance channel naming every document that failed
The controller decides whether to release the invoices that rendered or hold the run until all of them are clean

What This Integration Enables

PDFMonkey is a rendering queue, not a function call, and that is the whole integration story. Generate Document returns immediately with a status of pending and a null download URL, and the document moves through draft, pending, generating, and then either success or failure on PDFMonkey's schedule rather than yours. Most automation platforms paper over that with a blocking wrapper and hope the render finishes in time. FlowRunner treats the status lifecycle as a first-class part of the flow: the agent generates, polls Get Document Status, reads Get Document Details when something fails, and only then decides what to do with the file.

That matters because the documents worth generating at volume are the ones that carry money and obligation. An invoice, a quote, a contract, an offer letter. A rendering failure inside a batch of those is an automation exception, not a retry statistic, and the agent's job is to surface it to a person who can decide before anything reaches a customer. The connector also persists the finished file with Save Document To File Storage, because PDFMonkey's own download links are signed and short-lived, and a document that expired before it was attached is functionally the same as a document that never rendered.

Without FlowRunner

A queued render is treated as a finished file The send step runs against a document that is still pending and a null download URL
Silent gaps at month end A customer who never receives an invoice has no reason to complain, so the miss shows up in aging
Expiring links break the attachment The signed URL goes stale before the email assembles and the file is simply gone

With FlowRunner

Status is a gate, not a log line Nothing is attached or sent until the document reports success
Failures are named before release Every failed render arrives with its cause attached to the run summary
Files outlive their links Documents are persisted to durable storage the moment they render

Use Case Scenarios

Month-end invoice run with failure triage

Close completes and the billing agent pulls the period's invoiceable activity from QuickBooks Online. Before it queues anything it calls Get Account Details and compares the remaining document allowance against the size of the run, so the batch does not die halfway through on an exhausted plan. It then calls Generate Document per customer, collects the document IDs, and polls Get Document Status until every one has settled. The successes go to Save Document To File Storage and out through Gmail with the invoice attached. The failures do not get quietly skipped. The agent pulls their generation logs with Get Document Details and holds them for a person.

Offer letters and onboarding packs from CRM records

A signed deal in HubSpot moves to closed won and the agent assembles the onboarding pack. It reads Get Template Details first to confirm which keys the template's sample data expects, so the payload matches the template rather than the other way around. Then it calls Generate Document And Wait, because this is one interactive document rather than a bulk run and a blocking call is the simpler shape. The finished pack lands in file storage and posts to the account channel for the CSM to review before it goes to the customer.

Scheduled certificates with a supervised retry

A weekly job generates completion certificates for everyone who finished training that week. Three fail because a record had a missing field. Rather than regenerating blindly, the agent calls Update Document to correct the payload and set the status back to Pending, which is PDFMonkey's supported way to re-queue a failed render, then polls again. If a document fails a second time the agent stops retrying and posts the failure cause to Slack, because a certificate that keeps failing on the same field is a data problem no amount of retrying will fix. Old certificates age out through List Documents and Delete Document once the retention window closes.

Human-in-Loop Highlight

The gate sits between the render and the send. When a bulk invoice run finishes and any document in the batch has landed on failure, the agent does not release the ones that worked. It posts to the finance channel: "Invoice run for June is complete. 143 of 147 rendered. Four failed: Northwind, Contoso, Fabrikam, and Tailspin, all with the same failure cause on a missing billing address line. Release the 143 now and hold the four, or hold the entire run until all 147 are clean?" That question only exists because PDFMonkey renders asynchronously and reports failure as a status rather than an error, which means a flow that never reads the status will happily send a partial run and never know it did. A missing invoice is not a formatting bug. Nobody on the receiving end will tell you it did not arrive, and the controller is the only person who can weigh the cash timing of sending 143 today against the reconciliation mess of a split run. This is where human-in-the-loop earns its place: the agent has already done the work of finding and explaining the four failures, so the decision takes seconds instead of a morning.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

11 actions

Document Generation

2
  • Generate Document Queues a document from a PDFMonkey template, merging the supplied payload into the template's placeholders. Returns immediately with a pending status and no download URL, which makes it the right choice for bulk runs where the agent polls for completion rather than blocking on each file.
  • Generate Document And Wait Generates a document and blocks until the render completes, returning the finished document card with a populated download URL. Use it for single interactive documents where a blocking call keeps the flow simple, and prefer Generate Document with polling for high-volume runs.

Render Status and Recovery

3
  • Get Document Status Retrieves the lightweight document card with its current status, filename, failure cause, and download URL. This is the polling action: statuses move from draft to pending to generating and then to success or failure. It also mints a fresh signed download link when an earlier one has expired.
  • Get Document Details Retrieves the full document record including the submitted payload, the generation logs, and the file checksum. Used when a render fails and the agent needs to explain why to a person, or when the original payload has to be recovered.
  • Update Document Updates an existing document's template, payload, metadata, or status. Setting the status to Pending re-queues the document, which is the supported way to retry a failed render after correcting the data behind it.

History and Storage

3
  • List Documents Lists generated documents as document cards with pagination metadata, optionally filtered by workspace, template, status, or last update time. Used to reconcile a run against what was actually produced, and to find candidates for cleanup.
  • Save Document To File Storage Downloads a successfully generated document and stores it in FlowRunner file storage, returning a stable URL. Used because PDFMonkey's own download links expire, so any document that has to survive into a later step needs a durable home.
  • Delete Document Permanently deletes a document and its generated file from PDFMonkey. Deletion cannot be undone and any previously issued download links stop working immediately, so this belongs in a retention workflow rather than an ad-hoc cleanup step.

Templates and Account

3
  • List Templates Lists the document templates in a workspace with each template's identifier, edition mode, folder, and draft state. Used to resolve a template ID before generation.
  • Get Template Details Retrieves a full template including its published and draft body, styles, sample data, and page settings. Used to read the sample data structure so the agent sends the keys the template actually expects.
  • Get Account Details Returns the account tied to the API key, including the plan, the billing interval, and the number of documents still available in the current period. Used as a guard before a bulk run so a batch does not stall halfway through on an exhausted allowance.

Frequently Asked Questions

What can FlowRunner do with PDFMonkey?

FlowRunner agents can run Generate Document, Generate Document And Wait, and Get Document Status in PDFMonkey, plus 8 more actions.

Does connecting PDFMonkey to FlowRunner require OAuth?

No. PDFMonkey connects to FlowRunner with an API key, no OAuth flow required.

Can PDFMonkey trigger a FlowRunner workflow automatically?

PDFMonkey doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with PDFMonkey

$100 in credits. No card required. Connect in minutes.