No Software is an Island Eoghan Quigley Published on May 18, 2017 When choosing an LMS or any other software application, it is important to ensure you can access the data it creates and hosts. It is also important that you can share that data with other systems when needed. In this post, we explain the difference between a productized integration and one created with the use of an API. If you are implementing an LMS currently you may be leafing through feature pages and reviewing answers to an RFP - “Can you integrate the system with something like our HR system or our CRM?”,“Do you have an API?” Let’s take a look at what an API is, and how it can help share data across two systems. The goal is to choose an Integrated LMS. Using a two-way API An API is a connection point for data exchange. If both systems have an API endpoint, a developer can write a script/app to act as a middleware. Middleware is sometimes referred to as ‘software glue’ and it allows two systems to communicate - essentially one will push or pull data from the other. In our example of the integration with a HR system (HRIS to be more accurate) you could use this to populate the LMS with users - a push, and then to pull out data for reporting purposes. The API call is initiated at set intervals and ‘tries’ to synchronize the data in both apps - in practical terms the API call will push users into the LMS, creating them. (does this person exist in the LMS? if not- create them, if so -update them). User creation might well happen on demand, while your pull of data (e.g. transcript data exports) can happen on an interval basis, maybe every day at midnight you extract the data to HRIS from your LMS and crunch the data ready for reporting usage. Push information (into the LMS) Every system is different but usually, a user will be anchored with a unique identifier, perhaps an email address - that is the ‘user’. Further information will also be carried over so long as the fields in each system exist. The developer will examine both systems and then decide which information will be carried over. For example - the email field in the HR system will be the unique identifier and the rest of the profile will be built from additional information chosen; first name, last name and other profile information. On the LMS side - custom fields can be set - team, department, level etc. Sample information: Johndoe@companyemail.com First name: John Last name: Doe Custom field 1: Sales Custom field 2: EMEA Pull information (out of the LMS) Once your users have been using the system and you want to have reports available in the other system, you can pull out such data in an API call (also called a request). The HRIS will ‘pull’ out the information as designed by the developer and furnish the user's profile in the HR system with their training history, course history, certificates etc. This can be important in terms of the consolidation of records, convenience etc. The other important factor of this is that the pull of data is automated and streamlined, giving you a form of automatic data sync and reporting features back in your HR app in this case. Why is this important? It aids convenience, scalability and removes the chance of duplication or the requirement of reconciliation. If you are a large organization then it is advisable to create such an integration. A small amount of work by a competent developer can save a lot of work for your organization over the course of your use of the LMS, especially. Other actions can be performed also such as enrollments and placing users into specific groups/teams. How to set up an integration with a software’s API? Get a member of your technical team to Review the API documentation on both systems Decide what information you want to synchronize Decide what actions are to/can occur regularly Write Middleware (a piece of code that translates the information between the two systems) Implement! Productized integrations This type of integration is slightly different - the integration of the two systems has been carried out by the LMS themselves and there is no technical work required from you. All you need to do is to set up the integration within the LMS’s settings by following the steps laid out. For example, if you want to integrate LearnUpon with your GoToWebinar Account you simply click through the on-screen navigation in your LearnUpon portal and give permission for the two systems to integrate. The outcome here is that the data around webinar attendance is communicated to the LMS for reporting purposes so as to feature on the user’s course record - this person attended the webinar module. In other words, LearnUpon, in this case, is acting as both your LMS and the middleware we spoke of above. The middleware code is already built by your LMS provider and carries out the data push/pull to the third-party for you. API versus Productized integrations Our API allows for the integration of nearly any HR system or CRM system (so long as they have an API). Creating productized integrations is a balance of demand, time and resources. We created a productized integration with Salesforce because of the demand from our customers and the fact that it is so ubiquitous as a CRM. Other productized LearnUpon integrations include: Payment/Shopping cart platforms: Paypal, Stripe, and Shopify Webinar tools such as Gotowebinar, GoToMeeting, Adobe Connect, Webex Social networks: Twitter and Linkedin (certificates) We have much more productized integrations planned for the future. Webhooks If you would like to be notified of an event in 'real time' you can do so by using webhooks. Webhooks are like push notifications on your phone. If you receive a message and you have notifications on the phone that notify you as the message is received. So if you choose to use webhooks, your developer will be able to set up a simple script or piece of code which allows you to 'look out for' an event occurring. If, for example, a course is completed the LMS uses the webhook to send out a notification instantly. Who completed a course Which course was completed When the course was completed What score they achieved. You can decide the information being sent across and then build that information into much more than just notifications. This allows you to build comprehensive real-time reports if needed. Get the benefits today With productized integrations for some of the most commonly used software platforms on the planet and a two-way API to connect LearnUpon with everything else - your LMS will never sit in isolation. Simplify Your Training Delivery Today Train your employees, partners, and customers with LearnUpon. The powerful learning management system that has the features and a knowledgeable team you need to achieve training success. Get your free trial and demo today!