IT Help Desk Ticketing System
Solo Developer
An end to end IT help desk ticketing system built on SharePoint Online and Power Automate, featuring GPT powered email to ticket conversion and automated assignment.
Overview
About the project
IT support teams often run on scattered emails and manual tracking. Tickets get lost, response times slip, and there is no clear view of who is handling what or whether service level deadlines are being met.
I built the system on SharePoint Online as the central record store, orchestrated by eight Power Automate workflows. Incoming emails are turned into structured tickets using GPT to parse unstructured messages into clean fields. Other workflows handle smart assignment to a qualified staff member, priority based due dates that follow SLA timeframes, synchronisation with Microsoft Planner for team collaboration, automated customer notifications at each status change, and role based permissions that prevent unauthorised priority changes.
The ticket lifecycle, from email intake through assignment, tracking, and resolution, is fully automated. It gives the IT team complete visibility of its queue, dependable SLA tracking, and far less manual overhead.
System Overview
At a glance
An end to end IT help desk solution built on Microsoft 365 that turns scattered emails and ad hoc tracking into a single, automated ticket lifecycle. The system runs on SharePoint Online as the record store, with eight Power Automate workflows orchestrating the business logic and a layer of GPT integration parsing unstructured messages into clean, structured tickets.
How It Works
System Architecture
SharePoint Online
Central store for tickets and records
Power Automate
Eight workflows that run the business logic
GPT Integration
Parses unstructured emails into ticket fields
Microsoft Planner
Team task board kept in sync with tickets
Process Flow
How the project moves from start to finish, step by step.
Intake
A request arrives by form or email and becomes a structured ticket.
Process
GPT extracts clean fields and a workflow assigns a qualified staff member.
Track
Priority based due dates and Planner tasks keep the ticket moving.
Notify
Customers receive automated updates at every status change.
System Breakdown
Ticket List Architecture
The SharePoint ticket list is the single source of truth, structured into four logical groups of fields.
Core Fields
Issue
Title of the problem being reported.
Issue Description
Detailed explanation captured from the requester.
Date Reported
Timestamp the ticket was created.
Issue Logged By
Identifies who raised the ticket.
Status Management
Priority
Critical, Normal, or Low — drives due date and routing.
Status
Six different states a ticket can move through.
Category
Issue classification used for reporting and routing.
Due Date
Calculated automatically from the priority and SLA.
Integration Features
Assigned To
The staff member responsible for resolving the ticket.
Planner Task Link
Link out to the matching task in Microsoft Planner.
Associated Files
File attachments captured with the ticket.
Contact Details
Reporter contact info for follow up.
Custom Views
Assigned to You
Personal view of tickets a staff member owns.
By Person
Grouping that shows who owns what.
By Priority
Grouping that surfaces the most urgent work.
By Status
Grouping by lifecycle state across the board.
Workflows
Automated Workflow System
Eight Power Automate flows form the spine of the system, each owning one slice of the ticket lifecycle.
Process Form Ticket — Customer Form
Purpose: Automatically process customer form submissions and create ticket entries.
How it works
- Triggered when a new form response is submitted.
- Extracts form details and the response data.
- Checks for file attachments and handles them either way.
- Creates the list item directly when there is no attachment, or associates the file when there is.
- Ensures data integrity and consistent field mapping.
Planner Task Creation
Purpose: Create corresponding Microsoft Planner tasks for team collaboration.
How it works
- Triggered when a new ticket item is created.
- Creates a new task in Microsoft Planner with the ticket details.
- Generates a unique task ID and a direct link back to the Planner task.
- Updates the ticket with the Planner task link.
- Enables team discussion and documentation against the task.
Intelligent Due Date Setting
Purpose: Calculate and set appropriate due dates based on priority levels.
How it works
- Triggered on item creation or when the priority is modified.
- Evaluates the priority level (Critical, Normal, Low).
- Calculates the due date based on the SLA timeframe.
- Critical gets the shortest timeframe, Normal the standard business timeline, Low an extended deadline.
- Updates the item with the calculated due date.
AI Powered Email Processing
Purpose: Convert incoming support emails into structured ticket data using GPT.
How it works
- Triggered when an email arrives at the support address.
- Extracts the email body text and metadata.
- Sends the text to GPT for intelligent parsing.
- GPT converts the unstructured text into structured ticket fields.
- Creates a new ticket item using the GPT processed data, preserving sender context.
Smart Staff Assignment
Purpose: Assign tickets to the most qualified staff member using AI.
How it works
- Triggered when a new ticket is created.
- Makes an HTTP request to the Microsoft Graph API for an access token.
- Retrieves staff display names and skill sets.
- Combines the issue details with the staff skills data.
- GPT selects the best matched staff member and a second pass extracts and validates the name.
- Updates the ticket with the assigned staff member.
Planner Task Assignment Sync
Purpose: Keep ticket assignments in sync with the Planner task.
How it works
- Triggered when a ticket item is modified.
- Extracts the Planner task link from the ticket.
- Uses the task ID to locate the matching Planner task.
- Retrieves the assigned users from the ticket item.
- Updates the Planner task with the same assigned users so SharePoint and Planner stay consistent.
Automated Customer Notifications
Purpose: Keep customers informed about their ticket status with email updates.
How it works
- Triggered on ticket creation or modification.
- Monitors status changes to In Progress and Completed.
- Checks hidden fields to prevent duplicate notifications.
- Sends a work commencement email on In Progress, and a resolution confirmation on Completed.
- Updates the Mail-In Progress and Mail-Completed tracking fields once sent.
Priority Control & Security
Purpose: Enforce priority modification permissions and maintain data integrity.
How it works
- Triggered on ticket creation or modification.
- Compares the current priority value with the previous value.
- Verifies whether the current user has permission to modify it.
- If authorised, updates the Planner task with a note about the change.
- If unauthorised, reverts the priority via HTTP and emails the user a notification.
- Maintains an audit trail of every change.
What It Does
Features & Capabilities
Email to Ticket
GPT turns messy, unstructured emails into clean tickets.
Smart Assignment
Tickets routed to the right staff member automatically.
SLA Due Dates
Priority based deadlines applied the moment a ticket is created.
Role Based Access
Permissions that prevent unauthorised priority changes.
Running It