Creating an Advent calendar using RapidMule gamification platform

An Advent calendar is a special calendar used to count the days of Advent in anticipation of Christmas. Since the date of the First Sunday of Advent varies, falling between November 27 and December 3 inclusive, many Advent calendars, especially those that are reusable, often begin on December 1, although those that are produced for a specific year often include the last few days of November that are part of the liturgical season. The Advent calendar was first used by German Lutherans in the 19th and 20th centuries.

Advent Calendar tradition is an engaging way to celebrate Christmas. Today’s digital world found out new use cases for the Advent calendar. It’s a great way to engage your customers, promote new products or features, and of course, boost your sales.

Developing an Advent calendar with multiple daily conditions and dynamic prize distribution structure can be a time-consuming task for any engineering team.

This is where RapidMule can come to your help. RapidMule is a cloud-based customer engagement and gamification platform, providing badge, trigger, condition and user levelling features.


Before diving into details, it’s crucial to introduce the tools we will use.

Actions are the key item for all features of the RapidMule. We need to define actions like login, order, visit, deposit, or withdraw to initiate conditions calculations.

Conditions can be bound to badges or triggers to define their calculation structure.

Deliverables are custom outputs that can be utilized as rewards or notification needs.

Triggers, as the name states, can be triggered by meeting defined conditions and deliver prizes, notifications, or content to the user.

First step: Planning Advent Calendar

Let’s plan our advent calendar. First of all, we will distribute one reward per user for the duration of 25 days, starting on the 1st of December and ending on the 25th of December.

Daily conditions will be logging in and at least $20 of deposit. When users meet the conditions we will reward them daily with a random deliverable. If the user logs in and deposits 25 consecutive days then we will deliver a special reward.

Defining actions

Our conditions require logging in and deposit, so we need to define these 2 actions.

For “login” action we won’t need any action objects, so details set on this screen will be sufficient.
For “deposit” action, these details will not be sufficient since Advent calendar will use deposit amount in one of the conditions which will be defined in the action objects page.
Action objects are basically defined as dynamic attributes of the actions. In our conditions, we will use the deposit amount, but there is no harm to define extra action objects.

Creating deliverables

For the Advent calendar, we will create 4 types of deliverables; Discount, Free Delivery, Premium Account, and Gold coin.

A deliverable can be of the 3 types; Prize, Notification, and Content, like banners or pop-ups.

Creating the Advent Calendar Trigger

Setting up the Advent calendar trigger is pretty straightforward, we just need to set the dates and set the “Randomized Deliverable” option as true. This option defines that the trigger can only distribute one random deliverable, which we will explain shortly.

We are defining this trigger as ranked, so each time the conditions are met user will achieve the new level of the trigger, which will come in handy while we define the deliverables.

Setting up the conditions

Our Advent calendar will reward a random deliverable if the user logs in and deposits at least $20 every day. In order to achieve this, we will define the conditions as follows:

Adding random deliverables

Remember that we’ve created this Advent calendar trigger with the “Randomized Deliverable” option selected. When the user achieves the conditions system will reward one of the deliverables based on the probabilities.

Take note that probabilities do not sum up to 100, the system uses all deliverables’ probabilities to create a weighted collection and pick a random one based on its probability.

Enabling deliverables based on the trigger level is another feature of the RapidMule deliverable system. In our example, if a user reaches the 25th level, meaning login and deposit every consecutive 25 days of December, then earning a 7-day premium account is near certain.

We can add 10, 25 or 50 percent discounts using one base deliverable “Discount Advent”


Creating promotions or CRM campaigns based on real-life traditions is a great way to connect with your customers. The Advent calendar is just a simple example that can be created with the RapidMule platform. Currently, it’s in the alpha stage, however, if you’re interested please get in touch via sending an email to

Comments are closed.