This feature requires the HCM Connect Solution. Contact your Account Manager to know more.
You can synchronize users from your HRIS to 360Learning, by uploading a CSV file of your user fields to a dedicated FTP server (which we can provide). The main advantages of synchronizing users are to eliminate double data entries and simplify HR and learning workflows. No development is required to set up or maintain this synchronization.
This method offers more flexibility than a custom integration and can adapt to any HRIS allowing the export of user fields in a CSV format. It has already been validated with Foederis, Hibob, Skillup, and Workday.
- CSV files uploaded to our SFTP server are deleted after 30 days.
- You can activate the encryption feature to add a security layer to the synchronization. For more information, see Encrypt the CSV file for the HRIS connector.
The main features of this synchronization are:
- Mapping HRIS user fields to 360Learning user profile default fields (email, first name, last name, organization, title, language, manager), or custom fields.
- Choosing where the users will be synchronized in 360Learning (the platform group, or a specific private group).
- Choosing the administrator of the connector (synchronized users will be considered invited by this user on 360Learning).
- Synchronizing all your HRIS users, or only a subset.
- Synchronizing users in a group hierarchy structure (instead of all users in a single group).
Upon activation, the connector will:
- Add or update in 360Learning users marked as
Active
in the CSV. - Delete in 360Learning users marked as
Inactive
in the CSV.
It will not delete, nor update, users who exist only in 360Learning.
This is a one-way synchronization. The connector does not write any information to your HRIS:
- If a user field has a different value in 360Learning and the CSV, the CSV value will replace the 360Learning value.
- If a user is deleted in 360Learning (but marked as active in the CSV file), it will be recreated in 360Learning.
Once the connector is configured, it will start the synchronization twice a day at the following times:
- 06:30 AM Central European Time (UTC+1)
- 11:30 PM Central European Time (UTC+1)
The synchronization end time depends on the amount of synchronized data.
Step 1: Choose the synchronized group in 360Learning
You can add/update users in the platform group of 360Learning, or in a specific private group. Your HRIS users will be added to, and synchronized with, that group only.
Note down the following items:
- ID of the synchronized group (here is how to find it).
Step 2: Choose the administrator of the connector
The administrator of the connector must have administrator permissions on the synchronized group.
Synchronized users will be considered invited by this user on 360Learning.
Note down the following items:
- Email of the user with administrator permissions on the synchronized group.
Step 3: Choose if new users should receive a notification
By default, users created in 360Learning will receive an email notification, with:
- The email they can use for login.
- An initial password, that they will be asked to change when they first connect.
You can choose to disable that email notification, and handle communication in your own way.
Note down the following items:
- Silent user creation:
-
false
(default value; users will receive an email notification when they are created in 360Learning), - or
true
(users will not receive any notification when they are created).
-
Step 4: Create a CSV file with the mapped user fields
Step 4.1: Initialize your CSV file
Create a CSV file (in UTF-8) of the list of your users, with the following columns:
-
uniqueId
(primary key): unique identifier of the user. You can use the user ID of your HRIS — or any other value — as long as it is unique for each user and does not change over time. This value will not be displayed in 360Learning; we suggest you keep an index of those values for each user, in order not to create conflicts between users later on. -
status
: whether the user needs to be created/updated or deleted. This is an indication for the connector, and does not correspond to any 360Learning field. The possible values are:-
Active
: the user will be created or updated with the values of the CSV file. - Any other value: the user will be deleted in 360Learning.
-
-
email
: email address of the user.- You can use this column to change the email address of the user in 360Learning (since the primary key is the
uniqueId
)
- You can use this column to change the email address of the user in 360Learning (since the primary key is the
Make sure each user is listed only once in the file.
Step 4.2: Add field mapping
You can synchronize the following user profile fields in 360Learning:
-
First name
(see Edit a user’s profile). -
Last name
(see Edit a user’s profile). -
Organization
(see Edit a user’s profile). -
Title / Employment
(see Edit a user’s profile). -
Manager
(see Add a Manager). -
Language
(see Change the platform language).
Those fields are optional. In particular:
- If you add them to the CSV file, the 360Learning values will be overwritten by the ones in the CSV file (if the values are empty in the CSV file, the field in 360Learning will be deleted).
- If you don’t add them to the CSV file, the corresponding field in 360Learning will not be updated.
To synchronize a field, add it as a column header in the CSV file, and note down the mapping between the column header name and the title of the 360Learning field. We suggest the following column header names for the mapping:
-
firstName
(mapped to the 360Learning fieldFirst name
); -
lastName
(mapped to the 360Learning fieldLast name
); -
organization
(mapped to the 360Learning fieldOrganization
); -
title
(mapped to the 360Learning fieldTitle / Employment
); -
managerId
(mapped to the 360Learning fieldManager
).
If you’re using a third field for the user name (such as Preferred name
or Nickname
) in your HRIS, contact your Solution Architect so that they can adapt the mapping accordingly.
Step 4.3: Add custom field mapping
On top of the user profile fields, you can map any field from your HRIS to a 360Learning custom field for the user.
The custom field in 360Learning will be displayed with the format field_name: field_value
. For example, if the field title is Location
and the users value is Paris
, the 360Learning custom field title will be called Location
, and the custom field value will be Paris
.
To add a date as a custom field, use the date time string format: YYYY-MM-DD
.
To synchronize a field as a custom field, add it as a column header in the CSV file, and note down the mapping between the column header name, and the field_name
that should appear in the 360Learning custom field. For example:
-
location
(mapped to the 360Learning custom fieldLocation
) -
department
(mapped to the 360Learning custom fieldDepartment
)
Additional rules for custom field synchronization
- If a synchronized custom field is removed from a user in 360Learning, it is added back to the user at the next synchronization.
- If a synchronized custom field is deleted from the 360Learning platform, it is recreated and added back to the user at the next synchronization.
- If the title of a synchronized custom field is renamed in 360Learning, a new custom field is created and added to the user at the next synchronization (the renamed custom field still exists in 360Learning, but is removed from all synchronized users).
- If a non-synchronized custom field is added to a synchronized user, the custom field will be kept on the user at the next synchronization.
Step 4.4: Fill in the CSV with user data
Now that the CSV file has all the necessary columns, you can fill it with user data. Below is a breakdown of the required format for each column (you can download a template here).
-
uniqueId
(primary key): string of characters.- Remember that this must be unique and permanent for each user.
-
status
: « Active » (the user will be created or updated with the values of the CSV file), or anything else (the user will be deleted in 360Learning). -
email
: email address, in lowercase. -
firstName
: string of characters. -
lastName
: string of characters. -
organization
: string of characters. -
title
: string of characters. -
managerId
: value of the field uniqueId of another user. -
language
: string of characters.- If your HRIS allows it, use ISO 639-1 codes. Otherwise, use explicit names for each language, and we will create a mapping with the allowed values in 360Learning.
- You can check the list of all available languages in our article Change the platform language.
-
location
(or any other field to be synchronized as a custom field): string of characters.
Step 4.5: Define a naming convention for the CSV file
To allow editing the CSV file after it has been uploaded to the FTP server, we will process only files that have a certain prefix and extension.
By default, the prefix is hris
, and the extension is tsv (for example: hris-360learning.tsv
).
You can use those default values, or define other values.
If you activate the encryption feature, the connector can process files with the extension you defined and with the encryption extension. For example, if the expected file name is hris-360learning.tsv
, the following names are accepted:
hris-360learning.tsv
hris-360learning.tsv.pgp
hris-360learning.tsv.gpg
Step 5 (optional): Choose the filter on your HRIS users
By default, all users in your CSV file will be synchronized with the target group in 360Learning.
You can choose to synchronize only certain users, based on the value of their fields.
For example, you can synchronize only users with the value Paris
in the CSV column with the header location
. In the example below, only Ada Lovelace and Annie Easley will be synchronized:
uniqueId,status,email,firstName,lastName,location
0001,Active,ada@computer.org,Ada,Lovelace,Paris
0002,Active,karen@computer.org,Karen,Jones,London
0003,Active,annie@computer.org,Annie,Easley,Paris
You can filter users on more than one field; in this case, users must match the values in all the fields (not just one of them).
You can filter users on more than one value for a given field; in this case, users can match either of those values.
If you choose to filter users, note down the following items:
- The name of the column header in the CSV file
- The accepted values for that field
Step 6 (optional): Choose group structure synchronization
By default, users who are synchronized with your HRIS are added as learners to a single group in 360Learning. With the Advanced Group Synchronization feature, you can synchronize them into any 360Learning groups based on the value of their fields in your HRIS.
See our complete article on Advanced Group Synchronization →
Step 7 (optional): Choose file encryption
By default, the connector synchronizes the data from CSV files in plain text.
You can choose to activate the encryption feature to add a security layer to your data. With the encryption feature, the connector only synchronizes data from encrypted files. For more information, see Encrypt the CSV file for the HRIS connector.
Note down the following items:
- Encryption:
-
false
(default value): The connector only processes non-encrypted files. -
true
: The connector only processes encrypted files.
-
Step 8: Request the activation of the connector
Send an email to your CSP or Solution Architect, asking for the activation of the connector, with the following items:
- Integration name
- Name of your HRIS
-
Synchronized group
- Group ID
-
Administrator of the connector
- Email of the user
-
Silent user creation
-
false
(default) ortrue
-
- The CSV file
-
The custom field mapping (optional)
- For each field, the name of its column header in the CSV file.
- The title for the custom field that will be displayed in 360Learning.
- If your CSV file uses a custom separator (other than commas
,
or tabs⇥
), tell us as well. -
The prefix for the CSV file
-
hris
(default) or another custom value
-
-
The extension for the CSV file
-
tsv
(default) or another custom value
-
-
Filter for synchronized users (optional)Â
- The name of each column header in the CSV file.
- The accepted values for each of those field.
-
Group structure synchronization (optional)
- The name of the column header in the CSV file of the fields corresponding to each level in the hierarchy.
- For each field, the level in the group hierarchy.
- For each field, the possible values.
-
Encryption (optional)
-
false
(default) ortrue
-
Step 9: Test the connector
When your Solution Architect activates the connector for your platform, they will provide you with the following items:
- the URL to a 360Learning test instance.
- For example, if your production platform URL is
myacademy.360learning.com
, your test instance URL will be something like:myacademy.360mooc.com:14532
.
- For example, if your production platform URL is
- SFTP credentials:
- A host
- A login
- A password
- (If file encryption is activated) The public key to encrypt your CSV file for the test instance.
If you prefer uploading the CSV file to a FTP server that you manage, share the credentials with us instead.
Suggestions for test scenarii
The suggested workflow to test the synchronization is:
- Create your CSV file.
- (Optional) If you activated the encryption feature, encrypt your CSV file with the public key for the test instance.
- Connect to the SFTP server (with a FTP client such as FileZilla) using the credentials we sent you.
- Upload the CSV file to the server.
- Ask your Solution Architect to run the synchronization script.
- Assess the changes in your test instance.
Below is a suggested checklist to check that the synchronization was successfully performed:
- All active users in the CSV file should be seen as learners in your synced group.
- Check that the data for each user are properly copied.
- If you modify a user, its data should be modified in 360Learning after a sync.
- If you create a new user in the CSV file, they should be created in 360Learning.
- If you mark a user as
Inactive
(or any other value thanActive
), they should be deleted in 360Learning.
Remember that you will need to request a manual sync to your Solution Architect each time you upload a new CSV file to the FTP server.
More details about the test instance
This test instance is a snapshot of your production instance at the moment it was created. It lives separately from your production instance.
- Any modification done to your production instance is not reflected in the test instance.
- Any modification done to your test instance is not reflected in the production instance.
- We do not deploy product updates to test instances.
- The test instance does not send any email.
The test instance is a development and test platform. There is no quality of service attached to it. In particular, it might be erased at any time. If you cannot log in to it anymore, ask your Solution Architect to restart it.
In this test instance, daily synchronization scripts need to be run manually by 360Learning. Your Solution Architect will be able to perform the synchronization at your request.
Step 10: Deploy the connector in production
When you've run all tests and are satisfied with the results, you can ask your Solution Architect to deploy the connector to your production platform.
If file encryption is activated on your connector, your SA will provide the public key for the production environment.
You can upload several CSV files to the FTP server; the connector will process them one after the other, in the chronological order in which they were added.
Once activated, the connector settings will appear in the section Integrations
of the settings of the synchronized group.
To view the daily synchronization execution results and download the synchronization logs, see View the HRIS connector synchronization results.
You may also receive a recap notification after each synchronization. Contact your SA to define the recipients of that notification.