Skip to Content
Technical Articles
Author's profile photo Krishna Vardhani Chamarthy

ZOOM VLS integration with SuccessFactors Learning

Work from Home has made organizations look for ways to engage employees remotely through virtual training and one of the functionalities of SuccessFactors Learning, Virtual Learning Services (VLS) played a big role in helping organizations achieve this.

In SuccessFactors Learning, VLS configuration enables learners to enter virtual meeting rooms directly from their My Assignments tile by clicking Join Virtual Session for the Class or by clicking on the meeting URL received in the Registration notification.

Today I would like to share my understanding of How Zoom integration Works and the steps for Integrating Zoom VLS with SuccessFactors Learning.


Zoom integration is made simple with API calls made to create, update, and delete Zoom Meetings and Zoom Webinars associated with time slots /agenda for classes in SAP SuccessFactors Learning. However, we must ensure that the email address of the associated user who is an instructor in SuccessFactors Learning must exist in Zoom as a licensed user. Zoom administrator must create all VLS Instructor accounts in Zoom.

Zoom Users API is Called When Updating an Instructor’s VLS Settings. When we edit an instructor’s VLS settings for a Zoom VLS server, the API uses their email address to compare the values for the first name and last name between Zoom and SAP SuccessFactors Learning. If there is a difference in first and last name of the Instructor, the API updates the Zoom information with the values from Learning.

Zoom Reports API is called by SAP SuccessFactors Learning to get meeting or webinar participants report for a virtual time slot/ agenda template in SAP SuccessFactors Learning for a Zoom meeting or webinar, which will record the attendance for the participants of the training.

An important restriction, one might be aware of is that SAP SuccessFactors Learning records attendance for a time slot based on the latest attendee list in Zoom. This means if you restart a meeting for any reason after the original meeting ends, the attendance for that meeting resets and only those users in the meeting will show on the latest attendee list.

Securing ZOOM API key and Password:

These steps are performed by the Client and may need guidance on performing these.

Step 1: Log in to Zoom account as the admin (licensed account). After logging in, go to Solutions > Select Marketplace


Zoom Marketplace

Step 2: Click on Develop -> Build app and after that click on “create” under JWT.


Build App in JWT

Step 3:  You will now be redirected to the App detail page which has details of Company name, developer name, and email address. Under the App credentials section, copy the API key and API secret key using the copy link and paste these values on a note pad and share with the SuccessFactors Implementation consultant.


Copy API KEY and Password


Configuring VLS in SuccessFactors Learning:

These steps are performed by the SuccessFactors Implementation consultant.

Step 1: Login as LMS ADMIN

Go to System Administration –> Configuration –> System Configuration –> LMS_ADMIN.
Find vleEnabled and change its value to true.

Step 2: Download the VLS configuration file from the SAP help portal by clicking on support downloads.


VLS Configuration from Support Downloads

Step 2: Change the parameters (as recommend by SAP in the below table). The API Key and Password shared by the client along with the Connector_type as meeting , must be updated in the ZOOM XML ( given below)


Parameters for ZOOM XML


Step 3: Go to System Administration –> Configuration –> VLS Configuration, click Add New, and then copy and paste the ZOOM XML code.

<?xml version=”1.0″ encoding=”UTF-8″?>
<!– The Zoom virtual meeting connector class. This should not be modified. –>
<!– It is the implementation class for Zoom meeting and webinar. –>
<!– Creation of an Instructor in Zoom with applicable license is not supported from Learning –>
<!– Zoom Licensed Instructors (Pro with optional webinar capabiliites) must exist in Zoom to use this connector –>
<!– Zoom Meeting and Webinar participant capacity are controlled by Zoom licensing. –>
<!– Learning Scheduled Programs do not support Zoom virtual meetings. –>
<!– ======================================= –>
<!– configuration parameters for Zoom –>
<!– ======================================= –>
<!– Server specific information that should be provided by Zoom.–>
<api_key>API Key</api_key>
<password>API Secret</password>
<!– ===================================================== –>
<!– configuration parameters for SuccessFactors Learning. –>
<!– ===================================================== –>
<!–Connector type option
# meeting: This is default option. All the sessions will be created of type Meeting.
# webinar: All the sessions will be created of type Webinar.–>
<connector_type>CONNECTOR TYPE</connector_type>



