Skip to main content

Integration guide

Overview

The Mambo Platform allows you to add gamification to any 3rd party software. The platform operates as a backend system providing gamification functionality to systems such as: custom applications, learning management, project management, intranet portals, customer relationship management tools and any other software which allows integration.

Basic integration

The basic integration involves three separate integration points listed below.

1. User APIs

The target system into which the Mambo Platform is being integrated must keep its users in sync with the platform. This means that when users are created, updated or deleted in the target system, calls to the platform should be made to keep the users aligned.

For more information, see the Users API documentation.

2. Activities API

This API is used to track the behaviours your users are performing in the target system. There are generally two scenarios to deal with here:

Event system available

Some target software systems will have an internal event system which holds information about the events taking place. This can usually be tapped into and monitored for the behaviours which you wish to track.

To add flexibility in terms of future configuration, this could also be built into an administration screen for the target system which presents the administrator with a list of events from the target software and a list of behaviours from the Mambo platform. These can then be mapped dynamically through this new administration screen saving development time when you want to add new behaviours.

No event system

In this scenario you will need to identify where the behaviours are taking place and make a call to track the behaviour when it takes place. An ideal solution here would be to add a light event system to send this information to a central handler.

For more information, see the Activities API documentation.

3. Visualisation

Visualisation is a critical component of gamification, allowing users to see their progress, achievements, and rewards. The way you implement this depends on your integration goals:

Custom UI/UX

In most cases, the preferred option is to use the Mambo APIs directly and create a user interface that aligns perfectly with the product being integrated into. This approach:

  • Maintains consistency with your existing UI/UX
  • Provides greater flexibility for your specific use case
  • Creates a more seamless experience for your users
  • Allows for custom visualisations tailored to your domain

Ready-made widgets

Mambo provides ready-made web-based widgets that work well for pilot integrations or simple use cases. These widgets include:

  • Profile displays
  • Point and achievement summaries
  • Notifications
  • Leaderboards
  • Activity streams

These widgets can be customised with different colour schemes to better match your application's look and feel.

For more information, see the API documentation for:

Advanced integration

Below you will find some additional integration and configuration scenarios you may want to implement using the Mambo Gamification Platform's APIs and configuration options.

1. Advanced activities APIs

These APIs are used to perform operations related directly to points, coupons and users. See the Activities documentation for details.

2. Mobile interface

Interfaces for mobile devices are left in your hands as these will need to be custom fitted for each different use case.

3. Configuration APIs

The APIs used to configure the game mechanics are also available through the Mambo SDKs or through custom SDKs. This means that if you would like to integrate some configuration aspects into the target software's interface, you can do so.

4. Behaviour mapping

In the case where target software systems have an internal Event System (see above), the Behaviour APIs can be used to retrieve the list of behaviours from the Mambo platform. These can then be displayed in the target system in a custom administration screen, allowing them to be mapped to events being raised in the target software. This makes adding new behaviours to the target software much simpler and removes the need to manually code the new behaviours into the target software.