Deliverables
Deliverables are the actual rewards players receive when they earn Badges or Triggers. While Badges and Triggers define what was achieved, Deliverables define what the player gets.
Think of it this way:
- Badge/Trigger = Achievement ("You're a VIP now!")
- Deliverable = Reward ("Here's 500 bonus points + free shipping")
What are Deliverables?
Actions, Badges, and Triggers can have one or more Deliverables attached to them. When a Badge is awarded or a Trigger fires, all attached Deliverables are issued simultaneously.
A single Badge can have multiple Deliverables:
Badge: "VIP Customer"
Deliverables:
1. Prize: 500 bonus points
2. Content: Display "🎉 Welcome to VIP!" popup
3. Notification: Signal backend to unlock premium features
The 3 Types of Deliverables
RapidMule has 3 types of deliverables, each serving a different purpose:
Prize
Prizes are rewards, either physical or virtual, that players receive as a form of acknowledgement, motivation, or incentive for their achievements.
Example: A virtual currency named "Gold coin" or a custom hoodie with your company logo.
Purpose: Tangible rewards that players accumulate or redeem
Content
This type of deliverables can be used to display special banners, pop-ups, or any other "content" to the players when an action is received or trigger conditions are met.
Example: You can set up a trigger for every 10th login of the player to display a reminder notification for a future event.
Purpose: Instructions for your frontend to display UI elements
Notification
Notification type can be used to deliver messages to your backend system. This feature can be utilized to set up very useful flows within your application.
Example: An A/B test can be defined with a "Unlock chat feature" notification. Your system toggles the chat feature only for the players who received this notification.
Purpose: Instructions for your backend to take action
Prize Deliverables
Prizes are accumulative rewards that players collect in their inventory. They can be:
- Virtual currency (coins, gems, points)
- Physical items (merchandise, tickets, gift cards)
- Redeemable vouchers (free shipping, discount codes)
How Prize Deliverables Work
When a Prize Deliverable is issued, it's added to the player's inventory. You can query the Player API to see all prizes a player has accumulated.
Configuration Example:
Badge: "First Purchase"
Deliverable: Prize
Label: "Welcome Bonus"
Amount: 100
Type: "Coins"
Custom Properties:
currency_type: "gold"
expiration_days: 90
API Response:
{
"deliverables": [
{
"amount": 100.0,
"label": "Welcome Bonus",
"type": 1, // Prize type
"imageName": "https://example.com/coin-icon.png",
"details": [
{ "label": "currency_type", "value": "gold" },
{ "label": "expiration_days", "value": "90" }
]
}
]
}
Player Inventory:
{
"inventory": [
{
"label": "Gold Coins",
"uid": "gold-coins",
"balance": 100,
"imageName": "https://example.com/coin-icon.png",
"details": [
{ "label": "currency_type", "value": "gold" }
]
}
]
}
Common Prize Use Cases
- Virtual Currency: Points, coins, gems
- Vouchers: Free shipping, discount codes
- Merchandise: Physical items (concert tickets, company swag)
- Premium Access: Time-limited subscriptions
- Exclusive Content: Downloadable assets, early access
Content Deliverables
Content Deliverables tell your frontend what to display to the user. They're instructions for your UI, not rewards to accumulate.
How Content Deliverables Work
When a Content Deliverable is issued, your frontend receives structured data about what to show:
Configuration Example:
Trigger: "Habit Formed"
Deliverable: Content
Label: "Habit Celebration"
Custom Properties:
popup_type: "celebration"
title: "🎉 Habit Formed!"
message: "You've worked out 5 times in 7 days!"
animation: "confetti"
cta_button: "View Progress"
cta_link: "/dashboard/progress"
API Response:
{
"deliverables": [
{
"amount": 1.0,
"label": "Habit Celebration",
"type": 2, // Content type
"imageName": null,
"details": [
{ "label": "popup_type", "value": "celebration" },
{ "label": "title", "value": "🎉 Habit Formed!" },
{ "label": "message", "value": "You've worked out 5 times in 7 days!" },
{ "label": "animation", "value": "confetti" },
{ "label": "cta_button", "value": "View Progress" },
{ "label": "cta_link", "value": "/dashboard/progress" }
]
}
]
}
Common Content Use Cases
- Achievement Popups: "🎉 New badge earned!"
- Progress Notifications: "You're 3 purchases away from VIP!"
- Milestone Celebrations: Confetti animations, special screens
- Event Banners: "Weekend sale unlocked for VIP members"
- Motivational Messages: "Keep it up! You're on a 7-day streak"
- Onboarding Tips: "Complete 5 more actions to unlock..."
Notification Deliverables
Notification Deliverables tell your backend what action to take. They're webhooks/signals for internal system logic, not visible to players.
How Notification Deliverables Work
When a Notification Deliverable is issued, your backend receives structured data about what to do:
Configuration Example:
Trigger: "VIP Status Achieved"
Deliverable: Notification
Label: "Unlock Premium Features"
Custom Properties:
feature_unlock: "premium_dashboard"
tier: "vip"
send_email: "vip_welcome"
analytics_event: "user_became_vip"
grant_permissions: ["advanced_analytics", "priority_support"]
API Response:
{
"triggers": [
{
"uid": "vip-status-trigger",
"label": "VIP Status Achieved"
}
],
"deliverables": [
{
"amount": 1.0,
"label": "Unlock Premium Features",
"type": 3, // Notification type
"imageName": null,
"details": [
{ "label": "feature_unlock", "value": "premium_dashboard" },
{ "label": "tier", "value": "vip" },
{ "label": "send_email", "value": "vip_welcome" },
{ "label": "analytics_event", "value": "user_became_vip" },
{ "label": "grant_permissions", "value": "advanced_analytics" }
]
}
]
}
Common Notification Use Cases
- Feature Unlocks: Enable premium features, advanced tools
- Tier Upgrades: Change user tier/status (Bronze → Silver → Gold)
- Permission Grants: Moderator privileges, admin access
- Email Triggers: Send welcome, congratulations, reminder emails
- Analytics Events: Track milestone achievements
- Webhook Calls: Notify external systems (CRM, marketing tools)
- Internal Alerts: Support team notifications, risk alerts
- A/B Test Segmentation: Assign users to experiment groups
Custom Properties: The Power Feature
Every Deliverable can have custom properties - key-value pairs that you define. This is what makes Deliverables incredibly flexible.
Custom properties let you pass ANY data you want to your frontend or backend. They're the bridge between RapidMule's rules and your application's logic.
Examples of Custom Properties
Prize Example:
{
"label": "VIP Voucher",
"type": 1,
"details": [
{ "label": "voucher_code", "value": "VIP2025" },
{ "label": "discount_percent", "value": "20" },
{ "label": "valid_until", "value": "2025-12-31" },
{ "label": "min_order_value", "value": "100" }
]
}
Content Example:
{
"label": "Level Up Animation",
"type": 2,
"details": [
{ "label": "animation_type", "value": "level_up" },
{ "label": "new_level", "value": "5" },
{ "label": "sound_effect", "value": "fanfare" },
{ "label": "duration_ms", "value": "3000" }
]
}
Notification Example:
{
"label": "Risk Alert",
"type": 3,
"details": [
{ "label": "alert_type", "value": "fraud_detection" },
{ "label": "risk_score", "value": "high" },
{ "label": "notify_team", "value": "security" },
{ "label": "auto_action", "value": "freeze_account" }
]
}
Multiple Deliverables Pattern
The real power comes from combining multiple Deliverable types on a single Badge/Trigger:
Example: Complete User Experience
Badge: "Elite Customer"
Type: OneTimeOnly
Deliverable 1: Prize
Label: "Elite Bonus Package"
Amount: 1000
Custom Properties:
currency: "points"
bonus_type: "elite_welcome"
Deliverable 2: Content
Label: "Elite Welcome Screen"
Custom Properties:
popup_type: "elite_celebration"
title: "Welcome to Elite Status!"
message: "You've unlocked exclusive perks"
animation: "gold_confetti"
show_perks_list: true
Deliverable 3: Notification
Label: "Upgrade to Elite Tier"
Custom Properties:
tier_upgrade: "elite"
unlock_features: "priority_support,advanced_analytics,exclusive_offers"
send_emails: "elite_welcome,elite_perks_guide"
analytics_event: "user_became_elite"
When this Badge is earned:
- Prize: Player gets 1000 points in their inventory
- Content: Frontend shows celebration popup with perks list
- Notification: Backend upgrades tier, unlocks features, sends emails, tracks analytics
All happens automatically! 🎉
Deliverable Design Patterns
Pattern 1: Immediate Gratification
Badge: "First Purchase"
Deliverables:
- Prize: 50 bonus points (instant reward)
- Content: "Thank you!" popup (instant feedback)
Pattern 2: Progressive Unlocking
Rank 1 Badge: "Contributor"
Deliverables:
- Prize: 10 points
Rank 3 Badge: "Active Contributor"
Deliverables:
- Prize: 50 points
- Notification: Unlock "Edit Others' Posts"
Rank 5 Badge: "Expert Contributor"
Deliverables:
- Prize: 200 points
- Notification: Unlock "Moderator Privileges"
- Content: "You're now a moderator!" popup
Pattern 3: Silent Automation
Trigger: "At-Risk User" (invisible)
Deliverables:
- Notification: Send re-engagement email
- Notification: Add to "Churn Prevention" segment
- Notification: Offer 20% discount (no UI changes)
Pattern 4: Full Experience
Badge: "Habit Formed" (visible)
Deliverables:
- Prize: 100 points
- Content: Celebration animation
- Notification: Unlock advanced features
- Notification: Send congratulations email
- Notification: Update user tier
Best Practices
For Prizes
- Be generous but balanced - Reward effort appropriately
- Use expiration dates - Create urgency for redemption
- Track balances - Query Player API to show current inventory
- Make them spendable - Create reward shops/redemption systems
For Content
- Keep messages short - Mobile-first design
- Include CTAs - "View Progress", "Claim Reward", "Learn More"
- Use animations sparingly - Celebrations, not annoyances
- Test across devices - Ensure popups work on mobile/desktop
For Notifications
- Be specific - Clear instructions for backend actions
- Include context - Pass all necessary data
- Handle errors - Backend should gracefully handle missing data
- Log everything - Track when notifications fire
- Test thoroughly - Notification bugs affect real features
Next Steps
- Learn how Badges & Triggers issue Deliverables
- Understand Conditions that determine when Deliverables are awarded
- See Deliverables in action in our Guides
- Explore the Player API to query inventory and prizes