Microsoft Teams Virtual Meeting Integration

Microsoft Teams Virtual Meeting Integration within Absorb provides Admins a way of managing all virtual meeting creations, updates, and deletions for Instructor-Led Course (ILC) sessions from within the LMS, without having to enter or adjust anything within Microsoft Teams. Learners can launch and participate in the virtual instructor lead courses within the LMS or from their calendar invitation, even as guests on the Teams tenant.

Authenticating Admin Advisory

Before authenticating the Microsoft Teams Integration, confirm you have set up a shared/corporate account with the correct permissions. Configuring this integration with a singular or private User account may cause permissions issues as it relates to editing items such as Teams Sessions. This is because all Teams Meetings created via our integration are created on behalf of (and thus owned by) the User who authenticated the integration.

 

Getting Started

You can easily enable the Microsoft Teams Virtual Meeting Integration within your Absorb LMS portal by adjusting the Portal Settings.  Once enabled, a Venue can be created and attached to Instructor-Led Course (ILC) Sessions. 

MT_Integration.gif

 

Step 1 - Setting up Microsoft Teams

You will need to work with your Microsoft Teams Tenant Administrator to register and configure an App in your Azure portal. 

Important Note: 

When setting up your Microsoft Teams integration with Azure, you MUST setup "Redirect URL's".

How to create an app registration in Azure Portal 

  1. Begin by going to your Microsoft Teams' account https://portal.azure.com/#home to add a Registered App via Manager.  Click App registrations 

    screenshot1.png

  2. Click new registration.

    screenshot2.png
     
     
  3. Setup the Registration. 
    Picture1.png
  • Set the Name to: Absorb LMS Integration 
  • Select the supported account types: "Accounts in this organizational directory only" 
  • Add in the Redirect URI 
    • A Redirect URI must be added here for each Route that is setup in the LMS. If you have more than one portal route setup, please reach out to your CSM or Absorb Support to obtain a list of active routes. 
    • Add one of the Redirect URI’s now in the Redirect URI field in Azure.
      • Select the Web in the dropdown: 

Picture2.png

Picture3.png

      •  

If you have any additional Routes setup in the LMS: 

Navigate back to the new App Registration: 

Picture4.png

Picture5.png

Picture6.png

Add all the additional Redirect URI's here (from the LMS Routes table): 

Picture7.png

4. Copy application ID and Directory (tenant) ID, which will be used when enabling Microsoft Teams Virtual meeting in the LMS. 
screenshot4.png

5. Click Certificates & Secrets in the sidebar, click add new client secret. Enter a description and default expiry should be fine. 

screenshot5a.png

screenshot5b.png

6. Copy the client secret value, this will be required for configuring the LMS. Note:  Make sure to copy and paste the Client Secret Value (not the ID) and do so before leaving the page.  Once you leave the page, the Value will be hidden.   

screenshot6.png

Leave https://portal.azure.com/#home open until you complete Step 2. 

Note: For more details, visit the Microsoft Documentation Article

Step 2 - Setting up the LMS

The Microsoft Teams Integration is available to add to an Organization's LMS, by going to the Info Tab of Portal Settings.

If you wish to use the Teams co-organizer functionality, it’s recommended that you select the following Portal Settings toggle and save the Portal Settings page, prior to enabling the Teams Integration.

Turning the Enable Microsoft Teams toggle on will display the following options: 

  • App ID: Enter the Application (Client) ID value for this field, which was found in item #4 above 
  • Tenant ID: Enter the Directory (Tenant) ID value for this field, which was found in item #4 above 
  • Client Secret: Enter the client secret value, which was found in item #6 above. 

Once all the required IDs and Values are entered, select Enable and then Save. You may be prompted to accept permissions from Microsoft to complete the setup. 

Important Note

  • During the Setup process, please ensure a System Admin has logged in to the portal and proceeds through the integration process. When attempting to log in to the portal, the System Admin must also not log in via SSO; they must log in manually.
  • Absorb Client Advocacy/Support cannot enable, disable or authenticate the integration. If a Client Advocacy/Support member attempts to enable it, the Teams Integration will give you an error.

