This article provides a comprehensive guide on subflows within Gelato's Workflow Builder (WFB), detailing their purpose, creation, and application in pre-press preflight processes. Subflows are reusable components that streamline workflows by allowing users to define checks and processes once and utilize them across various workflows, enhancing efficiency and consistency in print production.
Understanding Subflows
Subflows are modular, reusable workflow components that can be embedded inside any parent workflow in Gelato's Workflow Builder (WFB). They act as self-contained building blocks, allowing you to define a subflow once, publish it, and reference it across multiple workflows without duplicating logic.
The primary use case for subflows at launch is Pre-press Preflight, which involves automated checks that validate and prepare artwork files before production begins. This article explains what subflows are, how to build and test them, and how pre-press teams can leverage them to standardize quality checks across every print product line.
💡 Tip: If you are not yet familiar with the Workflow Builder canvas, review the Getting Started with Workflow Builder article before reading this guide.
Key Concepts of Subflows
Concept | Description |
Subflow | A workflow embedded inside another workflow. It accepts defined inputs, performs operations, and returns outputs back to the parent workflow. |
Parent Workflow | The main workflow that calls one or more subflows at specific steps. |
Preflight | A pre-press validation process that checks artwork files for print-readiness before production (e.g. colour mode, bleed, resolution, PDF version). |
Activity | A single step on the workflow canvas. "Subflow" is now a new activity type you can add to any workflow. |
Master Template | A centrally managed subflow definition. Customers and teams link to or copy from master templates to keep logic consistent. |
Context | The shared data object that flows through a workflow. Inputs and outputs are written to and read from this context. |
Published State | A subflow must be published before it can be used inside a parent workflow. |
The Importance of Pre-press Preflight
In print production, preflight is the process of inspecting a digital file—usually a PDF or an image file—to ensure it meets the technical requirements for the intended print method before plates are made or a job is sent to press. Errors caught at preflight save significant time and cost compared with reprints or production holds.
Common Preflight Checks
Colour mode — CMYK required; RGB or spot colours must be converted or flagged.
Resolution — Images must meet minimum DPI (typically 300 dpi for offset; 150 dpi for wide-format).
Bleed and trim marks — Artwork must extend beyond the trim line by the specified bleed (usually 3 mm or 0.125").
Safe zone — Critical content must sit within the safe zone to avoid being trimmed.
Font embedding — All fonts must be embedded or outlined to prevent substitution.
PDF version compliance — The job may require PDF/X-1a, PDF/X-3, or PDF/X-4.
Overprint settings — Black text and thin rules must overprint correctly.
Ink coverage — Total Area Coverage (TAC) must not exceed the press limit.
Page dimensions — Finished size must match the ordered product specification.
⚠️ Note: Different product lines have different preflight rules. A subflow is the ideal mechanism to encapsulate product-specific preflight logic in one place and reuse it across all affected workflows.
Mapping Pre-press Preflight to Subflows in WFB
With the Subflow feature, your pre-press preflight logic is defined once as a subflow and then plugged into any order workflow—digital print, offset, wide-format, packaging—as a single Subflow activity. The parent workflow simply passes in the artwork file URL and waits for the preflight result to decide how to proceed.
Steps to Create a Subflow
Open the Subflow Canvas
Navigate to Workflow Builder and open or create a workflow.
On the activity canvas, click Add Activity and select Subflow from the activity type list.
In the Subflow panel that opens, choose Create New Subflow or select an existing subflow from the master template library.
Give your subflow a clear, descriptive name (e.g.
Preflight — Business Cards CMYK).
Define Inputs
Subflows receive data from the parent workflow through input parameters. Define each input in the Input Activity at the start of the subflow canvas.
artwork_url— URL of the design file to be checked (required, type: string).product_sku— Product identifier used to look up specification rules (required, type: string).expected_page_count— Number of pages expected (optional, type: integer).bleed_mm— Required bleed in millimetres (optional, type: number; defaults to 3).
💡 Tip: For pre-press subflows, accept a file URL rather than a direct upload—the subflow platform currently requires files to be hosted in a shared repository before they can be used as test inputs.
Build the Preflight Logic
Add activities to the subflow canvas to implement your preflight checks. A typical pre-press subflow contains:
Download Activity — Retrieve the artwork file from
artwork_url.Preflight Check Activity — Run automated file inspection (colour mode, DPI, bleed, PDF version, etc.).
Path Activity — Branch based on the preflight result: Pass / Soft Warning / Hard Fail.
Output Activity — Return the
preflight_status(pass | warning | fail) and apreflight_reportURL to the parent workflow.
💡 Tip: Use a Path Activity to handle the three common submission patterns: single-file (cover + inner combined), two-file (separate cover and inner), or mixed files. This keeps the parent workflow clean while the subflow handles all variations internally.
Define Outputs
Outputs are written to the shared context and returned to the parent workflow. Define at minimum:
preflight_status— Enumerated result:pass,warning, orfail.preflight_report_url— Link to a full human-readable preflight report.error_codes— Array of error codes from the check (optional but recommended).
Publish the Subflow
A subflow must be published before it can be used inside a parent workflow.
Click Save Draft to preserve your work at any time.
When ready, click Publish. The subflow becomes available in the activity picker for all workflows in your organisation.
Republishing creates a new version; existing parent workflows continue to reference the previous version until explicitly updated.
Testing a Subflow in Isolation
You can test a subflow independently, without embedding it in a parent workflow. This is the recommended approach during development.
Simulating Inputs
Open the subflow in the canvas editor.
Click Test Subflow in the toolbar.
In the Input Simulation panel, provide sample values for each defined input parameter.
You must supply file inputs as URLs pointing to a hosted file—direct file uploads are not supported during isolated testing.
Click Run Test to execute the subflow with the simulated inputs.
Inspect the Output panel to verify the returned context values match expectations.
End-to-End Context Debugging
For more advanced debugging, you can override the Input Activity with context from an actual parent workflow run:
Run the parent workflow with a real order to generate a live context snapshot.
Open the subflow test panel and enable Use Parent Context.
Paste or select the context snapshot—the subflow will execute using real values from the parent workflow instead of the simulated inputs.
Review each activity's input/output to identify where unexpected behaviour occurs.
Using a Subflow Inside a Parent Workflow
Adding the Subflow Activity
Open the parent workflow canvas.
At the point in the flow where preflight should run, click Add Activity → Subflow.
Search for or select your published preflight subflow from the picker.
Map the parent workflow's context variables to the subflow's expected input parameters (e.g. map
order.artwork_url→artwork_url).Click Save.
Acting on the Subflow Output
After the Subflow activity completes, the outputs are written back to the parent context. Use a Path Activity immediately after the Subflow activity to branch based on preflight_status:
pass→ continue to production scheduling.warning→ route to a human review queue for soft issues (e.g. low resolution in non-critical areas).fail→ halt the workflow, notify the customer to resubmit corrected artwork, and log theerror_codes.
💡 Tip: Centralizing preflight in a single subflow means that when a preflight rule changes (e.g. a new PDF/X version requirement), you update the subflow once and every parent workflow that references it immediately benefits.
Master Templates and Sharing Subflows
Subflows stored in a Master Template library are accessible to all team members. This enables consistent preflight standards across business units and customer accounts.
Linking vs Copying
| Linking to Master Template | Copying from Master Template |
Sync behaviour | Stays in sync—updates to the master automatically apply to all linked workflows | Independent copy—changes to the master do not affect the copy |
Best for | Organisation-wide, standardised preflight rules | Customer- or product-line-specific variations |
Risk | A master template change affects all linked workflows at once | Drift over time if the copy is not manually updated |
⚠️ Note: The decision to link versus copy is important for governance. Discuss with your workflow design team before deploying subflows to production customer accounts. Formal guidance on this strategy is being finalized.
