All Projects
2025Automation

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.

SharePoint OnlinePower AutomateMicrosoft Graph APIMicrosoft PlannerGPT Integration

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.

1
Step 1

Intake

A request arrives by form or email and becomes a structured ticket.

2
Step 2

Process

GPT extracts clean fields and a workflow assigns a qualified staff member.

3
Step 3

Track

Priority based due dates and Planner tasks keep the ticket moving.

4
Step 4

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.

1

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.
2

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.
3

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.
4

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.
5

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.
6

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.
7

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.
8

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

Deployment & Technology Stack

SharePoint OnlineRecord Store
Power AutomateWorkflow Engine
Microsoft Graph APIIntegration Layer
Microsoft PlannerTask Board
GPTEmail Parsing