Employee Help Desk System with SharePoint (On-Premise)
Introduction
SharePoint is a powerful collaboration platform that can be customized to meet various business needs. This blog demonstrates how to build a real-time Employee Help Desk System using SharePoint On-Premise. It includes ticket management, notifications, and a dashboard for monitoring.
1. Understanding the Requirements
Objective: Build a centralized help desk system to manage employee tickets.
Key Features:
- Employees can submit tickets through a SharePoint list.
- Help desk agents are notified in real-time.
- Dashboard to monitor ticket statuses and SLAs.
2. Setting Up SharePoint On-Premise
Prerequisites
- SharePoint 2016/2019 On-Premise installed.
- SharePoint Designer 2013 for workflows.
- Administrative access to SharePoint Central Admin.
Create a Help Desk Site
- Open SharePoint Central Administration.
- Create a new team site and name it Employee Help Desk.
- Configure permissions:
- Employees: Contribute permissions.
- Help Desk Agents: Edit permissions.
- Admins: Full Control.
3. Design the System
Step 1: Create a Ticket Submission List
- Navigate to the Help Desk site.
- Create a custom list named Tickets with the following columns:
- Title (Single Line Text): Ticket title.
- Description (Multiple Line Text): Detailed description.
- Category (Choice): Issue category (e.g., IT, HR, Finance).
- Priority (Choice): High, Medium, Low.
- Status (Choice): New, In Progress, Resolved, Closed.
- Assigned To (Person/Group): Agent assigned.
- Created By (Default): Auto-populated by SharePoint.
- Created Date (Default): Auto-populated by SharePoint.
Step 2: Configure Notifications with Workflows
- Open SharePoint Designer 2013.
- Connect to your Help Desk site.
- Create a new workflow for the Tickets list:
- Trigger: When a new item is created.
- Action: Send an email notification to the assigned agent.
Example Email Template:
Subject: New Ticket Assigned - {Current Item: Title}
Body:
A new ticket has been assigned to you.
Details:
- Title: {Current Item: Title}
- Description: {Current Item: Description}
- Priority: {Current Item: Priority}
- Assigned By: {Current Item: Created By}
- Publish the workflow.
Step 3: Create Views for Real-Time Monitoring
- All Tickets View: Displays all tickets with key details.
- My Tickets View: Filters tickets by the logged-in user.
- Dashboard: Use a combination of views and web parts to summarize:
- Total Tickets.
- Tickets by Status.
- Average Resolution Time.
4. Adding Real-Time Features
Enable Real-Time Notifications
Configure SharePoint Alerts:
- Users can subscribe to alerts for updates on tickets they created or are assigned to.
- Alerts are sent via email or SMS (if configured).
Use PowerShell to automate alert subscriptions for new users:
Add-PSSnapin Microsoft.SharePoint.PowerShell
$web = Get-SPWeb "http://yoursharepointsite"
$list = $web.Lists["Tickets"]
$user = $web.EnsureUser("DOMAIN\\username")
$list.AddAlert($user, "New Tickets")
Implement SignalR for Live Updates (Optional)
- Deploy a custom web part using SharePoint Framework (SPFx).
- Use SignalR in the web part to display live updates of ticket changes.
5. Advanced Customization
Integrate with Microsoft Teams (Optional)
- Create a Microsoft Teams channel for the Help Desk.
- Use Power Automate to send ticket updates to the Teams channel.
Generate Reports with Power BI
- Export the Tickets list to Power BI.
- Create interactive dashboards showing:
- Ticket trends.
- Average resolution time by agent.
- SLA compliance.
6. Testing and Deployment
- Test the workflows by creating sample tickets.
- Verify email notifications are sent correctly.
- Test the dashboard to ensure ticket data is updated in real-time.
7. Presenting to the Client
Key Points to Showcase:
- Ease of Use: Demonstrate how employees can quickly submit tickets and track status.
- Efficiency: Highlight real-time notifications and the dashboard's insights.
- Scalability: Explain how the system can be extended for additional workflows or integrations.