Carbone
DocumentsGenerate documents from templates with Carbone. Agents upload DOCX, XLSX, or HTML templates tagged with placeholders, merge JSON data into them, convert the result to PDF and other formats, and save finished files to FlowRunner file storage.
What This Integration Enables
Carbone splits document generation into the two jobs it always should have been: people design templates in the tools they already know, and machines merge data into them. A DOCX with tags like {d.name} becomes a rendering endpoint, and any structured data in a FlowRunner workflow becomes a finished PDF, spreadsheet, or slide deck. That split is what makes documents automatable without making them ugly: the branding, layout, and legal boilerplate stay under human control in the template, while agents handle the merging, converting, and filing. It also makes document changes cheap: when legal updates a clause or design refreshes the letterhead, one template edit propagates to every document rendered from that day forward, with no workflow touched. - Upload DOCX, XLSX, ODT, HTML, and PPTX templates and get back reusable templateIds - Render documents by merging JSON data into stored templates, converting to PDF, DOCX, XLSX, and other formats - Generate and download in one step, with finished files saved to FlowRunner file storage - Batch-produce personalized documents from spreadsheet or database rows - Convert between formats on demand: PDF, DOCX, XLSX, ODT, PPTX, HTML, CSV, and image outputs - Back up and manage the template library, with the destructive operations behind [human-in-the-loop](/concepts/human-in-the-loop) review
Without FlowRunner
With FlowRunner
Use Case Scenarios
Invoices that render themselves the moment the order exists
A new order lands from [Shopify](/integrations/shopify). The agent shapes the order into the invoice template's data structure: line items, taxes, shipping, and the customer block. Generate Document renders the PDF against the stored invoice template, the file saves to storage, and the download URL attaches to the order record. The finance copy archives to the accounting folder, and the customer copy queues for delivery. Nobody opened a word processor, and every invoice out the door is pixel-identical to the template finance approved.
Two hundred certificates from one sheet
A training program ends and the roster lives in [Google Sheets](/integrations/google-sheets): name, course, completion date, instructor. The agent reads the rows and calls Generate Document once per row against the certificate template, converting each to PDF. Finished files land in file storage with predictable names, then archive to [Google Drive](/integrations/google-drive) by cohort. The template designer spent an hour making one beautiful certificate; the agent spent a few minutes making two hundred of it.
Quote generation with a two-step render for heavy documents
Enterprise quotes include a pricing workbook alongside the PDF. When a deal reaches the proposal stage in [HubSpot](/integrations/hubspot), the agent renders twice from the same data object: Render Document against the quote template with PDF output, and again against the pricing template with XLSX output. Each renderId passes to Get Rendered Document, which saves the bytes and returns URLs. Both files post to the deal channel for the account executive to review before anything reaches the prospect. One data object, two formats, zero retyping.
Human-in-Loop Highlight
Delete Template cannot be undone, and its blast radius is bigger than one file: every workflow holding that templateId renders against it, so deleting a template that invoicing, quoting, and certificate runs depend on breaks them all at once, mid-batch if the timing is bad. FlowRunner agents treat template deletion as a two-key operation. A cleanup sweep identifies candidates, calls Download Template to save a backup copy of each to file storage, and presents the case: "Template tpl_8f2, uploaded in March, last rendered 141 days ago, referenced by no active workflow. Backup saved. Delete?" A person confirms, and only then does Delete Template run. Rendering mistakes cost a re-render. Deleting the wrong template costs whatever that template was holding together.
Agent Capabilities
6 actionsTemplates
3- Add Template Uploads a document template (.docx, .odt, .xlsx, .html, .pptx, etc.) to Carbone from a FlowRunner file URL, returning a reusable templateId that render calls reference repeatedly.
- Download Template Downloads a previously uploaded template by its templateId and saves the bytes to FlowRunner file storage, returning the saved file's URL. The backup step that runs before any deletion.
- Delete Template Permanently deletes a template from Carbone by its templateId. After deletion the template can no longer be used for rendering, and the action cannot be undone. The operation this page's human gate exists for.
Rendering
3- Render Document Renders a document by merging a data object into a stored template, with optional conversion to PDF, DOCX, XLSX, and other formats. Returns a single-use renderId that expires after one hour or the first download.
- Get Rendered Document Downloads a rendered document by its renderId and saves the bytes to FlowRunner file storage, returning the saved file's URL. The second half of the two-step render flow.
- Generate Document Renders a template with data and downloads the result in one step, saving the bytes to FlowRunner file storage and returning both the renderId and the download URL. The default choice when the workflow just wants the finished document.
Frequently Asked Questions
What can FlowRunner do with Carbone?
FlowRunner agents can run Add Template, Download Template, and Delete Template in Carbone, plus 3 more actions.
Does connecting Carbone to FlowRunner require OAuth?
No. Carbone connects to FlowRunner with an API key, no OAuth flow required.
Can Carbone trigger a FlowRunner workflow automatically?
Carbone doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Carbone
$100 in credits. No card required. Connect in minutes.