Inviting Employees & Self-Service

Udyamo HRMS uses a token-based invitation system (powered by the Devise Invitable gem) to onboard employees into the platform. When an administrator creates an employee record, the employee receives an invitation email with a secure link to set up their account. This chapter covers the invitation workflow, employee acceptance, self-service features, and troubleshooting.


Prerequisites

Required: The employee record must exist in the system with a valid email address. See Adding Your First Employee.


How Invitations Work

The invitation system follows this sequence:

  1. Admin creates employee — When an employee record is saved, Udyamo HRMS generates a unique, time-limited invitation token.
  2. Invitation email sent — The system sends an email to the employee's registered email address containing a secure link with the token.
  3. Employee clicks the link — The link opens a page where the employee sets their password.
  4. Account activated — Once the employee sets their password, their account is active and they can log in to the self-service portal.

Tip: The invitation token is cryptographically secure and unique to each employee. It cannot be guessed or reused.


Sending an Invitation

Automatic Invitation on Employee Creation

When you save a new employee record through Employees > Add New, an invitation email is automatically sent to the employee's email address. No additional action is required.

Manual Invitation from Employee Profile

If the automatic invitation was not sent (for example, the email address was added after initial creation), or if you need to resend:

  1. Navigate to Employees from the sidebar.
  2. Click the employee's name to open their profile.
  3. Locate the Invitation Status section or the Actions menu.
  4. Click Send Invitation or Resend Invitation.
  5. A confirmation message appears, and the invitation email is sent.

Send invitation from profile


Invitation Status

Each employee's invitation has one of the following statuses:

StatusMeaning
Invitation SentThe invitation email has been sent but the employee has not yet accepted
Invitation AcceptedThe employee has clicked the link and set their password
Invitation ExpiredThe invitation token has expired without being accepted
Not InvitedNo invitation has been sent (employee was created without a valid email or invitations were disabled)

You can view invitation status in the Employees list. Filter by Invitation Status to find employees who have not yet accepted.


What Employees See

The Invitation Email

The employee receives an email with:

  • A welcome message from the organization
  • The organization name
  • A Set Up Your Account button or link
  • Instructions to click the link within the validity period

The Acceptance Page

When the employee clicks the invitation link:

  1. Their browser opens the Udyamo HRMS acceptance page.
  2. The page displays the organization name and the employee's email (pre-filled).
  3. The employee enters a new password and confirms the password.
  4. Clicks Accept Invitation or Set Password.
  5. The system validates the token, sets the password (stored as encrypted_password on the Employee model), and activates the account.
  6. The employee is redirected to the dashboard.

Invitation acceptance page

Warning: If the employee sees a "Token is invalid or expired" message, the invitation has expired and needs to be resent by an administrator.


Resending Invitations

Invitations may need to be resent in several situations:

ScenarioAction
Employee did not receive the email (spam filter, wrong email)Verify the email address is correct, then resend
Invitation expired before employee acceptedResend to generate a new token
Employee accidentally deleted the emailResend the invitation
Email address was changed after initial invitationUpdate the email on the profile, then send a new invitation

Steps to Resend

  1. Open the employee's profile.
  2. Click Resend Invitation from the Actions menu or Invitation Status section.
  3. A new token is generated and a fresh email is sent.
  4. The previous token is invalidated.

Tip: If multiple employees have not accepted their invitations, you can select them from the Employees list and use the Bulk Resend Invitations action (if available) to resend all at once.


Invitation Token Expiry

The invitation token has a configurable expiry period. By default, tokens are valid for a set number of days after they are generated.

SettingDefaultWhere to Configure
Invitation token validityConfigured in the application (typically 7-30 days)Application settings (Devise configuration)

After expiry:

  • The employee can no longer use the old link.
  • An administrator must resend the invitation to generate a new, valid token.
  • The previous token is permanently invalidated.

Self-Service Portal Features

Once an employee accepts the invitation and logs in, they have access to the self-service portal. This portal allows employees to perform common HR tasks without involving the HR team.

Self-Service Dashboard

After logging in, the employee sees a personalized dashboard showing:

  • Today's attendance status (checked in, checked out, not yet checked in)
  • Leave balance summary (available days for each leave category)
  • Pending requests (leave applications, reimbursement claims awaiting approval)
  • Recent payslips (quick link to the latest payslip)
  • Announcements from the organization

Employee self-service dashboard

Available Self-Service Features

