Skip to main content

[Workflow Builder - GCW] Subflows & Pre-press Preflight in Workflow Builder

R
Written by Roman Aldunate

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

  1. Navigate to Workflow Builder and open or create a workflow.

  2. On the activity canvas, click Add Activity and select Subflow from the activity type list.

  3. In the Subflow panel that opens, choose Create New Subflow or select an existing subflow from the master template library.

  4. 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:

  1. Download Activity — Retrieve the artwork file from artwork_url.

  2. Preflight Check Activity — Run automated file inspection (colour mode, DPI, bleed, PDF version, etc.).

  3. Path Activity — Branch based on the preflight result: Pass / Soft Warning / Hard Fail.

  4. Output Activity — Return the preflight_status (pass | warning | fail) and a preflight_report URL 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, or fail.

  • 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.

  1. Click Save Draft to preserve your work at any time.

  2. When ready, click Publish. The subflow becomes available in the activity picker for all workflows in your organisation.

  3. 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

  1. Open the subflow in the canvas editor.

  2. Click Test Subflow in the toolbar.

  3. In the Input Simulation panel, provide sample values for each defined input parameter.

  4. You must supply file inputs as URLs pointing to a hosted file—direct file uploads are not supported during isolated testing.

  5. Click Run Test to execute the subflow with the simulated inputs.

  6. 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:

  1. Run the parent workflow with a real order to generate a live context snapshot.

  2. Open the subflow test panel and enable Use Parent Context.

  3. Paste or select the context snapshot—the subflow will execute using real values from the parent workflow instead of the simulated inputs.

  4. Review each activity's input/output to identify where unexpected behaviour occurs.


Using a Subflow Inside a Parent Workflow

Adding the Subflow Activity

  1. Open the parent workflow canvas.

  2. At the point in the flow where preflight should run, click Add Activity → Subflow.

  3. Search for or select your published preflight subflow from the picker.

  4. Map the parent workflow's context variables to the subflow's expected input parameters (e.g. map order.artwork_urlartwork_url).

  5. 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 the error_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.


Did this answer your question?