Triggers
A trigger defines a named event and the number of points it awards.| Field | Description |
|---|---|
| Event name | Human-readable label displayed in the dashboard (e.g. “Craft artifact”) |
| Trigger key | The identifier used in API calls — lowercase, numbers, underscores only (e.g. craft_artifact) |
| Points | Fixed number of points awarded each time the trigger fires |
| Active | Toggle to enable/disable the trigger without deleting it |
Creating a trigger
- Dashboard → Automation → New trigger
- Fill in the event name, trigger key, and points amount
- The trigger is active immediately
Managing triggers
From the Automation table you can:- Edit — update the name, key, or points amount
- Toggle — pause a trigger temporarily (calls while inactive return
403) - Delete — permanently remove a trigger (existing point events are retained)
Using triggers from your app
Once a trigger is configured, call the API from your backend to credit points:Best practices
Fire triggers server-side only
Fire triggers server-side only
Your API key must never be exposed in client-side code (browser, mobile app). Always call the API from your backend or a server-side function.
Use specific trigger keys
Use specific trigger keys
One key per meaningful action (
purchase_completed, level_up, referral_accepted) makes your activity feed readable and your analytics useful.Use the inactive toggle for maintenance
Use the inactive toggle for maintenance
If you need to pause point accumulation temporarily (e.g. during a season reset), toggle the trigger off rather than deleting it.
Watch for loops
Watch for loops
If your app reacts to point events and fires more triggers, you can create an infinite loop. The API enforces a rate limit of 10 calls/min per (key + wallet + trigger) as a safety net, but design your event flow to avoid it.