Introduction
This article provides an overview and general instructions for the Synchronizer managed solution, which is provided by Zensai Professional Services.
Availability
The Synchronizer managed solution is available only to Success Plus and Success Premium customers.
Prerequisites and access
- Success Plus or Success Premium subscription.
- Learn365 API key (Full control permissions and created in the customer’s tenant).
- Either a Microsoft Entra ID (Azure Active Directory) App Registration or a SharePoint App Registration.
Support and maintenance
- If you encounter issues when using this solution, contact your Zensai Customer Success Manager.
- If you want to provide feedback and ideas, contact your Zensai Customer Success Manager.
Overview
The Synchronizer managed solution enables users to synchronize custom user fields into Learn365 from either Microsoft Entra ID (Azure Active Directory) or a CSV file located on SharePoint.
This guide will cover the following:
- Synchronizer authentication.
- Synchronizer settings.
- User fields.
- Create a user field.
- Set up Microsoft Entra ID access.
- Set up SharePoint access.
- Provide SharePoint access to the Synchronizer.
- Synchronizer installation and configuration.
Accessing the Synchronizer Service
To access the Synchronizer solution, follow these steps:
1. Access the Automation Center page.
2. Select the Synchronizer section in the left navigation menu.
IMPORTANT
GCCH customers will need to access a different login page.
Please access this page instead: GCCH Automation Center.
NOTE
When logging in for the first time, you may receive a message indicating your account has not been setup for access to your tenant's Automation Center. You will need to contact your organization's tenant administrator for access and permissions.
For more information on Automation Center Permissions, please see this article.
NOTE
When you first login, one of the following scenarios may occur:
- You login without needing to do anything.
REASON: This will occur if someone in your organization previously provided consent on behalf of the entire organization.
- You are asked to give consent on your own behalf.
REASON: This will occur if no one in your organization has provided consent on behalf of the entire organization.
- You are asked to give consent on behalf of your organization.
REASON: This may occur if you have an admin permission level assigned within your organization's Entra ID (Azure AD).
- Admin approval is required to login.
REASON: The Automation Center installs an app within your organization's Entra ID. Depending on your organization's policy, this could require the approval by IT staff (Global admins).
Synchronizer settings
- Learn365 API key - This will be populated from when you first logged in. The Synchronizer uses this to access your Learn365 environment. This key should have Full control permissions because this is required to write data to custom columns. For more information on generating a Learn365 API key in your tenant, please refer to this article.
- Contact email address - This will be used for notifications for any synchronization failures.
- Custom date format - This will be used for any date fields that are being synchronized.
- Microsoft Entra ID mapping - This will require the app registration Client Id and Secret for the Microsoft Entra ID app registration that allows read access to your user's details in Microsoft Entra ID. This allows the Synchronizer to read the values on the user profile to then synchronize with the specified fields.
- SharePoint library settings - This is used with an associated SharePoint app registration that gives "read" access to the SharePoint site from where you would like to synchronize CSV reports.
NOTE
More information on setting up Microsoft Entra ID and SharePoint access is available later in this article.
User fields
Required role: Users with permissions described in the Prerequisites and access section.
User fields (main screen)
On the User Fields page, you'll see an overview of all the custom Learn365 user fields created within your tenant. You'll have the option to view each field, the type of data being synced, field descriptions, and the location from which the column is syncing.
The following columns will be available on the User Fields page:
Title - Displays the name of the user field.
Type - Displays the type of data being synced for this user field. Options include:
- String (text value).
- Date (date value).
- Number (number value).
- Boolean (true or false values).
Active - Displays if the user field is active or disabled.
Synced from - Displays the location that the Synchronizer uses to populate the user fields. Options include:
- Entra ID - syncing from a Microsoft Entra ID field.
- Data - syncing from a CSV file located on a SharePoint site.
- None - not currently being synced by the Synchronizer.
Modified - Displays the date and time the user field was last modified.
Create a user field
Required role: Users with permissions described in the Prerequisites and access section.
To create a user field, follow these steps:
1. From the User Fields page, select Create new.
2. Enter the details for your new field:
- Title - Enter the name of the user field (required field).
- Type - Enter the type of user field (required field).
- Default value - This is a required field. Specify a default value for every user field you synchronize from Microsoft Entra ID or Data. The complete absence of a user field value for some users would cause issues for Power Query-based reports made in Excel or Power BI.
- Description - This is an optional field. Enter a description that best describes the user field.
- Active - Determines whether the synchronization will be active once it's created.
- Synced from - This is a required field. Choose whether you want to synchronize from Entra ID or Data (a CSV file located on SharePoint).
When syncing from Microsoft Entra ID, you'll need to specify the Microsoft Entra ID field you want to use.
When syncing from data, you'll need to enter the column name in the CSV file that holds the data used for this new user field.
Synchronizer How To video
Watch the following video for a quick tutorial on how to use the Synchronizer managed solution once it has been configured by your Microsoft 365 global admin.
Set up Microsoft Entra ID access for synchronization
Required role: Microsoft 365 global admin.
NOTE
The following steps are necessary only if you want to synchronize from a user field in Microsoft Entra ID.
The synchronization will take place every 3 hours after configuration is completed.
The scheduled update times are set to UTC hours: 00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00, and 21:00. This ensures a consistent and timely synchronization between Microsoft Entra ID and the Synchronizer solution.
This section will provide the necessary steps that your Microsoft 365 global admin must follow to create a Microsoft Entra ID app registration that the Synchronizer can use to read the user data from Microsoft Entra ID and synchronize with the user fields in Learn365.
IMPORTANT
This process should be completed by your IT team or someone who has global admin permissions.
Prerequisites
- Microsoft 365 global admin access.
Set up the Microsoft Entra ID app registration
Most of the following information is sourced from this Microsoft guide.
Create the Microsoft Entra ID app registration
In your environment, navigate to your Azure Portal and follow these steps:
1. Go to app registrations.
2. Select the + New registration link and complete the following details:
- Name - Enter an app registration name. We recommend something like Learn365 Synchronizer.
- Supported Account Types - Accept the default Single-tenant value.
- Redirect URI Optional - Leave this blank.
3. Select Register.
4. Save the application (client) Id for later use.
Add the Microsoft Entra ID app permissions
1. On the left-hand side, select API Permissions.
2. Select Add a permission.
3. Select Microsoft Graph and then Application Permissions.
4. Search for User.Read.All and add that permission.
5. Select Grant Admin Consent to grant consent for the newly added permissions.
Create a Client Secret
1. On the left-hand side, go to Certificates & secrets.
2. Select the + New client secret link and complete the following details:
- Description - Enter the name of the secret. We recommend something like Learn365 Synchronizer Secret.
- Expires - Enter the expiration time of the secret. We recommend a longer expiration date because once the secret expires, you'll have to generate a new one.
3. Save the secret value for later use because it can't be viewed once you leave this screen.
Provide Microsoft Entra ID access to the Synchronizer
1. Go to the Synchronizer settings: https://automation-center.365.systems/synchronizer/settings.
2. Navigate to the Create mapping from Entra ID to custom user fields section.
3. Enter the Client Id from step 4 of the Create the Microsoft Entra ID app registration section.
4. Enter the Client Secret from step 3 of the Creating a Client Secret section.
5. Click the Save button to finalize changes.
You should now be able to set the user fields synchronization source to Entra ID which will enable you to synchronize from Microsoft Entra ID.
Set up SharePoint access for synchronization from a CSV file
Required role: Microsoft 365 global admin.
NOTE
The following steps are necessary only if you are wanting to synchronize from a CSV file located on the SharePoint site.
IMPORTANT
The CSV file used for synchronization should enclose fields within quotation marks as necessary. Quotation marks are essential whenever the content of a field may include the same delimiter character used to separate the fields.
EXAMPLES:
If the CSV is comma-delimited, use quote around fields that could contain commas.Manager, Finance would be encapsulated in quotes as the following: "Manager, Finance"
If the CSV is semicolon-delimited, use quote around fields that could contain semicolons.
Manager; Finance would be encapsulated in quotes as the following: "Manager; Finance"
This section will provide the necessary steps that your Microsoft 365 global admin must follow to create a SharePoint app registration that the Synchronizer can use to read the user data and synchronize it with the user field in Learn365.
IMPORTANT
This process should be completed by your IT team or someone who has global admin permissions.
Prerequisites:
- SharePoint global admin access.
- A SharePoint site collection with a document library. A Learn365 catalog site collection will work.
Set up the app registration
All of the following information is sourced from this Microsoft guide.
Create app registration credentials
In your own tenant, navigate to a Learn365 course catalog site and follow these steps:
1. From your Learn365 course catalog site page, enter the following extension after your catalog url: /_layouts/15/AppRegNew.aspx.
NOTE
Your "site collection URL" will be the site collection where you would like the CSV file to be stored for syncing.
An example of using a Learn365 catalog site collection would look like this: https://contoso.sharepoint.com/sites/LMSCatalog/_layouts/15/AppRegNew.aspx
2. Select Generate to create a Client Id.
3. Select Generate to create a Client Secret.
4. Enter an app registration Title. We recommend something like Learn365 Synchronizer.
5. Save both the Client Id and Client Secret for later use.
6. Set the App Domain to www.learn365.com.
7. Set the Redirect URL to https://www.learn365.com.
8. Select Create.
IMPORTANT
Save your Client Id and Client Secret information for later use.
Grant app registration permissions
In your own tenant, navigate to a Learn365 course catalog site and follow these steps:
1. From your Learn365 course catalog page, enter the following extension after your catalog url: /_layouts/15/AppInv.aspx.
NOTE
Your "site collection URL" will be the site collection where you want the CSV file to be stored for syncing.
An example of using a Learn365 catalog site collection would look like this: https://contoso.sharepoint.com/sites/LMSCatalog/_layouts/15/AppInv.aspx
2. Enter the Client Id from step 5 in the previous section and select Look Up.
3. Enter the following XML Permissions to give "read" access to the site collection:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="Read" />
</AppPermissionRequests>
IMPORTANT
When copying the above XML syntax to grant permissions, make sure that the syntax contains straight quotation marks. Curved quotation marks might result in an error.
4. Select Create.
5. Select Trust It if you are prompted to trust the new app registration.
Provide SharePoint access to the Synchronizer
1. Go to the Synchronizer settings: https://automation-center.365.systems/synchronizer/settings.
2. Navigate to the Use CSV from SharePoint Library section.
3. Enter the Client Id and Client Secret.
4. Enter the Site Collection URL, for example https://contoso.sharepoint.com/sites/LMSCatalog.
5. Enter the name of a SharePoint document library that exists in the site collection that holds the CSV file.
6. Enter the name of the CSV file. In the image later in this section, this is UserFieldSync.csv.
7. In the CSV Id Column field, enter the name of the column in the CSV file that uniquely identifies the user in Learn365. In the image later in this section, this is LMS365UserEmail.
8. In the LMS 365 Id column field, enter the Learn365 user field that the CSV file uses to uniquely identify the user in Learn365. In our example, the LMS365UserEmail column in the CSV file contains the email address of the user and the LMS 365 ID column shows Email.
Typical values for this column include Title, Email, DirectoryObjectId, or LoginName.
9. Select Save to finalize the changes.
You should now be able to set the User Fields synchronization source to Data in order to synchronize from the file on SharePoint.
Video walkthrough of the Synchronizer installation and setup process
Watch the following video for a detailed walkthrough of the Synchronizer managed solution installation and setup process.
NOTE
The Microsoft 365 global admin role will be required to configure SharePoint and Microsoft Entra ID access for the Synchronizer.
Comments
Article is closed for comments.