Print.one
CommunicationSend physical postcards, letters, and greeting cards programmatically with Print.one, where artwork is HTML with merge fields. Agents trigger real mail off an event the CRM already recorded.
What This Integration Enables
Print.one builds artwork from HTML, one page per printed side, with mustache placeholders filled from each order's merge variables and images pulled from remote URLs. That is a genuinely good design, and it means your postcards are built by the same people and the same templates discipline as your emails. It also means they fail the same way emails fail: an empty variable, a placeholder that never resolved, an image URL that stopped responding overnight.
The difference is that an email that renders badly can be fixed and resent within the hour. A postcard cannot. Print.one gives agents the tools to catch this before it costs anything, and FlowRunner flows are built to use them: Generate Template Preview renders a proof, Get Preview Details reports the render errors including artwork that failed to download, and batches hold orders until a required count is reached rather than posting each piece the moment it is created. Three connectors worth of upstream data can feed one template, and the flow can still stop the whole run with Cancel Batch while it is filling.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Onboarding welcome piece collected into a drip batch
A new customer completes onboarding in HubSpot. The agent builds the merge variables from the account record, calls Generate Template Preview with those exact values, and reads Get Preview Details. If the render is clean it calls Create Order against the drip batch. If the render came back with an error, or with a first name that resolved empty, the order is not created and the record is queued for review instead. When the batch fills, On Batch Status Updated fires and the campaign owner releases it. Individual pieces are never posted alone at single-piece rates, and no piece is posted with a hole in it.
Reactivation mail driven by commerce data
A flow watches Shopify for customers who have not ordered in a defined window. It segments them, builds a template per segment with Create Template, and creates orders carrying a per-recipient QR value. When someone scans the code on the printed card, On QR Code Scanned fires with the originating order, and the agent writes the scan back to the customer record and notifies the owning rep the same day. Direct mail stops being a channel that reports back a month later and starts behaving like the rest of the stack.
A template change that needs a person to look at it
Someone updates the campaign template. The agent notices the new version through List Templates, renders Generate Template Preview against a spread of real records deliberately chosen to be awkward, including a missing first name, a company name long enough to overflow its line, and a recipient in a country pulled from List Countries with a different address format. It posts the rendered sides to the campaign channel and stops. No order is created against a new template version until a person has seen what it does to the difficult rows, because the difficult rows are the ones that reach a letterbox looking wrong.
Human-in-Loop Highlight
The gate is on releasing a batch, and what it protects against is the classic direct mail failure: "Dear FIRSTNAME." Because Print.one fills mustache placeholders from each order's variables and pulls images from remote URLs, a single bad upstream field or a dead image host does not spoil one card, it spoils every card in the run that shares the fault. Batching concentrates that risk on purpose, since a batch goes to print together. So before release, the agent posts the rendered proof for the rows it is least confident about: "Batch WELCOME-Q3 holds 240 orders and has reached its required count. 6 have an empty firstName and would print 'Dear ,'. 1 template image returned a 404 on render. Release the batch, release without those 7, or cancel?" The owner chooses. Cancel Batch works while the batch is still filling and stops being available once it is in production, which is exactly why the question is asked now rather than after On Order Status Updated reports the first piece printed.
Agent Capabilities
15 actionsOrders
4- Create Order Submits a single piece of physical mail for printing and posting from an existing template. This bills the account and puts real paper in the post, so a test API key is used while a flow is being built. The order returns immediately with an ID and an initial status, which is then followed with Get Order or the status trigger.
- Get Order Retrieves an order by ID with its current status, recipient, format, billing flag and any errors or warnings raised during production. Used to follow a piece from creation through to dispatch.
- List Orders Retrieves orders with status, recipient and format, filtered by rollup status and free-text search, in pages of up to 200. Used to reconcile a send against your own records or to find orders that failed production.
- Cancel Order Cancels an order before it enters production, stopping it being printed and billed. Orders already gone to print cannot be cancelled, so this is called promptly or not at all.
Templates and Proofs
5- List Templates Retrieves the templates defined on the account with their format, labels and version history. The template IDs returned here are what Create Order and Create Batch expect.
- Create Template Creates a template from HTML, one page per printed side. Mustache placeholders such as {{firstName}} are filled from each order's merge variables, and images are pulled from remote URLs referenced in the HTML. Double sided is set for formats that print on both sides.
- Delete Template Removes a template from the account. Orders already placed against it are unaffected, but it can no longer be used for new orders or batches.
- Generate Template Preview Renders a proof of a template with sample merge variables and returns hosted URLs for each printed side, so artwork can be reviewed before money is spent. Print.one hosts the rendered files itself. Requesting a PDF renders faster than images.
- Get Preview Details Retrieves the outcome of a rendered proof, including the hosted image URL and any render errors such as an artwork image that failed to download. This is the step that turns a preview into a real check rather than a screenshot nobody read.
Batches
4- Create Batch Creates a batch that collects orders sharing one template and finish, holding them until a required minimum count is reached before they are posted together. Used for drip campaigns where mail should go out in economical runs rather than one piece at a time.
- Get Batch Retrieves a batch by ID with its lifecycle state, template, finish and how many orders it holds against its required count. Used to check whether a batch is still filling or has gone to print.
- List Batches Retrieves batches with their lifecycle state and fill progress, filtered by status and free-text search. Used to spot batches stuck below their required count or awaiting approval.
- Cancel Batch Cancels a batch and the orders waiting inside it before they go to print, stopping them being produced and billed. Batches already in production cannot be cancelled.
Account
2- Get Company Returns the Print.one company profile, including billing mode and account settings. Used to confirm which environment an API key belongs to before running a send that costs money.
- List Countries Returns the countries Print.one can deliver to, with the identifiers and codes expected in recipient addresses. Used to validate destinations before submitting an order.
Triggers
3 triggersEvent Triggers
3- On Order Status Updated Fires whenever an order changes state, delivering the full order object, so a flow can follow a piece from creation through printing to dispatch or react to a production failure. Optionally narrowed to a single order. Requires a Print.one plan that includes webhooks.
- On Batch Status Updated Fires whenever a batch changes state, delivering the full batch object. Used to know when a drip batch has filled, been scheduled, gone to print or been cancelled, without polling. Requires a Print.one plan that includes webhooks.
- On QR Code Scanned Fires when a QR code printed on a mail piece is scanned, delivering the originating order. Used to measure response on a campaign, or to trigger follow-up the moment someone engages with the card in their hand. Requires a Print.one plan that includes webhooks.
Frequently Asked Questions
What can FlowRunner do with Print.one?
FlowRunner agents can run Create Order, Get Order, and List Orders in Print.one, plus 12 more actions.
Does connecting Print.one to FlowRunner require OAuth?
No. Print.one connects to FlowRunner with an API key, no OAuth flow required.
Can Print.one trigger a FlowRunner workflow automatically?
Yes. Print.one supports 3 triggers that can start a FlowRunner workflow automatically.
Start building with Print.one
$100 in credits. No card required. Connect in minutes.