SuccessFactors Learning and Microsoft Teams VLS Integration
The SuccessFactors Learning community rejoiced with a new feature introduced in the 2H 2021 release. In November 2021, Microsoft Teams was added as a Virtual Learning System (VLS) vendor available to integrate with the Learning module joining the already supported and well-known virtual meeting platforms such as WebEx and Adobe Connect.
A VLS integration in SuccessFactors Learning enables learning administrators to easily create and schedule training sessions to be delivered in virtual meeting rooms directly from the LMS. Setting up the Teams integration involves two sets of activities that are performed in the Microsoft Azure portal and in the SuccessFactors Learning module. The technical set up in Azure must be completed first before the set up in LMS can take place.
Microsoft Azure Portal setup:
Register the Application
- Login to your Azure portal
- Go To Azure Active Directory -> App Registrations
- Select New Registration and Add a Name for the Application e.g. SuccessFactors_Learning
- Select “Accounts in this organizational directory only (TALENTEAM LTD only – Single tenant)” or “Accounts in any organizational directory (Any Azure AD directory – Multitenant)” based on your setup type
- Redirect URI can be left blank.
- Click on Register
- Copy the Values for Application (client) ID and Directory (tenant) ID to the supporting excel provided
Generate a Client Secret
- On the Overview Screen for your App Registration, Click on Client Credentials: Add a certificate or Secret
- Click on New Client Secret, provide a description and expiration
- Please note that the integration will stop working when the client secret expires so look at options to either have a longer expiry periods (align with IT Security Policies) or ensure processes are in place to renew/extend the certificate expiry and update SuccessFactors Learning with the new details.
- A New Client Secret will be generated. Copy the Value and Secret ID to the Excel Spreadsheet provided. Please note that the secret value is usually masked after you move away from the page. If you don’t copy it upon generation, you may not be able to retrieve it and will need to generate a new one.
Set Microsoft Graph API Permissions
- On the App Registration screen, Click on API Permissions from the left menu and click on Add a Permission
- Choose Microsoft Graph -> Application Permissions
- Add the following permissions
- OnlineMeetings.ReadWrite.All – This is required to setup meetings on behalf of the user
- User.Read.All – This is required to link instructor accounts with Users in Teams
- OnlineMeetingArtifact.Read.All – This is of type application permissions which are required to fetch online meeting artifacts.
- Once the permissions have been added, click on Grant Admin consent for “Company Name”
- The status column should change to a green tick with the message “Granted for Company name”
Configure the Application Policies for Application Authentication.
The CsApplicationAccessPolicy policy controls which users the integration can act on behalf of. It is important that the integration can act on behalf of instructors so that it can retrieve meeting attendance information. To complete these steps, you must be an admin with admin access to Microsoft Teams and have access to PowerShell 5.1 or later.
- Open PowerShell
- *Run Command “Connect-MicrosoftTeams”
- An authentication window may appear where you have to provide your Teams/Azure login details.
- *Create a policy for the app registration with the following command
New-CsApplicationAccessPolicy -Identity <Policy_Name> -AppIds “<App_ID from Step1” -Description “<Description>”
New-CsApplicationAccessPolicy -Identity SFLearning -AppIds “44eea86e-d1e0-4ac9-9132-4e07b80e418c” -Description “SFLMSVLStoTeams”
- Assign the policy to all users or specific users. Given the setup requires an Azure/Teams Admin Involvement, it may be worth enabling this for all users that your IT policies permit for.
- *All Users (Global Policy)
Grant-CsApplicationAccessPolicy -PolicyName SFLearning -Global
|Set-CsApplicationAccessPolicy -Identity “Global” -AppIds 33a2b0b6-ef65-46ea-922e-4fbfeda8198b
- *Specific Users (Individual Policy) – to be run for each instructor
Grant-CsApplicationAccessPolicy -PolicyName SFLearning -identity “email@example.com”
- The above commands will be automatically generated by the Excel Spreadsheet based on the inputs entered earlier.
* Each of the commands are automatically generated in the Excel Workbook attached. You can simply copy paste the commands into PowerShell
SuccessFactors Learning setup:
Enable VLS in LMS
- Navigate to System Administration > Configuration > System Configuration > LMS_ADMIN
- Change/confirm the setting ‘vleEnabled=’ to true
Add Teams VLS Configuration File
- Download the latest version of the VLS configuration template for MS Teams. This is available on the SAP Help portal (see ‘Additional Resources’ section below for a direct link to the SAP guide).
- Insert the required customer-specific information obtained from the Azure portal set up to the Teams configuration file template.
- Navigate to System Administration > Configuration > VLS Configuration and copy/paste the xml as a new VLS configuration file and save.
- Add Instructor VLS Settings
- Navigate to People > Instructors and insert the Account ID in the ‘VLS Settings’ tab on each instructor record that should have access to the Teams VLS server.
- The Account ID would be the instructor’s email address and a password is not required.
- Select the ‘Use Existing Account’ radio button and apply the changes.
The LMS is now ready for use with Teams VLS!
The SuccessFactors Learning Experience:
Once the necessary configuration steps are completed as documented above, Learning admins have the ability to select the Teams VLS server for the classes which are planned to be delivered virtually during the class creation process. This automatically creates the virtual meetings in Teams. As admins update the time slots at the class level, this also updates the virtual sessions in Teams. This eliminates the need to perform these tasks in Teams and lessens the admin burden on training delivery.
Listed below are the key features of the integration:
- Maintenance of the registration list in Teams based on the user registrations and withdrawals in the LMS.
- Ability for instructors to launch the virtual sessions directly from their My Classes area.
- Ability for users to join the virtual sessions directly from their My Assignments tile.
- Ability to automatically record learning events for the virtual trainings based on the attendance in the virtual sessions. Admins must enable this on the class level and the VLS Attendance Processing APM must be scheduled to run in the customer’s environment.
Additional Resources – S-User ID login is required:
SAP VLS Configuration Guide – this document also contains the link to download the VLS configuration file templates
Knowledge Base Article for Microsoft Teams VLS – this article provides links to other Microsoft resources and articles for the Azure portal set up.
- Please note that the setup steps included here may vary from the steps provided by SAP but the steps included above seems to have worked during our repeated testing
- At the time of posting this blog, we were able to test this successfully in SalesDemo Environments, DC23, DC22 and DC4. It appears that there may be data center specific challenges you may run into and the best course is to get in touch with SAP support for help.
- We’ll soon be updating this with some FAQs as well based on the questions asked during the session
If you need further support, you can also ask us about one of our flexible support contracts where we can help with this and anything else to do with SAP SuccessFactors!