to select ↑↓ to navigate
Smooth LMS

Smooth LMS

Assign Training From Hr

Assign Training from HR

HR and L&D teams assign courses to employees beyond automatic onboarding enrollment using LMS Training Assignment, desk enrollment tools, and the whitelisted API assign_mandatory_training. This guide covers who may assign, how assignments create LMS Enrollment rows, due dates, team dashboards, and coordination with Smooth HR roles and compliance workflows.

Assignments bridge People records (via User email) and onboarding auto-enroll. Completed assignments still require HR compliance handoff per Compliance Vs Lms Certificates.

Help URL: Assign Training From Hr

Roles reference: User Roles & Permissions


Table of Contents

  1. Overview
  2. Who can assign
  3. LMS Training Assignment fields
  4. API: assign_mandatory_training
  5. Desk workflow
  6. Learner view
  7. Manager and HR dashboards
  8. Relationship to batches and live classes
  9. Compliance coordination
  10. Troubleshooting
  11. Related guides

Overview

Method Best for
Auto onboarding hook Baseline mandatory courses for all new hires
assign_mandatory_training API Bulk assign from LMS UI or custom HR desk script
Manual LMS Training Assignment One-off remedial training
LMS Enrollment (desk) L&D enroll without due date tracking
LMS Batch Enrollment Cohort programs with live classes

LMS Training Assignment tracks:

  • Employee (Link to User email)
  • Course
  • Due Date (required)
  • Status: Pending, In Progress, Completed, Overdue
  • Assigned By, Completed On

List path: /app/lms-training-assignment


Who can assign

Role Create assignments API access
System Manager Yes Yes
Moderator Yes Yes
HR Manager Via team APIs (read); assign if granted Moderator get_team_training_status
HR User No by default No
LMS Student Read own only get_my_training_assignments

assign_mandatory_training calls frappe.only_for(["System Manager", "Moderator"]).

If HR operations need direct assign without Moderator, add role via User Roles & Permissions policy—or delegate assignment to L&D Moderators while HR owns Employee Compliance verification.


LMS Training Assignment fields

Field Description
Employee User linked to HR Employee.user_id
Course Published LMS course
Due Date Deadline; scheduler marks Overdue
Status Auto-updated from enrollment progress
Assigned By Defaults to current user
Completed On Set when status → Completed
Reminder Sent Internal flag for email jobs

Validation prevents duplicate open assignments (same employee + course + Pending/In Progress).

Ensure Employee has LMS Student (Employee Auto Provisioning) before assigning.


API: assign_mandatory_training

Whitelisted method: lms.lms.api.assign_mandatory_training

Parameters:

  • course — LMS Course name
  • employees — JSON list of User emails
  • due_date — ISO date string

Behavior per employee:

  1. Skip if open assignment already exists.
  2. Create LMS Enrollment if missing.
  3. Create LMS Training Assignment with due date and assigned_by.

Returns {"assigned": N}.

Use from LMS frontend bulk assign UI or advanced workflow automation (contact Smooth support) triggered by HR workflow (advanced).

Related learner API: get_my_training_assignments — returns open assignments with course title, progress, due date.


Desk workflow

Single assignment

  1. Go to /app/lms-training-assignment/new-lms-training-assignment.
  2. Employee — pick User (search employee email).
  3. Course — select published course.
  4. Due Date — set per policy (30/60/90 days).
  5. Save — enrollment created if needed.

Bulk assignment

Use LMS Statistics or course admin tools calling assign_mandatory_training, or export Employee emails from HR reports (People) and paste into bulk dialog.

After role change (promotion to manager), assign new curriculum without re-running Employee Onboarding.


Learner view

Employees see assignments on:

  • /lms home widgets (when configured)
  • Course cards with due badges
  • Email reminders before overdue

Progress comes from LMS Enrollment.progress; completing course marks assignment Completed (via training assignment controller).

Direct learners to Onboarding Portal for HR tasks and /lms for training—same login.


Manager and HR dashboards

API / view Audience Data
get_team_training_status Moderator, HR Manager, System Manager Per-user active/completed/overdue counts
get_advanced_statistics → compliance L&D leadership Mandatory assignment completion rate
HR Employee Compliance list HR compliance Regulatory status separate from LMS

Use LMS dashboard for learning operations; use Employee Compliance for regulatory sign-off.


Relationship to batches and live classes

Assignments enroll courses, not batches. For instructor-led programs:

  1. Create LMS Batch with timetable.
  2. Add Batch Course rows.
  3. LMS Batch Enrollment auto-creates course enrollments and adds learners to live class calendar events.

