Notebook 3: Employee Onboarding
File: 3_EmployeeOnboarding.ipynb
What it creates:
Employee accounts
User login credentials
Role assignments
Jurisdiction (work area) assignments
Requires: Notebooks 1 & 2 completed first

Step 1: Open and Authenticate
Open 3_EmployeeOnboarding.ipynb and authenticate
Step 2: Generate Dynamic Template
Step 2a: Enter tenant ID (e.g., pg.citya)
Step 2b: Click "📋 Generate Employee Template"
Step 2c: Wait while system fetches:
Departments (from Notebook 1)
Designations (from Notebook 1)
Roles (from MDMS)
Boundaries (from Notebook 2)

Step 2d: Click "📥 Download Template"

Step 3: Fill Employee Template
Open the downloaded Excel file
Main columns to fill:
Column
Example
Notes
User Name*
John Doe
Full name
Mobile Number*
9876543210
10 digits, unique
Password
(leave empty)
Default: eGov@123
Department Name*
WATER DEPARTMENT
Use dropdown
Designation Name*
engineer
Use dropdown
Role Names*
GRO,EMPLOYEE
Comma-separated
Assignment From Date*
01-01-2024
DD-MM-YYYY
Date of Appointment*
01-01-2024
DD-MM-YYYY
Use the dropdown menus:
Check reference sheets for help:
README - Roles: Lists all available roles
README - Departments: Department reference
README - Boundaries: Boundary codes

Save the file when done.

Step 4: Upload and Process
Step 4a: Upload your filled template
Step 4b: Click "📤 Upload & Process"

Step 4c: Watch the progress
[PHASE 4] LOADING EMPLOYEES
🔍 PRE-CHECK: Validating Roles in MDMS
✅ All 5 required roles exist in MDMS
[UPLOADING] HRMS Employees
[OK] [1/25] JOHN_DOE
[OK] [2/25] JANE_SMITH
[OK] [3/25] RAJESH_KUMAR
...
[SUMMARY] Created: 25
[SUMMARY] Already Exists: 0
[SUMMARY] Failed: 0
✅ [SUCCESS] Employees uploaded successfully!


Step 5: Handle Errors (If Any)
If some employees failed:

Step 5a: Download the processed file
Step 5b: Open and find FAILED rows
Step 5c: Read the error message
_STATUS
_ERROR_MESSAGE
FAILED
Mobile number already exists

Step 5d: Fix the errors
Step 5e: Delete status columns:
_STATUS
_STATUS_CODE
_ERROR_MESSAGE
Step 5f: Save and re-upload
The system will skip already-successful rows.
Last updated
Was this helpful?