Skip to main content
Automation lets you connect your application to Rewards. Instead of managing points manually in the dashboard, your app fires events via the API and points are credited automatically.

Triggers

A trigger defines a named event and the number of points it awards.
FieldDescription
Event nameHuman-readable label displayed in the dashboard (e.g. “Craft artifact”)
Trigger keyThe identifier used in API calls — lowercase, numbers, underscores only (e.g. craft_artifact)
PointsFixed number of points awarded each time the trigger fires
ActiveToggle to enable/disable the trigger without deleting it

Creating a trigger

  1. Dashboard → AutomationNew trigger
  2. Fill in the event name, trigger key, and points amount
  3. The trigger is active immediately
The trigger key is sanitized automatically: spaces become underscores, uppercase is lowercased, special characters are removed.

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:
curl -X POST https://api.rewards.so/trigger \
  -H "Authorization: Bearer rw_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "triggerKey": "craft_artifact",
    "walletAddress": "0xabc123...",
    "pointSystemId": "your-point-system-uuid"
  }'
See the full Triggers API reference for rate limiting, error handling, and code examples.

Best practices

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.
One key per meaningful action (purchase_completed, level_up, referral_accepted) makes your activity feed readable and your analytics useful.
If you need to pause point accumulation temporarily (e.g. during a season reset), toggle the trigger off rather than deleting it.
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.