Skip to main content
Question

Archive and Unenroll via CSV

  • May 19, 2026
  • 1 reply
  • 10 views

Many of our courses include inactive users who are still enrolled. I can identify the inactive users and the courses they’re enrolled in, and I’d like to archive and unenroll them (via CSV) from any courses they’ve already completed. Ideally, I’d like to do this for all identified inactive users across all courses in a single CSV upload.

Is this possible?

1 reply

Moshe.Machlav
Guide I
Forum|alt.badge.img+1

The short answer is a mix of yes and no, depending on exactly what you want to happen to that historical data.

While you can bulk-unenroll users across multiple courses in a single CSV file, you cannot natively use a CSV upload to trigger Docebo’s "Archive" enrollment feature.

Here is how the mechanics split out under the hood and the patterns typically used to solve this at scale:

1. The Native CSV Route (Unenroll Only)

If your primary goal is simply to remove the active enrollment so the courses disappear from their dashboard, you can use a single multi-course CSV.

  • Navigate to Admin Menu > Courses > Manage Enrollments (top right) > Manage enrollments via CSV.

  • Select the Unenroll users option in the slide-out panel.

  • Your CSV will map the username (or user_id) and the course_code.

The Catch: This performs a standard unenrollment. It does not convert their completion records into a frozen, historical snapshot inside Docebo’s dedicated "Archived Enrollments" database. If you require strict audit logs where the precise completion state is explicitly isolated as "Archived," standard CSV unenrollment won't satisfy that requirement.

2. The Native Archiving Route (Course-by-Course)

Docebo’s native Archive enrollments tool (which gives you the specific "Archive and Unenroll" popup) is technically isolated to a course-by-course manual action in the Admin UI. You have to open the specific course, go to the Enrollments tab, filter by your criteria, select the users, and choose Archive enrollments via the bottom-right actions menu.

How to Automate This at Scale

When I’ve deployed user lifecycle and offboarding automations for organizations with similar compliance requirements, relying on manual CSV cleanups across hundreds of courses inevitably creates a bottleneck.

If you absolutely must archive the completions across all courses in one sweeping action rather than just unenrolling them, you will need to bypass the standard import UI:

  • Docebo Connect: You can build an integration recipe that identifies inactive users, maps their completed course IDs, and passes them to the archive endpoint.

  • Docebo API: You can use a script leveraging the backend enrollment update endpoints (passing the enrollment_mode: delete and reset_tracking: false parameters to mimic the UI's "Archive and Unenroll" behavior).