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.
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
- Open the configuration, then Integrations and Jobs & Reporting.
- Find the block Synchronization of users external learning activities.
- 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 throughlessonExternalId, which matches the capsule’s ID LMS (Action) field. - The learner, through
userEmail,userExternalIdoruserIdentifier. - The date, in
lastDate. Use theYYYY-MM-DDformat.
⚠️ 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:
startDatesets the start date of the attempt. Without this column,lastDateis used as the start date.timeMsrecords the time spent, in milliseconds.Scorerecords the score obtained.successPercentsets the success rate directly, instead of the rate calculated from the score.progressInPercentrecords progress, as a percentage.successmarks the attempt as passed. The values accepted aretrue,vrai,1,y,o,success,succes,reussi,réussi,passandpassed.
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
- Reporting completion from a third-party tool: the automatic route, when the provider can call a URL.
- What does each metric measure?: what “completed” and “passed” count, precisely.
- Monitoring your synchronisations: the imports that are logged and reviewable.