MS Teams Integration
Microsoft Teams is a widely adopted collaboration platform in Indian organizations, particularly those using Microsoft 365. Udyamo HRMS integrates with MS Teams through a dedicated bot that brings key HR actions — leave applications, overtime requests, and attendance — directly into the Teams interface. This chapter covers how to install, configure, and use the Udyamo HRMS Teams bot.
What You Will Learn
- What the Udyamo HRMS Teams bot can do
- How to install the bot in your MS Teams environment
- How the bot authenticates with Udyamo HRMS (token-based)
- How to submit a leave request from Teams
- How to request overtime from Teams
- How to view attendance information from Teams
- How adaptive cards provide interactive forms
- How to troubleshoot common integration issues
Prerequisites
Required: Your organization must have a Microsoft Teams subscription (Microsoft 365 Business Basic or higher).
Required: You must have an Administrator role in Udyamo HRMS to install and configure the Teams integration.
Required: Employees must have matching email addresses in both Udyamo HRMS and Microsoft 365.
Overview of the MS Teams Bot
The Udyamo HRMS bot for Microsoft Teams provides a conversational interface for common HR actions. Instead of opening the Udyamo HRMS web application, employees can perform quick tasks directly in their Teams chat window.
Bot Capabilities
| Capability | Description | Available To |
|---|---|---|
| Submit Leave Request | Apply for leave by specifying the category, dates, and reason — all within Teams | All employees |
| Request Overtime | Submit an overtime request with date, hours, and justification | All employees |
| View Attendance | Check today's attendance status, check-in/out time, and recent attendance summary | All employees |
| Leave Approval Notifications | Receive a notification in Teams when a leave request needs approval | Managers |
| Overtime Approval Notifications | Receive a notification when an overtime request needs approval | Managers |
| Approval Actions | Approve or reject leave and overtime requests directly from the Teams notification | Managers |
How the Bot Communicates
The bot uses adaptive cards — interactive, structured UI elements within Teams messages. Adaptive cards allow the bot to render forms, buttons, and data tables directly in the chat, providing a richer experience than plain text messages.

Installing the Udyamo HRMS Bot in Teams
Step 1: Obtain the Teams App Package
- Log in to Udyamo HRMS as an administrator.
- Navigate to Settings > Integrations > Microsoft Teams.
- Click Download Teams App Package.
- A
.zipfile containing the Teams app manifest is downloaded to your device.
Tip: The app package is a standard Teams app manifest that describes the bot, its permissions, and its capabilities. It does not contain any sensitive data.
Step 2: Upload to Microsoft Teams Admin Center
If your organization uses the Teams Admin Center for app management:
- Log in to the Microsoft Teams Admin Center.
- Navigate to Teams apps > Manage apps.
- Click Upload new app.
- Select the
.zipfile downloaded from Udyamo HRMS. - Review the app details and permissions.
- Click Allow to make the app available to your organization.
Step 3: Alternative — Sideload for Testing
For smaller organizations or testing purposes, you can sideload the app directly:
- Open Microsoft Teams (desktop or web).
- Click the Apps icon in the left sidebar.
- Click Manage your apps at the bottom.
- Click Upload an app > Upload a custom app.
- Select the
.zipfile. - Click Add to install the bot.
Warning: Sideloading must be enabled in your Teams admin settings. If the option is not available, contact your Microsoft 365 administrator.
Step 4: Configure the Integration in Udyamo HRMS
- Navigate to Settings > Integrations > Microsoft Teams in Udyamo HRMS.
- Enter the required configuration details:
| Field | Description | Required |
|---|---|---|
| Bot ID | The Microsoft Bot Framework bot ID (from the Azure Bot registration) | Yes |
| Bot Secret | The bot's client secret for token-based authentication | Yes |
| Tenant ID | Your Microsoft 365 tenant ID | Yes |
| Service URL | The Teams service URL for sending proactive messages | Yes |
- Click Save.
- Click Test Connection to verify the bot can communicate with Teams.

