Skip to content

Create a pipeline template

This guide shows you how to create a pipeline template.

  1. Navigate to Pipelines in the sidebar
  2. Click Create template
  3. Enter a name and description
  4. The template editor opens with a blank canvas

Click Add step and choose a step kind:

KindDescription
TriggerEntry point (one per pipeline)
Prompt agentDispatch an agent with a prompt
Bash scriptRun a shell command
Dispatch reviewersFan out PR review
RouterConditional branching
JoinWait for parallel steps
Sub-pipelineExecute another template

Click a step to configure it:

  • Agent: which agent to dispatch (or “use pipeline input” to select at run time)
  • Prompt: the instruction text. Use {{inputKey}} to reference pipeline inputs or upstream outputs.
  • Mode: chat, plan, or review
  • Timeout: wall-clock timeout in seconds
  • Retry policy: max attempts, backoff strategy
  • Continue on fail: whether downstream steps proceed if this step fails
  • Script: the shell command to run
  • Working directory: where to run it
  • Environment variables: additional env vars
  • Timeout: wall-clock timeout
  • Condition: a JavaScript expression that evaluates to a route key
  • Routes map to different downstream steps
  • No configuration — it waits for all upstream steps to complete

Steps must be connected to form a DAG:

  1. Drag from a step’s output port to another step’s input port
  2. The connection defines the execution order
  3. Unconnected branches run in parallel

Rules:

  • Every pipeline has exactly one trigger step
  • Steps can have multiple downstream connections (fan-out)
  • The join step waits for all its upstream connections (fan-in)
  • No cycles — the graph must be a DAG

Inputs are form fields rendered when someone runs the pipeline:

  1. In the template editor, click Inputs
  2. Add input fields:
FieldDescription
KeyVariable name (used in {{...}} references)
LabelDisplay label
Typetext, number, boolean, select
RequiredWhether the input is mandatory
DefaultDefault value
Help textHelper text shown below the input

Reference inputs in steps with {{keyName}}.

  1. Click Save to persist the template
  2. Enable it with the toggle in the header
  3. The template is now available for manual runs or triggers