Every step in a workflow has a type that controls how MIRA processes it, and instructions that are plain-language prompts enhanced with template variables.
Step types
prompt
transform
condition
human_review
prompt
A prompt step sends the step’s instructions (plus resolved template variables) to the active reasoning engine and waits for a response.Use prompt steps to:
- Ask the engine to research, analyse, summarise, or rewrite
- Chain reasoning across multiple passes with
{{prev_output}}
- Include document context with
{{document}}
Example instruction:A transform step uses the engine to reformat, restructure, or convert the previous output without performing new reasoning.Use transform steps to:
- Convert prose to bullet points
- Format output as a table, JSON, or Markdown
- Apply a consistent template to the previous result
Example instruction: condition
A condition step sends a yes/no question to the engine based on {{prev_output}} and routes the next step based on the answer. Set conditionExpr to the question to evaluate.Use condition steps to:
- Branch the pipeline based on document type or content
- Gate analysis steps on whether a prior step produced useful output
- Classify input before choosing how to process it
Example instruction:The step evaluates the engine’s response and passes the result through onSuccess / onFailure routing rules on subsequent steps.human_review
A human_review step pauses the workflow and shows the previous step’s output in the chat panel. The pipeline resumes only after you click Approve or Regenerate.
- Approve — continues to the next step with the current output
- Regenerate — re-runs the previous
prompt step and presents a new result
Use human_review steps to:
- Gate high-stakes outputs before delivery
- Insert a quality check mid-pipeline
- Collect feedback before a final transform
human_review steps do not have instruction fields — they act purely as a pause gate.
Template variables
If {{ document }} is used in a step but no documents are uploaded and enabled, the variable
resolves to an empty string. Add a human_review step before document-dependent steps to catch
this condition.
Combining variables
Variables can be combined freely in a single instruction: