Skip to content

App Events & Notifications ​

Voxel Points registers standard Voxel app events under a "Voxel Points" category in Voxel → App Events:

  • points:earned — member in-app notification ON, email OFF by default (earning is frequent; don't spam). Tags: @points(amount), @points(balance), @points(reason), @points(points_name), @points(rule_label), @points(event_key).

    Saying what the points were for. There is one event for all earning, so the wording has to come from a tag rather than from a different template per rule. Three tags carry it, and they are not interchangeable:

    TagGives youUse it to
    @points(reason)the ledger note — "Daily visit — 3 day streak", "Review posted on Bayside Grill"show the specific award
    @points(rule_label)the rule's name — "Daily visit", "Review posted — Places"show a stable name; renaming the rule renames this
    @points(event_key)the raw key — daily_login, review:placescompare against, to word one rule differently

    reason is prose that changes with each award, so it reads well but cannot be tested. event_key never changes, so it can. Voxel's own control modifiers do the branching:

    @points(event_key).is_equal_to(daily_login).then(Thanks for stopping by!)
      .else(You earned @points(amount) @points(points_name) — @points(reason))

    Awards that are not earning rules — a streak milestone, an admin adjustment — have no entry in the rule catalog, so rule_label falls back to the note rather than to a placeholder.

  • points:spent — member notification on redemption spends.

  • level:up — a member reached a new level (demotions never fire).

  • streak:milestone — a daily-visit streak milestone.

  • badge:earned — a badge was awarded. Tags: @achievement(name), @achievement(description), @achievement(value).

  • reward:redeemed — member + admin destinations; the admin one is your fulfillment ping and links to the queue. Adds @reward(title), @reward(cost).

  • points:expired — points were written off for inactivity (§14). Only fires if you switch expiry on.

  • points:expiry_warning — sent ahead of an expiry, while there is still time for the member to do something about it.

Because these are ordinary Voxel app events, anything that consumes the registry — including Voxel Toolkit's SMS, Push, and Notification Preferences — picks them up with zero configuration.

Last updated:

Built by Code Wattz.