FeatureDescriptionNavigation
View PayslipsDownload monthly payslips in PDF formatMy Payslips or Payroll > Payslips
Apply for LeaveSubmit leave applications with date range, leave category, and reasonLeave > Apply
Check Leave BalanceView available, used, and total leave days for each categoryLeave > Balance
View AttendanceSee daily attendance records, check-in/check-out times, and working hoursAttendance > My Attendance
Check In / Check OutPerform daily check-in and check-out from the portal or mobileDashboard or Attendance > Check In
Update Personal DetailsEdit address, emergency contact, blood group, and other personal fieldsMy Profile > Personal Details
Update Bank DetailsSubmit bank account changes (requires admin approval before payroll use)My Profile > Bank Details
Upload DocumentsUpload identity documents, certificates, and other filesMy Profile > Documents
Upload Profile PhotoSet or change profile photographMy Profile
Submit ReimbursementsCreate expense reimbursement claims with receiptsReimbursements > New Claim
Submit Overtime RequestsRequest overtime approval for extra hours workedAttendance > Overtime > New Request
View AnnouncementsRead company-wide announcements and notificationsDashboard or Announcements
View HolidaysSee the holiday calendar for the current yearLeave > Holidays

Employee vs. Administrator Capabilities

The table below summarizes what employees can and cannot do compared to administrators.

ActionEmployeeAdministrator
View own profileYesYes (all employees)
Edit personal details (address, emergency contact)YesYes
Edit bank detailsYes (pending approval)Yes (immediate)
View own payslipsYesYes (all employees)
Apply for leaveYesYes (on behalf of any employee)
Approve/reject leaveNo (unless manager role)Yes
Check in / check outYesYes (manual entry for any employee)
View own attendanceYesYes (all employees)
Edit attendance recordsNoYes
Submit reimbursementsYesYes
Approve reimbursementsNo (unless manager role)Yes
Submit overtime requestsYesYes
Approve overtime requestsNo (unless manager role)Yes
Add/edit employeesNoYes
Configure departments, officesNoYes
Run payrollNoYes
Change CTC/salary structureNoYes
Configure policies (attendance, leave)NoYes

Tip: Managers occupy a middle ground — they can approve leave, overtime, and reimbursement requests for their direct reports. Manager capabilities are controlled through Roles & Permissions.


Two-Factor Authentication for Employees

Employees can enable two-factor authentication (2FA) for additional security. Udyamo HRMS supports OTP-based 2FA using the otp_secret_key field on the Employee model.

  1. After accepting the invitation and logging in, the employee navigates to My Profile > Security.
  2. Clicks Enable Two-Factor Authentication.
  3. Scans the QR code with an authenticator app (Google Authenticator, Authy, etc.).
  4. Enters the OTP to confirm setup.
  5. From the next login onwards, the employee must enter the OTP after their password.

See Two-Factor Authentication & OTP for detailed setup instructions.


Troubleshooting Invitations

ProblemPossible CauseSolution
Employee did not receive the invitation emailEmail went to spam/junk folderAsk the employee to check spam; whitelist the sending domain
Employee did not receive the invitation emailIncorrect email address on the employee recordCorrect the email and resend the invitation
"Token is invalid or expired" when clicking the linkToken has expiredResend the invitation from the admin panel
"Token is invalid or expired" when clicking the linkEmployee clicked an older invitation link after a resendAsk the employee to use the most recent email
Employee cannot log in after acceptingPassword not meeting complexity requirementsAsk the employee to reset their password; verify password policy
Employee sees a blank page after clicking the linkBrowser compatibility issueTry a different browser (Chrome, Firefox, Edge)
Invitation status shows "Sent" but employee claims they acceptedThe employee may have set the password but not completed the processCheck if the employee can log in; if not, resend the invitation

Warning: Each time you resend an invitation, the previous token is invalidated. If an employee has multiple invitation emails, only the most recent link will work.


Best Practices for Employee Onboarding

  1. Batch your invitations — If importing employees in bulk, schedule the import during business hours so employees receive invitations when they are likely to act on them.
  2. Communicate beforehand — Send a separate announcement (email, Slack, or in person) informing employees that they will receive an invitation from Udyamo HRMS and should look for it.
  3. Set a deadline — Ask employees to accept invitations within a specific number of days. Follow up with employees who have not accepted.
  4. Prepare a quick-start guide — Provide employees with a brief overview of what they can do in the self-service portal (check attendance, apply for leave, view payslips).
  5. Monitor invitation status — Regularly check the Employees list filtered by invitation status to identify employees who have not accepted.

Next Steps