Synchronize users from your HRIS

  • Updated

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).

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 and Workday.

The main features of this synchronization are:

  • synchronizing the 360Learning user profile fields (email, first name, last name, organization, title, language, manager);
  • synchronizing any HRIS user fields as a 360Learning custom field;
  • 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.

Once the connector is configured, it will perform a daily synchronization, at 11:30pm (CET):

  • 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.

This is a one-way synchronization. The connector does not write any information in your HRIS.

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:

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) 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)

Step 4.2: add field mapping

You can synchronize the following user profile fields in 360Learning:

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 field First name);
  • lastName (mapped to the 360Learning field Last name);
  • organization (mapped to the 360Learning field Organization);
  • title (mapped to the 360Learning field Title / Employment);
  • managerId (mapped to the 360Learning field Manager).

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 also map any field from your HRIS as a 360Learning custom field to the user.

The custom field in 360Learning will be displayed with the format field_name: field_value (for example, if a field title is called Location and a user has a value Paris, the 360Learning custom field title will be called Location, and the custom field value will be Paris).

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 field Location);
  • department (mapped to the 360Learning custom field Department).

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.
  • 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.

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, the synchronized users will be added to a single group in 360Learning. You can choose instead to synchronize them in a group hierarchy structure, based on the value of their fields.

If you wish to do so, contact your Solution Architect, who will organize a workshop with you, to determine the best hierarchy to reflect your organization structure.

mceclip0.png

In the example above, the group structure is:

  • (Top level: synchronized group.)
  • Level 1: location.
  • Level 2: division.

The connector does not create groups; if the field values of a synchronized user do not correspond to any existing group in 360Learning, or corresponds to more than one group, the user is added to the synchronized (top level) group.

If the user is added to a public group with the learner role, they will also be added to all higher-level groups as learner until they reach a private group (included). Learn more about group hierarchy →

If you choose to activate group structure synchronization, note down the following items:

  • the name of the column header in the CSV file of the fields corresponding to each level in the hierarchy (in the example above: location and division);
  • for each field, the level in the group hierarchy (in the example above: location is level 1, and division is level 2);
  • for each field, the possible values (in the example above: the possible values for location are New York and Paris, and the possible values for division are Marketing, Sales, and HR).

Step 7: 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:

Step 8: 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.
  • SFTP credentials:
    • a host;
    • a login;
    • a password.

If you prefer uploading the CSV file to a FTP server that you manage, share the credentials with us instead.

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.

Suggestions for test scenarii

The suggested workflow to test the synchronization is:

  1. Create your CSV file.
  2. Connect to the SFTP server (with a FTP client such as FileZilla) using the credentials we sent you.
  3. Upload the CSV file to the server.
  4. Ask your Solution Architect to run the synchronization script.
  5. 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 than Active), 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.

Step 9: 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.

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.

You may also receive a recap notification after each synchronization. Contact your SA to define the recipients of that notification.

Check out our blog for more L&D resources.