Use assignments for deadline-driven compliance; use batches for scheduled cohort experience.


Compliance coordination

When assigning regulatory courses:

  1. Create matching Compliance Type in HR if not exists (Employee Compliance).
  2. Create Employee Compliance row in Pending when assigned (optional proactive step).
  3. On LMS completion, attach certificate and mark Complete (Compliance Vs Lms Certificates).

Assignment Overdue in LMS does not auto-set HR Non-Compliant—define escalation SOP between HR and managers.


Troubleshooting

Issue Fix
Permission denied on assign Grant Moderator or use System Manager
Employee not in list Missing User / LMS Student
Assignment created but no portal course Check course Published
Progress stuck Learner must complete lessons/quizzes
HR sees overdue but compliance Complete Different systems—reconcile dates


Last updated: May 2026


Escalation playbooks

Define tiers when LMS Training Assignment hits Overdue:

Tier Days overdue Action HR system
1 0–7 Manager email nudge
2 8–14 HR outreach Note on Employee Onboarding or employee file
3 15+ Compliance flag Set Employee Compliance In Progress or Non-Compliant per policy

LMS overdue status alone is operational—translate to HR compliance language for regulators.


Integration with performance cycles

When Performance appraisals include "complete assigned training," managers pull data from get_team_training_status rather than self-attestation. Link appraisal templates to LMS completion exports for audit trail.


Custom desk extensions (advanced)

Organizations may add Client Script on Employee form button Assign training calling assign_mandatory_training with default due date from template rules—keep Moderator permission on API.

Server Script alternative: on Employee department change, enqueue assignment for department-specific course list maintained in custom configuration list.

Document customizations separately from stock integration behavior.


Reporting exports

Report need Suggested export
All overdue by department LMS Assignment list + Employee join via User email
Completion before start date Filter assignment Completed + Employee joining date
Audit sample Random 10% Completed with certificate attach verification

Cross-check Employee Documents folder for PDF presence.


FAQ

Can employees self-enroll to satisfy assignment? If course allows self-enrollment and learner enrolls before assignment, assignment API still creates tracking row when moderator assigns—or mark complete when progress hits 100%.

Duplicate course in batch + assignment? Allowed; learner sees one course with two operational wrappers—avoid confusion by using batches OR assignments, not both for same deadline without comms.


Role-based training curricula

Job family Example LMS courses Assignment trigger
All employees Harassment, security Onboarding hook
Managers People leadership Promotion → HR notifies L&D
Drivers DOT safety Department = Logistics
Engineers IP protection Assign Training From Hr bulk

Maintain curriculum map with People job titles and Performance competency models.


Desk list views and filters

On /app/lms-training-assignment:

  • Filter Status = Overdue for weekly HR standup.
  • Filter Course for module rollout post-incident.
  • Export CSV joined to Employee for department dashboards.

Pair with HR list /app/employee-compliance filtered Non-Compliant for regulatory view described in Compliance Vs Lms Certificates.


Permissions hardening

Avoid granting Moderator broadly; use dedicated L&D accounts. HR Managers read team status via API without course authoring rights. Document exceptions in User Roles & Permissions change log.

System Managers run assign_mandatory_training during cutover— revert to named L&D users after migration.


Notification and reminder mechanics

LMS Training Assignment scheduler marks overdue rows and can send reminder emails before due dates (see training assignment reminders). These emails are LMS operational, not HR compliance expiry notices from Employee Compliance.

Configure email branding consistently with Onboarding Portal messages so employees trust links. Include /lms deep link and HR helpdesk for access issues tied to missing LMS Student role.

When HR assigns remedial training after a safety incident, set due dates aggressively (7 days) via desk edit—document in incident report stored as Employee Document.

Keep a single source of truth for who may assign: document Moderator roster in L&D charter and link HR coordinators to integration overview for escalation paths.



Smooth HR (HRMS)

Guide Link
HR help home smoothhiring.com/help/hrms
Employee records hrms/people/employee-records
Onboarding overview hrms/onboarding/overview
Onboarding templates hrms/onboarding/onboarding-templates
Employee onboarding hrms/onboarding/employee-onboarding
Documents & compliance hrms/documents-compliance/overview
Employee compliance hrms/documents-compliance/employee-compliance
Signature templates hrms/documents-compliance/signature-templates
Last updated 1 week ago
Was this helpful?
Thanks!