Tip: The Bot ID and Bot Secret are obtained when you register a bot with the Azure Bot Service. Your IT administrator may need to complete this step if it has not been done already.
Token-Based Authentication
The Udyamo HRMS Teams bot uses token-based authentication to securely link a Teams user to their Udyamo HRMS employee account.
How Authentication Works
- When an employee first interacts with the bot in Teams, the bot sends an authentication card asking the employee to sign in.
- The employee clicks Sign In on the adaptive card.
- A browser window opens, directing the employee to the Udyamo HRMS login page.
- The employee logs in using their Udyamo HRMS credentials (email/password, SSO, or OTP).
- Upon successful login, Udyamo HRMS generates a secure token and returns it to the bot.
- The bot stores the token for the Teams user's session.
- All subsequent bot interactions are authenticated using this token.
Token Details
| Property | Value |
|---|---|
| Token type | Bearer token |
| Expiry | Configurable (default: 24 hours) |
| Refresh | Automatic refresh when the token nears expiry, if the user has an active Teams session |
| Revocation | Token is revoked when the employee's Udyamo HRMS account is deactivated |
Warning: The authentication token links a specific Teams user to a specific Udyamo HRMS account. If an employee uses a shared Teams account (not recommended), the bot will associate actions with whichever Udyamo HRMS account authenticated last.

Using the Bot: Submit a Leave Request
Employees can apply for leave directly from Microsoft Teams without opening the Udyamo HRMS web application.
Step-by-Step: Apply for Leave in Teams
- Open Microsoft Teams.
- Find the Udyamo HRMS bot in your chat list (or search for it in the Apps section).
- Type "apply leave" or "leave" in the chat.
- The bot responds with an adaptive card containing a leave application form:
| Field | Description |
|---|---|
| Leave Category | Dropdown to select the leave type (Casual Leave, Sick Leave, etc.) |
| Start Date | Date picker for the first day of leave |
| End Date | Date picker for the last day of leave |
| Half Day | Toggle if applying for a half day |
| Reason | Text field for the leave reason |
- Fill in the form fields on the adaptive card.
- Click Submit.
- The bot confirms the submission and shows the leave request details.
- The leave request appears in Udyamo HRMS with Pending status, just as if it had been submitted through the web application.

Tip: The leave categories shown in the Teams form match the leave categories configured in Udyamo HRMS. If a category is missing, check your leave category settings in the web application.
Using the Bot: Request Overtime
Employees who need to log overtime hours can submit requests through the Teams bot.
Step-by-Step: Request Overtime in Teams
- Open the Udyamo HRMS bot chat in Teams.
- Type "overtime" or "request overtime".
- The bot responds with an overtime request adaptive card:
| Field | Description |
|---|---|
| Date | The date of the overtime work |
| Hours | Number of overtime hours to claim |
| Reason | Justification for the overtime work |
- Fill in the details.
- Click Submit.
- The bot confirms the submission.
- The overtime request appears in Udyamo HRMS for manager approval.
Using the Bot: View Attendance
Employees can quickly check their attendance status without leaving Teams.
Step-by-Step: Check Attendance in Teams
- Open the Udyamo HRMS bot chat in Teams.
- Type "attendance" or "my attendance".
- The bot responds with an attendance summary card showing:
| Information | Description |
|---|---|
| Today's Status | Present, Absent, On Leave, or Not Checked In |
| Check-In Time | Time of today's check-in (if recorded) |
| Check-Out Time | Time of today's check-out (if recorded) |
| Hours Worked | Total hours worked today |
| This Month | Summary — present days, absent days, leave days, late arrivals |

Tip: The attendance data shown by the bot is read from the same database as the web application. Any corrections made in the web application are immediately reflected in the bot's responses.
Manager Notifications and Approvals
The Teams bot also serves managers by delivering actionable notifications for leave and overtime requests.
Leave Approval Notifications
When an employee submits a leave request, the reporting manager receives a Teams notification:
- The bot sends an adaptive card to the manager's chat with the following details:
- Employee name
- Leave category
- Date range
- Reason
- Current leave balance
- The card includes two action buttons: Approve and Reject.
- The manager clicks Approve or Reject directly on the card.
- If rejecting, an optional text field appears for the rejection reason.
- The bot confirms the action and notifies the employee of the decision.
Overtime Approval Notifications
Similar to leave approvals:
- The manager receives an adaptive card with overtime request details.
- The card includes Approve and Reject buttons.
- The manager takes action directly from Teams.

