About the Client

The Singapore based next-generation performance management systems company, they use augmented analytics, AI and behavior science to engage, enable and empower enterprises and employees to their aspirational future performance.

The platform is based on institutionalizing the alignment of strategic, operational and people targets using an intelligent ‘goal alignment’ framework.

The platform aids people to translate information to insight that enables them to take the right actions, at the right time, collaborating with the right teams, with the right skills and in the right place.

The platform uses augmented analytics and behavior science, to enhance performance, leading to personal growth and organizational success.

About the Project

A Key Performance Indicator (KPI) is a measurable value that demonstrates how effectively a company is achieving key business objectives. 

Organizations use KPIs at multiple levels to evaluate their success at reaching targets.

High-level KPIs may focus on the overall performance of the business, while low-level KPIs may focus on processes in departments such as sales, marketing, HR, support and others

Key Performance Indicator Software Platforms offer a focused approach to develop, manage and evaluate businesses using KPI data.

Conventional data entry models using spreadsheets and manual reviewing processes often lead to errors in analyzing actual performance.

This platform offers a system based on intelligent data entry models and data analysis tools.

The greater accuracy and faster data collection model in a KPI software generates alerts underperforming and it can generate analysis reports with actionable insights for performance boosting.

Businesses can customize their KPI software platform outcomes by focusing on their specific needs like revenue generation, products sold or integrating the software for a better business strategy and overall employee well-being. 

Microsoft Teams improves employee communication, productivity, and teamwork by integrating all forms of collaboration into one single user interface – this includes, chats, documents, shared files, meetings, etc.

It even allows team members to communicate with popular features like emoticons and GIFs.

Integrating this platform with Microsoft Teams enables a better performance management system for users.

The dashboard inside MS Teams tab application and notifications via chatbot will be integrated for greater convenience to manage the enterprise performance and to enable more personalized user experience. 

This platform needed MS teams integration to enhance the following features of it;

  • Strategy Map 
  • Performance Programs 
  • Objective Key Results 
  • Key Performance Indicator 
  • 3600 Feedback 
  • Employee Scorecards 
  • Ratings and Calibration 
  • Employee Hub 
  • Announcements 
  • Check In, Call In, Meet In & Coach in 
  • Task Management 
  • Dashboards 
  • Insights and Nudges 
  • Missions 

Challenges

Integrating data in this platform with Microsoft Teams will enable better accessibility for users.

As most teams are now working remotely, Microsoft teams have been getting adopted at a much faster rate in organizations.

This platform needed to integrate both MS Teams and their KPI analytics software platform at a single place with the help of Team Perfomatix.

While integrating MS Teams and existing Performance Analytics platforms, we were able to successfully handle the challenges that came with it. The various challenges are listed below;

Scalability

  • The application has to be internet scalable, out of the box is horizontally scalable. With minimal to no usage disruption the platform can horizontally scale.

Highly decoupled architecture and support for multi-tenancy

  • The highly decoupled nature of the application allows easy switching of products without major rewriting.
  • The application environment supports multi-tenancy. We also have multiple environments in different locations of the world. The Node.JS application needs to map requests to the appropriate environment as well and hence support the multi-tenancy architecture of the client’s applications.
  • There should be a very easy method of configuration and deployment for each customer of the client which subscribes to MS Teams integration.

Minimum Platform dependency

  • It is very important to reduce the platform dependency, to allow easy portability to any cloud of on-premise/cloud infrastructure in the future.

Future proof

  • The design of the platform has to be keeping in mind the future roadmap and user requirements.

Open Source

  • All the products/services used in the platform are either open source or pay as you go. This will minimize the running cost and maintenance of the platform.

Implementation

Data integration between two platforms requires a fool-proof approach from user login to security features of the integrated application.

We were able to cover the different aspects of this platform integration with attention to detail. The different features of the integrated platform was implemented as listed below;

Login- SSO Integration

  • Ability of the user to login using platform credentials into MS Team tab application using Single sign-on (SSO) integration.
  • Seamless login from MS teams login  to the application, MS Team and the platform will be integrated to same SSO.

Dashboard

  • Capability for the user to view the platform dashboard by clicking the links pointing to app dashboard in the MS teams Chat / Channel

User / Roles Accessibility

  • All KPISoft’s customer employees who have access to KPISoft application should be considered under the user/roles accessibility
  • It is assumed that the Customer has subscribed to MS Teams integration as part of the contractual scope with the client.

Notifications and Insights 

  • Application driven push notifications (Things to Know & Things to Do cards) and Insights cards should be delivered to relevant user in Teams Chat or a Team Channel by consuming the API from NodeJS middleware

Notification-Chatbot  Integration

  • Notifications will be displayed as rich chatbot messages
  • Show client notifications in the MS TEAMS chat box window
  • Notifications can be text messages or card type messages like Insight Cards and Things to Know and also supports image (High charts), Embedded images, text and simple HTML controls as predefined based on MS capabilities
  • Card type notifications such as youtube links, files to be included 
  • Notification supports link based attachment. Ability to download the attachments from the link if the file is available to be downloaded from the browser
  • Single/Multiple link buttons can be integrated in the message cards 
  • Notifications will be deep linked to the tab app

Static contents

  • Static descriptions will be displayed for the following pages. The content and formatting of the below pages will be provided by the client and the content will be displayed as it is in the current version.

Teams Tab App 

  • Users should be able to add the client application bot into a chosen chat or channel in MS Teams.
  •  Users should be able to seamlessly access and use the application in the Teams Tab once the user adds the application into the tab.

Messages

  • Ability to view messages in the chat screen
  • Type in and send a message
  • The middleware will consume the data from API and render insight snapshots required for notification

Security

  • All the Components developed for MS Teams integration has to be with enterprise grade cloud / on premise security with application security, infrastructure security, data (at rest and in transit) security and network security
  • All the application infrastructure (app servers, DB, etc) will be within private VPS and access control restricted via platforms access privileges of the Cloud/On premise
  • All communications will be via secure communication using HTTPS / SSL. Between NodeJS and the client platforms in an environment, the API calls should be secured with (at least) Basic Authentication. For different client app environments, different Basic authentication credentials will be used.
  • If required API gateways can be used for additional fine-grained controls.

The Solution

After analyzing the requirements, Team Perfomatix derived a high-functioning solution for the integration of the client platform in MSTeams;

  • Configuration data of NodeJS applications can be stored in MongoDB. 
  • The  Node.JS middleware component should be seamlessly scalable, aligning to the client app application scalability and concurrent active users.
  • All the application  infrastructure (app servers, db etc) will be within private VPS and access control restricted via platforms access privileges of the hosted cloud.
  • All communications will be via https.
  • REST API endpoints are secured using SSO .
  • If required API gateways can be used for additional fine-grained controls.
  • In addition, penetration testing can be performed by our internal QA team, or we can engage 3rd party vendors for certifications if any is required.

Solution Architecture

Solution Architecture diagram

Technology Stack Used

Module Recommended Technology Stack
Backend NodeJS
Database MongoDB

Looking for a similar App ?