Step 4: Create an instructor account in LMS and in the VLS setting tab enter the Zoom licensed credential details. Under Account Id enter the email id used in the Zoom account. Password must be updated. Select Existing account under Action.


Update VLS Settings for VLS Instructor

Step 5: When you schedule a Class, on the Add new class page, VLS server should be selected and, in this case, it is Zoom VLS. The Primary Instructor must be the Zoom licensed account user created as an instructor.


Select VLS Server as ZOOM VLS when creating a Class

Step 6:  In the Class details page, the below VLS Settings should be enabled.


VLS Settings in Class

Step 7: Schedule Process VLS Attendance for recording completions for attendees of the Virtual training through Zoom meeting.


Schedule Process VLS Attendance APM

ZOOM VLS integration is complete now. You can test the integration by scheduling a Virtual class . The user and Instructor receive a notification with the meeting link .User and Instructor  can join the virtual session using the Zoom meeting link.

Exceptions :

If for any reason you are not able to enable Virtual learning, please check the licenses

You can check if the client has VLS license under system administration > Environment >Licensed modules

Click on licensed modules to see if you have provided with the below underlined License ID for virtual learningVLS%20License

VLS License


Licenses enabled for Environment


I created this Zoom integration implementation guide  as I worked on my first Zoom integration with SAP SuccessFactors Learning .

Zoom integration  using APIs saves cost to the customer and is straightforward compared to using COSO cloud connector which involves licensing cost to client. You can find more about  Zoom VLS integration using COSO connector here -

Please comment if  the blog post helps you in  ZOOM VLS implementation, and add your comments, feedback and related questions.

And please follow the tag SAP SuccessFactors Learning  for related information.

Thank you!  


Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Deepika Vij
      Deepika Vij

      Thanks for sharing Krishna, this is extremely helpful!

      Author's profile photo Krishna Vardhani Chamarthy
      Krishna Vardhani Chamarthy
      Blog Post Author

      Thank you Deepika.

      Author's profile photo Jennifer Say
      Jennifer Say

      This is a good read. Thanks for sharing.

      We've enabled VLS in our dev system. VLS Config is setup. Now when I go to Instructor account, I dont see tab "VLS Settings". I've already updated the admin permission, selected everything that has word 'VLS' and 'Virtual'. Any idea what could be missing?


      Author's profile photo Krishna Vardhani Chamarthy
      Krishna Vardhani Chamarthy
      Blog Post Author

      Thank you Jennifer for your kind comments.

      Please check if this KBA helps -


      Author's profile photo Jennifer Say
      Jennifer Say

      that worked!!! Thanks a lot Krishna

      Author's profile photo Cyndi Sweatman
      Cyndi Sweatman

      Is there any easy way to copy zoom templates into the VLS tool.  For example, prior to implementing the instructors have built their own meeting templates with polls, etc.  They would like to be able to use the default settings but a new link is generated for eah meeting.

      Author's profile photo Jennifer Say
      Jennifer Say


      We are implementing MS Teams Integration with SF LMS. I'm wondering if you have a blog on how  configure the system. I'm using the following the steps in "VLS Configuration for Microsoft Teams - 20221021.pdf" but cant get it to work. A demo on how to use the system would also be nice 🙂




      Author's profile photo Hana Mistrih
      Hana Mistrih

      Thank you Krishna


      We currently have LMS integrated with Zoom.

      As Zoom will be deprecating the JWT Oauth type by June 1st so we need to amend our configuration  to use the "Server to Server Oauth"

      the current provided code does not support the new Oauth methods will there be any respective communication?

      Author's profile photo Krishna Vardhani Chamarthy
      Krishna Vardhani Chamarthy


      SAP help documents are just updated and here is the link for way forward -

      Author's profile photo Eric Abrams
      Eric Abrams

      We are looking into enabling the Zoom VLS (using OAuth), and are reading through the documentation and talking to our internal Zoom team.


      They have asked the following questions, which I can't seem to find answers to.

      What does the SF integration do with that admin access, why does it need that access; what is the scope of those permissions - is it an opt in model, or do we need to apply these permissions to all of our Zoom users?

      Author's profile photo Imma Gonzalez
      Imma Gonzalez


      we have just integrated the zoom in our LMS and I'm currently testing. I've noticed that if we do breakout rooms during the zoom meeting the system is not giving the credit completion even staying all meeting long (so, matching the minimum time required). Is there any way to use the zoom integration when having breakout rooms in the zoom meeting or is this a restriction?