When you connect blocks or fill in inputs, you often need to reference data from another block or from a trigger. This page explains the two main patterns: block output references and trigger output references.
Block output references: <block_id.outputName>
Use this syntax to pass an output from a previous block into an input of a later block.
- Format:
<block_id.outputName> - block_id: The unique ID of the block in your workflow (e.g.
kaizen_todos_1,fetch_todos). In the UI this is often the block's instance name or a generated id. - outputName: The name of the output field (e.g.
todoIds,bucketIds,userId,value).
Examples
| Use case | Example |
|---|---|
| Todo IDs from a Kaizen Todos block | <kaizen_todos_1.todoIds> |
| Bucket IDs from a Kaizen Buckets block | <kaizen_buckets_1.bucketIds> |
| User ID from an Activity trigger | <kaizen_activity_1.userId> |
| Todo ID from an Activity trigger (completed todo) | <kaizen_activity_1.todoId> |
| Value from Get Workspace Variable | <kaizen_get_workspace_var_1.value> |
| Created todo IDs from Create Todos | <kaizen_create_todos_1.todoIds> |
Block output references are resolved at runtime when the workflow runs. The source block must run before the block that references it (upstream in the flow).
Trigger output references: {{trigger.outputName}}
Some Kaizen blocks (e.g. Unlock Badge, Match Discovery Prompt) accept a trigger context when the workflow is started by a trigger (e.g. Kaizen Activity). In those blocks you may see placeholders like {{trigger.userId}} or {{trigger.todoId}}.
- Format:
{{trigger.outputName}} - Meaning: "Use the output from the trigger that started this workflow."
- When to use: When the block is downstream of a trigger (e.g. Kaizen Activity) and you want the user/todo/event that triggered the run.
Examples
| Use case | Example |
|---|---|
| User who triggered the workflow (e.g. achieved streak) | {{trigger.userId}} |
| Todo that was completed (activity trigger) | {{trigger.todoId}} |
| Event type from trigger | {{trigger.eventType}} |
Same data, two styles
For trigger outputs, both of these refer to the same idea when the workflow is started by a Kaizen Activity trigger:
- Block-style:
<kaizen_activity_1.userId>– explicit block ID of the trigger block. - Trigger-style:
{{trigger.userId}}– generic "trigger that started this run."
Use whichever your block's UI or docs show. If the block has a "User ID" field and says "use trigger user", you can often use either <kaizen_activity_1.userId> or {{trigger.userId}} so the badge or action applies to the user who triggered the workflow.
For public triggers (e.g. any user can earn a badge), you must pass the triggering user (e.g. {{trigger.userId}} or <kaizen_activity_1.userId>). If you leave the field empty, some blocks default to the workflow owner, which is wrong for public rewards.
When to use which
| Scenario | Prefer |
|---|---|
| Data from any block (Todos, Buckets, Create Todos, etc.) | <block_id.outputName> |
| User/todo/event from the trigger that started the run | {{trigger.outputName}} or <trigger_block_id.outputName> |
| Workspace variable value | <kaizen_get_workspace_var_1.value> (block output) |
See also
- Data structure – output shapes of different block types
- Kaizen Activity – trigger outputs (userId, todoId, etc.)
- Kaizen Unlock Badge – using trigger user for rewards
- Kaizen Guided Execution – referencing outputs in the pipeline