The Unlock Badge block awards a badge to a user. Use it with a Kaizen Activity trigger so the badge is granted when a condition is met (e.g. 7-day streak, 100 completions). Pass the triggering user via <kaizen_activity_1.userId> so the badge goes to the user who achieved the milestone, not the workflow owner.
Block Type
kaizen_unlock_badgeInput Fields
| Field | Description |
|---|---|
badgeId | Required. The ID of the badge to unlock (from your badges list). |
userId | User to award the badge to. Use <kaizen_activity_1.userId> or {{trigger.userId}} for the user who triggered the workflow. Leave empty to award to the workflow owner. |
reason | Optional reason for the unlock (e.g. "Completed 30-day streak"). |
Outputs
| Output | Type | Description |
|---|---|---|
success | boolean | Whether the unlock succeeded |
alreadyOwned | boolean | True if the user already had the badge (count was incremented) |
message | string | Human-readable result message |
badge | object | Badge details (badgeId, badgeTitle, userId, count, isNewUnlock, unlockedAt) |
Common Use Cases
Streak Badge (Activity Trigger → Unlock Badge)
- Kaizen Activity trigger: condition = "Streak reaches 7" (or 30, etc.). Enable "Public Trigger" if any user can earn it.
- Unlock Badge block:
badgeId= your streak badge ID,userId=<kaizen_activity_1.userId>. - Optionally add a Response or Notification block to notify the user.
inputs:
badgeId: "badge_streak_7"
userId: "<kaizen_activity_1.userId>"
reason: "7-day streak"Milestone Badge (Total Completions)
- Kaizen Activity trigger: "Total completions reaches 100".
- Unlock Badge:
userId=<kaizen_activity_1.userId>,badgeId= milestone badge ID.
Self-Reward (Workflow Owner)
Leave userId empty to award the badge to the workflow owner. Useful for flows that are triggered manually or by a schedule and reward the owner.
One-Time vs Repeatable
- One-time achievement: Use the activity trigger's "Trigger Once" so the condition only fires once per user.
- Repeatable: Use streak or completion-count conditions; already-owned badges will increment the user's count instead of failing.
Referencing Trigger Output
Use block output reference for the user who triggered:
userId: "<kaizen_activity_1.userId>"In some UI fields you may see {{trigger.userId}}; both refer to the trigger's user output.
For public triggers (any user can earn the badge), you must set userId to the trigger's user output. Otherwise the badge would go to the workflow owner every time.