Step 3 - Create your Venue

  1. Navigate to the Venues administration page by clicking the Courses button from the Admin Menu and choosing Venues from the sub-menu. You will be routed to the Venues administration page.
  2. From the Venues administration page, click the Add Venue button from the right-hand action menu. You will be routed to the Add Venue form. 
    • Name: Enter the Venue's Name. The Name identifies the Venue to Learners and Admins. ◦This is visible in both the Admin and Learner experiences.

    • Description: Enter a description to provide details of the Venue in this field. ◦This is visible in the Admin experience only.

    • Max Class Size: Enter a number to set the maximum class capacity for the facility. ◦This is a required field.

      • The Max Class Size will be the default value when creating an ILC Session but can be adjusted on the ILC Session if needed.

    • Type: Click the Type drop-down menu and select Teams Meeting.

    • Department: If you would like to restrict this Venue to specific Department Admins, click the Select Department button to search and find the Department the Venue belongs to.

      • Adding a Department will restrict the Venue to the Admin(s) who manage the identified Department(s). Administrators of other Departments will not see the Venue as an option when selecting locations for ILC Sessions.

  3. Select Save

Once the Teams Meeting venue is created, Admins and/or Instructors can add it to the Instructor-Led Course Session. When the Admin and/or Instructor select the Teams Meeting venue, a meeting will be created in Microsoft Teams and the URL will auto-populate within the Session upon selecting Publish.

Step 4 - Using the Co-Organizer Functionality

Using the Co-Organizer Functionality in the Microsoft Teams Integration ensures that there is more than one person that can manage important settings like the meeting options, breakout rooms, and other capabilities in a meeting.

Enable Co-Organizer

If you wish to use the Teams Co-Organizer Functionality, you may enable this using the following Portal Settings page toggle:

It’s important to note that to use this functionality, you must re-enable your Teams Integration after turning on the toggle above. 

If you’re setting up your integration for the first time, set this toggle before you enable your integration, save your Portal Settings, and then return to enable the Teams Integration.

If you already have a working integration, you will need to disable the Teams Integration, set the Co-Organizer toggle to on, save your Portal Settings, return to the Portal Settings page and then re-enable your Teams Integration following the instructions in Step 2 above.

Using ILC Sessions With Instructors as Co-Organizers

For the system to recognize your Instructor as a Co-Organizer, please ensure that the Instructor’s email address is a registered Email Address within your Teams organization account.  

When configuring your ILC Session, select the Venue and Instructors as above.  So long as the Instructors are within your Teams organization, they will be automatically set as Co-Organizers on the meeting.  There are no process changes required to use this functionality other than the setup mentioned above.

If your Instructors are not present in your Teams organization, you will receive an error message when adding Instructors.

Co-Organizers have the ability to manage some meeting settings, while they can not manage others. The following table compares the differences:

Co-Organizer Can Manage Setting Co-Organizer Can Not Manage Setting
  • Access and change meeting options
  • Manage breakout rooms
  • Bypass the lobby
  • Admit people from the lobby during a meeting
  • Lock the meeting
  • Present content
  • Change another participant’s meeting role
  • End meeting for all
  • Manage the meeting recording
  • Remove or change the meeting organizer’s role

 

 

Attendance and Meeting Policies

When setting up the Teams Integration, it is important to enable the Azure setting to allow organizers access to the attendance records. This allows the autofill function to work in Teams. If this setting is not enabled, organizers may encounter a "No participants are found" error.

To confirm that this setting is enabled, please advise the following:

  1. Navigate the Teams Admin Center.
  2. Select Meetings.
  3. Click Meeting Policies.
  4. Under the Meeting scheduling section, confirm that the Attendance and engagement report option is enabled.
    Teams_Admin_Meeting_Policies.png

You can read more about Teams Meeting policies here.

Updating Policies After Integration Configuration

Please note that if you update the attendance policies after the integration is configured, you will need to uninstall and re-install the integration in order for the policy changes to be applied.

 

Troubleshooting

Troubleshooting the Microsoft Teams Virtual Meeting Integration often requires action by the System Admin whom authenticated the integration at the time of setup.

Re-Authenticating Is Generally Safe

When encountering issues with the Microsoft Teams Integration, sometimes it is worthwhile to re-authenticate the integration. At times resolving a configuration concern, such as switching from a personal email address to a general email address requires re-authenticating. Absorb LMS should not be affected by re-authentication and it is generally considered a safe troubleshooting practice.

 

Can't Edit Teams Session

