A good achievement turns noisy behaviour into a clear milestone members can see and aspire to. The builder has three parts: criteria (what triggers it), reward (what members get), and scope (who can earn it).Documentation Index
Fetch the complete documentation index at: https://docs.nudj.cx/llms.txt
Use this file to discover all available pages before exploring further.
Criteria
Pick the event type + threshold. Events fall into three groups:Built-in events
| Event | Fires when |
|---|---|
challenge_completed | Member completes a challenge |
reward_earned | Member earns any reward |
check_in_completed | Daily check-in action |
streak_milestone | Streak hits a configured length |
level_reached | Member hits an XP level |
member_joined | Member joins the community |
Custom events
Use the free-text custom event identifier (#2144) to match events you fire via the Integration API. Example:purchase_completed, livestream_attended, survey_submitted.
Thresholds
Stack conditions:count >= Nwithin Xd(rolling window)- Filter by tag, category, or other event attributes.
Reward distribution
Attach rewards that distribute when the achievement unlocks:- Points, XP (instant addition to balance)
- Badge (shown on profile)
- Asset reward (adds to wallet)
- Entry reward (adds entries to a pending giveaway)
Achievements as actions
The Complete-Achievement action (#729) inverts the relationship: a challenge requires members to have already unlocked an achievement before it can be started. This gates progression — useful for multi-stage programs like tutorials or certification paths. See Achievements as Actions.Tiered achievements
Design a series of escalating milestones:- Create four achievements, each with identical criteria shape but different thresholds.
- Link Silver -> Bronze via a Complete-Achievement action in the next challenge (or on the achievement’s own gating rules).
- Members unlock them sequentially as they accumulate.
Multi-language support
Achievements inherit your community’s language config. Edit translations per locale; the achievement’s title, description, and badge alt-text all translate. The language-switch bug in the achievement module was fixed in #845 — you can safely toggle between locales in the editor without losing your draft. See Language Management.Scope decisions
Community-scoped
Default. Only counts events inside that community. Good for community-specific milestones (“Top 5 contributors in the Paris region”).
Org-scoped
Counts events across every community in the org. Good for brand-wide milestones (“100 total check-ins across all our stores”).

