Blueprints & Templates
Blueprints & Templates
Blueprints are pre-built flow definitions that can be instantiated to create new flows. They serve as templates for common automation patterns.
What Blueprints Are
A blueprint is a flow marked as a template. It defines the full structure — steps, modules, argument patterns — but is not executed directly. Teams create blueprints for patterns they reuse across projects or clients.
Common blueprint use cases:
- Standard ETL pipeline (fetch → transform → load → notify)
- Client onboarding workflow (create accounts → send welcome email → set up integrations)
- Invoice processing template (receive → extract → validate → approve → pay)
- Scheduled report distribution (query → format → send)
Creating a Blueprint
Mark any flow as a blueprint:
PUT /api/flows/{flowId}{ "isBlueprint": true, "name": "Standard Invoice Processor"}Instantiating from a Blueprint
Create a new flow from a blueprint:
POST /api/flows/{blueprintId}/instantiate{ "name": "ACME Corp Invoice Processor", "category": "Finance"}The resulting flow is a full copy of the blueprint with its own independent lifecycle. Changes to the blueprint do not affect existing instances.
Blueprint Variables
Use placeholder expressions in blueprints that the instantiator fills in:
{ "args": { "recipientEmail": "{{ $blueprint.defaultRecipient }}", "sourceUrl": "{{ $blueprint.dataSourceUrl }}" }}When instantiating, provide values for these blueprint variables:
{ "name": "ACME Report Flow", "blueprintVars": { "defaultRecipient": "finance@acme.com", "dataSourceUrl": "https://api.acme.com/reports" }}Managing Blueprints
# List all blueprintsGET /api/flows?isBlueprint=true
# Get blueprint detailsGET /api/flows/{blueprintId}
# Update blueprint (doesn't affect existing instances)PUT /api/flows/{blueprintId}
# Delete blueprintDELETE /api/flows/{blueprintId}