Conduit is a data integration plugin available exclusively in Open LMS that automates the management of users, courses, enrollments, groups, and more. It serves as a bridge between external systems and Open LMS, streamlining data imports and updates.
✅ Key Uses of Conduit
Automate course/user/enrollment data imports and other operations.
Support both manual (interface menus) and automated processes (via SFTP or web services).
Ensure data consistency between Open LMS and external systems.
Integration with external systems like HR or CRM.
Scalable and maintainable course and user management.
Reduction of manual administrative overhead.
Alignment with enterprise-grade automation standards.
🔧 Core Features
Feature
Purpose
Mappings
Define how fields from CSV/XML/SFTP map to Open LMS fields.
Multiple input methods
Upload files via UI, send via SFTP, or use RESTful APIs.
Field Actions
Supports create, update, and delete for most data types.
Field Defaults
Configure default values if fields are missing from the data.
Maxbytes Mapping
Sets the maximum file upload size in courses.
Logging & Validation
Warns or errors when mappings/data are incorrect.
Cron-Based Processing
Scheduled background jobs handle processing.
🧩 Supported Data Types (Record Types)
Record Type
Key Fields Needed
Example Use Case
Users
username, email, name, city
Adding student accounts
Courses
shortname, fullname
Bulk create courses for the term
Enrollments
coursekey, userkey, role
Enrol students into courses
Groups
coursekey, groupkey
Create discussion groups
Group Members
coursekey, userkey, groupkey
Add students to groups
Cohort Members
userkey, cohortkey
Add users to program cohorts
Role Assignments
context, moodlekey, userkey, rolekey
Assign users roles in specific contexts
📤 Data Submission Methods
Method
Pros
Use When
Edit tab (manual)
Quick and easy for small changes
You want to test or make small edits
Upload tab (on-screen interface)
Easy but limited (up to 1MB per file)
Uploading small batch files
SFTP
Best for large or automated uploads
Scheduled or large data transfers
Web Services (REST API)
Real-time integration without files
You want real-time updates
📁 File Management Rules
Files over 1 MB should be uploaded via SFTP (not the interface).
Always include an action column (case-sensitive, lowercase).
Column headings are case-sensitive and must match mappings exactly
Only underscores (_) are allowed as special characters
Headers must begin and end with an alphanumeric character
The file name must match the configuration in Conduit > Settings > File (user.csv, course.csv, etc.).
Use wildcards such as course_*.csv to create dynamic file names.
Supported formats: .csv, .xml
The file must be placed in the specified SFTP directory
Default File Names:
user.csv
course.csv
enroll.csv
groups.csv
group_members.csv
role_assign.csv
cohort.csv
🔄 Processing & Cron Jobs
Files are processed by scheduled Conduit cron jobs.
Cron runs every 15–20 minutes.
Files are processed in this priority:
Courses
Users
Enrollments
Role Assignments
Groups
Group Members
Cohort Users
Processed files are deleted or quarantined if errors occur.
⚠️ Common Issues
Issue
Troubleshooting Tip
File not processing
Check the file name, mappings, and location
Field not updating
Ensure Update Moodle is selected in mappings
Users not unenrolling
Ensure action = delete & auto-unenroll is ON
Incorrect mappings
Mapping must match column names exactly (case-sensitive)
Most Common Use Cases
Bulk onboarding of new users and staff
Scheduled enrollment updates based on semester/session
Group and cohort assignment via CRM exports
Sync profile updates from external systems into Open LMS
Known Limitations
The interface does not update in real-time; a page refresh may be needed