This issue may affect another component of the Microsoft Teams Integration beyond just Sessions. The most common cause of an issue where you cannot edit a Teams Session or similar, relates to the System Admin account which authenticated the integration. The account which authenticated the integration has ownership over Sessions.

The System Admin account which is used to authenticate and setup the Microsoft Teams Integration has greater access to the integration than other accounts. Accordingly, it is advisable to authenticate the Microsoft Teams Integration with a group/shared/corporate account instead of a singular or private User account.

This is important because in the background all Teams Meetings created via our integration are created on behalf of (and thus owned by) the User who authenticated the Microsoft Teams Integration.

 

Changing the Authenticating User

If the User who authenticated the Teams Integration is changed, where changed means the integration was disabled and re-enabled using by a different User, existing Sessions will still be valid, but can only be managed by the original organizer. The original organizer refers to the User who had authenticated the integration at the time the Session was created.

 

Domain Name in Azure 

Error

This error can occur while enabling the Microsoft Teams integration in the Client Portal: 

Picture8.png

This error can occur while creating the virtual meeting: 

Picture9.png

Cause 

The most common problem with Teams Integration relates to the domain name:

This exact name must be set up in two locations:

  1. In the list of Routes in the LMS Portal Settings
  2. In Azure

How it works: 

  • The LMS looks at the URL you are using in your browser's address bar. 
  • It then uses that domain name to look up the Route in the LMS's Routes table
  • It then sends this domain name to Microsoft when you are connecting to Teams. 
  • Microsoft then looks it up to see if it has been setup within the list of Redirect URI's. If not, it fails. Quite often  more than one Route is setup in the LMS, ensure you add them all to Azure.  

Solution: Add this domain name to the list in Azure. 

  • See Step 3 in the above setup guide, and return to the App Registration in Azure and add the proper Redirect URI for each LMS route.

Additional causes for this error are as follows:

  • The Client Secret ID has been entered in the integration settings in Portal Settings instead of the Client Secret Value.
  • The integration was inactive for a period of 90 days and the authentication token has expired.
  • The Client Secret has expired in Microsoft Azure and a new Client Secret needs to be generated.

The solution to this issue is re-authorizing the integration. This will correct the authentication error.

This error can also occur if the Instructor on the Venue does not have the correct permissions to host a virtual meeting in Microsoft Azure.

To resolve this issue, update the Instructor's permissions to allow them to host virtual meetings. A re-authorization of the integration should not be required.

 

Service Accounts and Multi-Factor Authentication

Below are Q&A style insights related to Multi-Factor Authentication:

  • Q: How was Absorb able to utilize the User account to create invites without causing a timeout or triggering Multi-Factor Authentication?
    • A: We use client secrets to authenticate which doesn’t trigger a Multi-Factor Authentication (MFA). MFA is typically used when an interactive authentication is performed by a human via an interface (like a login screen). When systems authenticate without an interface, using a client secret, MFA is not required and doesn't trigger. The client secret securely identifies one system to the other and a User level MFA is not required.
  • Q: Would there be any cautions around Multi-Factor Authentication with the service account - specifically, are there any special configurations we'll need for the service account to prevent any issues?
    • A: The service account must have a sufficient level of permission to add an app registration into your client Azure portal. Azure app registrations are an easy and powerful way to configure authentication and authorization workflows for a variety of different client types. An app registration identifies an app (Absorb) which allows us to authenticate to the Azure portal, allowing for the creation and edit of meetings for your Teams integration.
    • Because of the scopes we require for the integration, Absorb will validate hosts against your active Teams Users when an ILC Session is assigned to an Instructor to confirm that the Instructor is a valid Teams User and will have all host capabilities once the meeting begins.
      • EX: Recordings and breakout rooms.

 

Roles & Permissions

System Admins are the only Admins who can adjust settings within the Portal Settings. Once the Microsoft Teams Integration options have been toggled on, all other Admins will need the following permissions. 

Required Role Permissions

Keep in mind that you may need to adjust Course level Course Administrator permissions.

Role: Section Access Permission(s) Needed
Courses > Venues View or Modify permission
Courses > Instructor-Led Courses > Sessions Add, View or Modify permission

 

Suggested Role Permissions

Role: Section Access Permission(s) Needed
Users

View or Modify permission

Was this article helpful?
6 out of 11 found this helpful

Comments

0 comments

Article is closed for comments.