Tip: Approving or rejecting through the Teams bot has the exact same effect as doing it through the Udyamo HRMS web application. The action is logged in the system's audit trail.
Adaptive Cards Reference
Adaptive cards are the primary UI mechanism for the Teams bot. They provide structured, interactive content within Teams messages.
What Adaptive Cards Support
| Element | Description | Used For |
|---|---|---|
| Text blocks | Display text with formatting | Showing information, instructions |
| Input fields | Text boxes, date pickers, dropdowns | Collecting user input (leave dates, reasons) |
| Action buttons | Clickable buttons that trigger actions | Submit, Approve, Reject, Cancel |
| Fact sets | Key-value pairs displayed in a table format | Attendance summary, leave balance |
| Image | Display images | Avatars, status icons |
Card Types Used by Udyamo HRMS Bot
| Card | Trigger | Content |
|---|---|---|
| Authentication Card | First interaction with the bot | Sign-in button and instructions |
| Leave Application Card | Employee types "apply leave" | Form with leave category, dates, reason |
| Overtime Request Card | Employee types "overtime" | Form with date, hours, reason |
| Attendance Summary Card | Employee types "attendance" | Today's status and monthly summary |
| Leave Approval Card | Employee submits a leave request | Request details with Approve/Reject buttons (sent to manager) |
| Overtime Approval Card | Employee submits an overtime request | Request details with Approve/Reject buttons (sent to manager) |
| Confirmation Card | After any submission or action | Success/failure message with details |
Bot Commands Reference
| Command | Aliases | Response |
|---|---|---|
help | hi, hello | Displays available commands and a brief description of each |
apply leave | leave, request leave | Opens the leave application adaptive card |
overtime | request overtime, ot | Opens the overtime request adaptive card |
attendance | my attendance, status | Displays the attendance summary card |
balance | leave balance | Shows current leave balances by category |
sign out | logout | Revokes the bot's authentication token for the current user |
Setting Up the Integration — Summary Checklist
Use this checklist to ensure all setup steps are completed:
| Step | Action | Status |
|---|---|---|
| 1 | Register a bot with Azure Bot Service | |
| 2 | Download the Teams app package from Udyamo HRMS | |
| 3 | Upload the app package to Teams Admin Center (or sideload) | |
| 4 | Enter Bot ID, Bot Secret, and Tenant ID in Udyamo HRMS | |
| 5 | Test the connection from Udyamo HRMS settings | |
| 6 | Have a test employee authenticate with the bot in Teams | |
| 7 | Test leave submission, overtime request, and attendance query | |
| 8 | Test manager notification and approval flow | |
| 9 | Roll out to the organization via Teams app policy |
Troubleshooting
Common Issues and Solutions
| Problem | Possible Cause | Solution |
|---|---|---|
| Bot does not respond | Bot is not installed or authentication has expired | Reinstall the bot or type "sign out" and re-authenticate |
| "Authentication failed" | Token has expired or employee account is deactivated | Re-authenticate by clicking Sign In; check account status in Udyamo HRMS |
| Leave categories not showing | Leave module not enabled or no categories configured | Enable the Leave feature and configure categories in Udyamo HRMS |
| Manager not receiving approval notifications | Reporting manager not assigned to the employee | Assign a reporting manager in the employee's profile |
| Bot not found in Teams | App not uploaded or not approved by Teams admin | Upload the app package or contact your Microsoft 365 admin |
| Adaptive card buttons not working | Teams client version too old | Update Microsoft Teams to the latest version |
| "Service URL invalid" error | Incorrect service URL in Udyamo HRMS configuration | Verify the service URL matches the Teams environment (commercial, GCC, etc.) |
| Bot works for some users but not others | Inconsistent email matching | Ensure all employees have matching emails in both Teams and Udyamo HRMS |
Checking Bot Logs
- Navigate to Settings > Integrations > Microsoft Teams in Udyamo HRMS.
- Click View Logs (if available).
- Review recent bot interactions for errors or authentication failures.
Security Considerations
| Consideration | Details |
|---|---|
| Data in transit | All communication between Teams and Udyamo HRMS is encrypted via HTTPS/TLS |
| Token storage | Authentication tokens are stored securely and scoped to individual users |
| No password storage | The bot never stores or transmits Udyamo HRMS passwords — authentication is token-based |
| Audit trail | All actions performed via the bot are logged in Udyamo HRMS just like web actions |
| Deprovisioning | When an employee is terminated in Udyamo HRMS, their bot token is automatically revoked |
Best Practices
- Roll out in phases. Start with a pilot group to test the bot before deploying to the entire organization.
- Train employees on bot commands. Share the command reference so employees know what they can do.
- Ensure email consistency. The bot relies on email matching — mismatched emails will cause authentication failures.
- Monitor usage. Track how many employees use the bot vs. the web app to gauge adoption.
- Keep the Teams app updated. When Udyamo HRMS releases bot updates, download the new app package and upload it to Teams.
- Use the bot for quick actions. For complex tasks (e.g., salary configuration, report generation), continue using the web application.
What Comes Next
With security and integrations covered, the final part of the guide addresses subscription and license management. Proceed to Chapter 47: License Management.