Automating Your Learner Imports

Save yourself time and let the technology handle your new starters, movers and leavers

Written by Dave Branscombe

Last published at: July 27th, 2024

Imagine having a free day without worrying about keeping on top of your new starters, movers and leavers.

Don't worry, it's not as complicated as it sounds. You can easily automate them with a little help from your friends (that's your IT team and us!). We're here to guide you through the process and make it as smooth as possible.

Start by connecting with your technical team, here's the essential information they'll need to get started:

Field Name

Description

Mandatory/Optional/Not Required

Username

This is a unique identifier for each person so they can login to the online learning platform. Payroll Numbers are great, so is an email – anything that is unique.

Mandatory

Usertype

This defines what tools will be available on their dashboard. Not the end of the world if we can’t have it but it helps!

 

Optional

First Name

The learner’s first name

Mandatory

Last Name

The learner’s last name

Mandatory

Email Address

The email address of the learner (work or personal) we need it to send forgotten password reminders.

Mandatory

Org 1 Name

The place where we should put someone. It can be a store, a department, a cost centre etc. You’ll usually get this location information from your HR system.

Mandatory 

Password

This can be set in the file as plain text but we prefer to store a default one which is stored securely

Optional

Date Of Birth

Really useful if some of your learning courses are age-specific, otherwise we don’t have to have this.

Optional

Country Code

Always set as GB

Mandatory

Language Code

Always set as en 

Mandatory

Job Code

The code for a learner’s job type, can be numerical i.e. 0123 or text i.e. SA (please use the same as Job Description if you do not use Job Codes)

Mandatory

Job Description

A description of the learners job i.e. Sales Assistant. We’ll use this in the reporting tools.

Mandatory

Company Start Date

The date the learner began employment with the company.

Mandatory

Company Leave date

The date the learner left the company. Not critical if we can’t have it but it helps! If you can give us a leaving date then we can automate imports more frequently in small “changes-only” batches; otherwise you’ll have to give us a “full” list of all active people every time.

Optional 

Employment type

This can be defined by you, the customer e.g. Permanent/Full Time/Part Time etc. It is used to help filter your reports

Optional

Old Username

We rarely use this so leave blank or just don’t send it on the automated import

Not Required

Alt Username

We rarely use this so leave blank or just don’t send it on the automated import

Not Required

If you’re ever unsure about what fields you need to include, just let us know.

If you’re already importing people using the Import Learners tool:

A screenshot of a computer

Description automatically generated

(… and you are checking your error logs as well aren’t you?) then the good news is that you’re most of the way there already.

So, that’s the CSV file itself covered; what else do we need? The next bit is aimed at your IT/technical team so don’t worry if it doesn’t make complete sense.

Your IT/technical team will have to find a way to generate your learner import CSV file automatically (usually directly from your HR/Payroll system) and upload it on our server using a secure SFTP connection.

You’re going to need a static IP address because we’re going to whitelist it on our server. We can whitelist multiple IP addresses if you need to upload files from more than one computer/server across your business.

The SFTP login credentials will be created by Upskill People and sent to you separately. For security reasons, these are not detailed in this guide. However, an example of what you can expect is included below. The SFTP account will enable you to upload learner import files which will then be automatically imported into your learning platform.

  • URL/Hostname: We prefer this to an IP address which can change over time.
  • File Path: /home
  • Username & password (we’ll send you this securely and separately)

All you need to do is upload the file to the location specified in the SFTP details provided. Once connected, you will directly access a unique client data folder from which your learner import CSV files will be imported (we won’t share your data with anyone else).

What can possibly go wrong with that?

Well apart from changing the structure of the CSV file from what was agreed or uploading completely the wrong file (it has happened), the most likely thing that could go wrong is with the actual SFTP connection itself. Here are a few things that are worth checking when you’re setting it up on your side.

Can’t connect to SFTP

Check that your network allows data traffic to flow through your network and exit your firewall to our server in line with your network policies.

Ping IP Address – CMD Line

From a command prompt type:

ping 11.222.3.4

(Where “11.222.3.4” is the IP Address that we have given you).

This will then test the time it takes for the test packets of data to reach our server and whether or not any packets of data are lost during that process.

Trace RT

From a command prompt type:

tracert 11.222.3.4

(Where “11.222.3.4” is the IP Address that we have given you.)

This command will then send a packet of test data to our IP Address and show you on screen all of the routers through which this data packet has travelled (and they’re all yours – only the IP Address that we give you is our server). If the packet doesn’t get to our server within acceptable limits (known as “Time To Live” or TTL) then "Time Exceeded" messages will be displayed. If part of your network stops the data packet from moving onward then the TraceRT command will return something like:

<<your server IP Address>> reports: Destination net unreachable.

If you get to a point where the trace returns:

11.222.33.4 reports: Destination net unreachable

… then check the next step i.e. have you given us your IP Address to whitelist? If the answer is yes then we’ll need to double-check the configuration again on our server.

Whitelisting your IP address

If we don’t know the IP Address that you present to the outside world, then we can’t enable it to connect to our server via SFTP.

Is there anything else to be aware of?

The next thing you should understand is if the format of the learner import csv file itself is changed without a corresponding re-configuration on our side. This could include:

  • re-ordering the columns of the csv file
  • changing the format in which dates are supplied (Yes, “01/01/2018” is different to “2018-01-01” even though they mean the same thing!)
  • changing the structure of the .csv from “comma separated” (,) to “pipe-separated” (|) – we can support either, but not both.

Ideally, any changes should be accommodated in a controlled manner between us. However, in the unlikely event that a “rogue” import file is processed, we have a robust system in place where all user import processes are logged and all warnings and errors recorded. This means that, once we are aware of an issue, we can do something to help rectify it.

Automating the Import Process

When the daily import routine has finished processing the supplied file, we will move it into a “processed” location and apply a date time stamp.

You are not required to take action in the processed folder. Therefore, you can create an automated process for uploading a file with a hardcoded filename, e.g. client_user_import.csv.

We recommend sending a single daily file (and the earlier, the better), but this can be set more frequently as required, e.g. twice or three times daily.

Finally, we’ll remove your old processed CSV files after 7 days, because we take your data processing seriously.

And that’s it, automating your learner imports is as simple as that.

Now you can hand this guide back to your learning platform team as they’ll need to check the error logs each time a file is uploaded, don’t worry we’ve a handy guide on that as well: How to check the learner import error logs. 

If you need any assistance, please contact support@upskillpeople.com we’re here to help every step of the way!