Skip to Content

Importing activity completed outside Beedeez

Your learners also train outside Beedeez: classroom sessions, external providers, another platform. You can upload a file so that this activity appears in Beedeez, where each row becomes an attempt on a capsule that already exists. This is the bulk route. To report completion automatically, one learner at a time, see Reporting completion from a third-party tool.

On this page

Importing activity completed outside Beedeez

Your learners also train outside Beedeez: classroom sessions, external providers, another platform. You can upload a file so that this activity appears in Beedeez, where each row becomes an attempt on a capsule that already exists. This is the bulk route. To report completion automatically, one learner at a time, see Reporting completion from a third-party tool.

⚠️ Prerequisite: the statistics import option must be enabled on your account. Without it, the block described below does not appear.

Opening the import screen

  1. Open the configuration, then Integrations and Jobs & Reporting.
  2. Find the block Synchronization of users external learning activities.
  3. Click Import xls and select your file.

The button accepts .xlsx, .xls and .csv files, and you can select several at once. A .csv file is read as UTF-8, so save it in that encoding if it contains accented characters.

The block is only available on the main account. It disappears as soon as you switch to an academy.

Filling in the three mandatory columns

Column headers are fixed, written in English, and case-sensitive. Every row must identify a capsule, a learner and a date.

  • The capsule, through lessonBeedeezId, which holds its Beedeez identifier, or through lessonExternalId, which matches the capsule’s ID LMS (Action) field.
  • The learner, through userEmail, userExternalId or userIdentifier.
  • The date, in lastDate. Use the YYYY-MM-DD format.

⚠️ A row that is missing one of these three pieces of information is dropped, without any message. The same happens when no capsule and no learner account matches the values you sent.

Each learner column is matched differently. userEmail is compared with the learner’s email address. userExternalId is compared with the identifier sent by your identity provider. userIdentifier alone is also compared with the email address: to match a custom field instead, name that field in the header, between brackets, as in userIdentifier (Employee number). The label must be the one configured in your login data mapping.

Recording time, score and success

The following columns are optional, and each one feeds a specific piece of data:

  • startDate sets the start date of the attempt. Without this column, lastDate is used as the start date.
  • timeMs records the time spent, in milliseconds.
  • Score records the score obtained.
  • successPercent sets the success rate directly, instead of the rate calculated from the score.
  • progressInPercent records progress, as a percentage.
  • success marks the attempt as passed. The values accepted are true, vrai, 1, y, o, success, succes, reussi, réussi, pass and passed.

A row always feeds Time spent, Points and the capsule statistics, exactly as if the learner had taken the capsule inside Beedeez. Completion, however, needs an explicit value: the capsule counts as completed when progressInPercent is 100, or when Score reaches the capsule’s maximum score. Without one of the two, the row counts as an attempt and nothing more. See What does each metric measure?.

Why points can be at maximum while completion stays at zero

⚠️ When the file has no Score column, the learner is given the capsule’s maximum score. That is the default value, and it lands unchanged in their points. Combined with a missing progressInPercent, it produces the most confusing outcome on this screen: points at maximum and completion at zero.

Fill in both columns, including when you migrate a history.

Describing a classroom session

A classroom session is described on the same row as the attempt. Four columns are required for the session to be created: sessionTitle, sessionGuid, sessionStartDate and sessionEndDate. The session is created as a draft, and the learner is registered as having attended it.

You can complete it with sessionLocation for the place, sessionDuration for the duration in minutes, sessionGroupKey to group several sessions together, and sessionPresenters to list the presenters. Separate several presenters with the | character. As with userIdentifier, name the field used to identify them between brackets, as in sessionPresenters (Employee number).

Re-importing the same file

An attempt is recognised by three values: the learner, the capsule and the start date. Uploading the same file again therefore creates no duplicate, and existing attempts are updated.

⚠️ Changing the date creates a new attempt. Since lastDate acts as the start date when the file has no startDate column, correcting a completion date and re-importing leaves the previous attempt in place.

What the import does not do

  • It does not create the capsules. Create them beforehand, and fill in their ID LMS (Action) field if you would rather point at them with your own reference.
  • It does not send anything to the learner. The upload records the attempt and recalculates the learner’s statistics on the capsule. If this activity makes them eligible for a certificate, see Sending, resending and exporting.
  • It does not push anything back to your LMS. Imported activity stays in Beedeez.
  • It does not give you your file back. Nothing on this screen lets you review or download what you sent, so keep your own copy.

Checking that the rows were applied

The file(s) being processed message confirms that the upload was accepted, not that the rows were applied. The progress bar follows the processing of the file, including when every row was dropped, and this import does not appear in synchronisation monitoring.

Start with a file of about ten rows, then open the capsule statistics and two or three learner profiles. This is how you avoid uploading a 4,000-row file of which 3,900 are dropped without a single warning.

Going further


Discutez avec nous