How RapidMule Works
RapidMule turns your app’s events into gamified outcomes. Send user Actions → evaluate with Rules → issue Rewards & Deliverables.
Architecture Overview
RapidMule is a rules engine designed to turn any user event from your application into a meaningful gamification outcome. The entire system operates on a simple, continuous cycle: you send us user Actions, our engine evaluates them against your Rules, and we issue the resulting Rewards and Deliverables.
This entire flow can be visualized as a clear data path from your system, through RapidMule, and back to your application logic.
Let's break down each step of this process!
1. An Event Occurs in Your Application
Every gamification journey starts with an action taken by a user inside your product. This can be anything you want to measure and reward, such as:
-
A user completes a purchase.
-
A user logs in for the 7th consecutive day.
-
A user uploads a profile picture.
-
A user's deposit is successfully processed.
This event happens in your environment. The next step is to inform RapidMule about it.
2. Your Backend Sends an Action
Once an event occurs, your server-side application sends a structured Action to the RapidMule API. This is the primary input for our system. An Action consists of the playerId who performed it, a name for the action, and optional details that add rich context.
For idempotency, every Action should include a unique referenceId.
Here’s an example of a purchase action being sent to our API:
// POST /v1/action/process
{
"name": "purchase",
"referenceId": "order-f4a7c1b9-3e5d",
"playerId": "user-b4c3-4f9e-a8a5",
"details": [
{
"name": "amount",
"value": "59.99"
},
{
"name": "currency",
"value": "USD"
},
{
"name": "category",
"value": "apparel"
},
{
"name": "items_count",
"value": "3"
}
]
}
This single API call is the backbone of the integration. You are telling RapidMule that a specific player performed a specific action with specific attributes.
3. RapidMule Takes It From Here
Once your Action lands in our system, you can sit back and relax. RapidMule automatically evaluates every event against the goals you've set up - no manual tracking, no complex logic in your codebase.
Think of it as your silent partner that never forgets:
- Tracking progress? Done.
- Remembering who did what, when? Handled.
- Deciding if a milestone is hit? Already figured out.
You define the rules once in your dashboard. RapidMule takes care of the rest, quietly working in the background to turn user activity into meaningful achievements.
4. You Get the Good News
When a player crosses the finish line, RapidMule springs into action. The moment someone completes a goal, we instantly issue the rewards you've configured - whether that's a shiny badge, bonus points, or a behind-the-scenes trigger for your backend.
Here's what you can reward players with:
-
Badges: Visible trophies that show up in their profile (e.g., "Power Shopper" badge).
-
Triggers: Silent signals sent to your system to unlock features, update segments, or kick off custom logic (e.g., a "VIP Customer" trigger that upgrades their account tier).
And the best part? You can attach multiple types of deliverables to a single achievement:
Prize
Virtual currency, points, or a real item (e.g., "100 Gems").
Content
Ask the client to display a banner, popup, or contextual message.
Notification
Send a webhook to your backend to synchronize features, segments, or permissions.
Putting It All Together: A Real-World Example
Let's walk through a complete scenario to see how these pieces connect.
Goal: You want to award a "Loyal Depositor" badge and 500 bonus points to users whose total deposits exceed $1,000 in any 30-day period.
1. Setup (in your RapidMule Dashboard)
Here’s how you would configure the "Loyal Depositor" rule step-by-step directly in your RapidMule dashboard.
- 1. Create Badge
- 2. Add Deliverable
- 3. Define Condition
First, create a Badge that your players will earn.
- Name:
Loyal Depositor
Next, attach a Deliverable to the badge. This is what the player actually receives as a prize.
category: 'prize'
type: 'Bonus Points'
amount: 500
Finally, create the Condition that defines how the badge is earned. This rule will check for the total deposit amount over a time window.
action: 'deposit'
challenge type: 'Summed Amount Challenge'
detail to sum: 'amount'
target value: 1000
second challenge type: 'In A Time Period Challenge'
time window: '30 days'
2. The Flow in Action
-
Day 1: First Deposit A user makes a successful deposit of $400. Your backend sends the
depositaction to RapidMule.System Response: The engine logs progress for
player-xyz($400 / $1,000). -
Day 10: Second Deposit The same user deposits another $300. A second
depositaction is sent.System Response: The engine updates the cumulative sum for
player-xyz($700 / $1,000). -
Day 25: The Winning Deposit & Outcome The user makes a final deposit of $350. The third
depositaction is sent, and the engine immediately detects that the $1,000 threshold has been met. This triggers the following results:Badge Awarded: The "Loyal Depositor" badge is assigned to
player-xyz.Deliverable Issued: 500 "Bonus Points" are added to the player's account.
Closing the Loop: Your application can now query the Player API to reflect these changes in the UI or listen for a Webhook Notification to trigger custom backend logic.
What's Next?
Now that you understand how RapidMule works, see it in action:
🎯 Interactive Guides
- E-commerce Purchase Tracking - Build a complete shopping rewards system
- Habit Formation with Sliding Windows - Create flexible habit loops
- Social Engagement Rewards - Reward community contributions
- Leaderboard Competitions - Add competitive rankings
📚 Technical Deep Dive
- API Quickstart - Complete integration guide
- Player Management - Retrieve and manage player data