
In this opening lesson, you’ll understand exactly what we’re building, a fully automated Helpdesk and query management system using Microsoft 365 tools you already have access to.
We’ll walk through the business use case, the system components, and how SharePoint, Microsoft Forms, Power Automate, Excel, and Power BI connect together to create a professional workflow solution. See attached flowchart
By the end of this lesson, you’ll have a clear roadmap of the full build journey and know what outcome you’ll achieve.
Join the Telegram group for support, updates, and discussions
In this lesson, you’ll build the foundation of the helpdesk system by creating the SharePoint site and the core ticket tracking list.
We’ll configure structured columns in this order:
ID (Ticket ID number)
Title (Name of Requester)
Attachments
Requester Email Address
Department
Status (Choice: New, In Progress, Resolved)
Query (Description of query)
Assigned To (Person)
First Contact Date (Date & Time)
Resolution Date (Date & Time)
Link to Attachments
You’ll also define internal column names correctly so Power Automate connects seamlessly.
By the end, your helpdesk database will be fully structured and ready for automation.
In this lesson, you’ll build a professional Microsoft Form that feeds directly into your helpdesk system.
Below are questions you can ask the submitter to record in your tracker (MS List)
You can start with the standard questions below:
Name (Free Text)
Email Address (If the form is open to external users)
Department (Choice question)
Topic (Choice question)
Query (Free Text Long)
Attachments (e.g. PDF, Word, Excel)
We’ll configure:
Required fields
Dropdown priority selections
Conditional questions
File upload options (if applicable)
This form acts as the front door of your support system.
By the end, you’ll have a structured intake process that ensures clean data collection.
Now we automate the process.
You’ll build a Power Automate flow using:
Trigger:
“When a new response is submitted”
Actions:
Get response details
Create item (SharePoint)
We’ll correctly map dynamic content fields and ensure column internal names match exactly.
By the end, your system will automatically log every submission into SharePoint.
In this lesson, we handle file attachments and conditional branching inside the workflow.
You’ll configure adding a link to the attachment submitted in the MS Form
IMPORTANT:
Set Variable 2 : first(body('Parse_JSON')).link
Compose: replace(variables('URL'),'&action=default&mobileredirect=true','')
This ensures the system processes attachments properly and handles logic branches without errors.
By the end, your system will support supporting documents and structured automation flows.
Troubleshoot:
If the above doesn't work when testing, try the below:
Alternative Compose: first(split(decodeUriComponent(replace(variables('URL'),'&action=default&mobileredirect=true','')),'?'))
This lesson elevates your system to a professional standard.
You’ll:
Send automated email confirmations
Attach a structured ticket summary
You’ll use a structured text template (provided as a downloadable MS Word file) to input into your compose and format the ticket summary clearly.
This creates a professional confirmation experience for requestors.
Security is critical in any business system.
You’ll learn how to:
Break inheritance
Remove default permissions
Set the basis to apply view only ticket tracking permission for your ticket tracker page
We’ll ensure your system protects sensitive ticket data while remaining easy to use.
By the end, your helpdesk will be secure and role-controlled.
Security is critical in any business system.
You’ll learn how to:
Grant view-only access to requestors
Restrict edit access to the support team
IMPORTANT:
Send HTTP request to break inherited perms:
URI: /_api/lists/getByTitle('Name of list')/items(Create item tag)/breakroleinheritance(copyRoleAssignments=false,clearSubscopes=true)
Capture email:
replace(variables('TxtEmail'),'"','')
Send an HTTP request to SharePoint to get user email:
URI: /_api/web/SiteUsers/getByEmail('@{variables('TxtEmail')}')
Initialize User email variable:
Value: body('Send_an_HTTP_request_to_SharePoint_to_get_user_email')['d']['id']
User email:
Inputs: variables('User_ID')
Send an HTTP request to SharePoint 2:
URI: /_api/lists/getByTitle('B')/items(Name of list)?[‘ID TAG’]})/roleassignments/addroleassignment(principalid=@{variables('User_ID')},roledefid=1073741826)
We’ll ensure your system protects sensitive ticket data while remaining easy to use.
By the end, your helpdesk will be secure and role-controlled.
In this lesson, you’ll connect your SharePoint data to Excel for operational reporting.
You’ll use the downloadable Excel template included in this course to:
Excel data warehouse with a live feed from your MS List
Track open vs resolved tickets
Monitor response times using various formulas
This template can be reused across departments.
By the end, you’ll have a practical reporting layer ready for management.
In this lesson, we upload the attachments to the ticket and conditional branching inside the workflow.
IMPORTANT:
Get file Content using path: *to input at the end of pathway*
first(body('Add_Attachment_1'))?['name']
Add Attachment:
first(body('Add_Attachment_1'))?['name']
Here we introduce operational performance tracking.
You’ll configure automation logic to update:
First Contact Date → when status changes to “In Progress”
Resolution Date → when status changes to “Resolved”
This enables SLA tracking and performance reporting later in Power BI.
By the end, your system will automatically measure response performance.
Now we move into advanced reporting.
You’ll connect Excel date warehouse data directly into Power BI
We’ll transform fields, clean date columns, and prepare your dataset for visualisation.
This prepares the foundation for executive-level dashboards.
In the final build lesson, you’ll design a clean, professional Power BI dashboard.
You’ll create visuals such as:
Open vs Resolved Tickets
Tickets by Priority
Average Resolution Time
Tickets by Department
By the end, you’ll have a management-ready performance dashboard.
This course teaches you how to build a complete helpdesk and query management system using the Microsoft 365 tools you already have — at zero additional cost. Even if you’re new to automation, you’ll learn step by step how to create forms, build a central ticket tracker, set up automated workflows, and turn your everyday Microsoft apps into a practical support solution your team can rely on.
In this hands-on, project-based course, you’ll learn how to connect SharePoint, Microsoft Forms, Excel, Power Automate, and Power BI into a fully functional request-tracking system suitable for businesses, schools, and teams of any size.
You will build:
A SharePoint ticket tracker
A Microsoft Form for capturing user queries
An automation engine in Power Automate
An Excel reporting layer
An optional Power BI dashboard for insights
By the end, you’ll have your own customised helpdesk system — ready to deploy to your team — and the skills to expand, automate, and enhance it as your organisation grows. This course is designed for beginners and improvers alike, with step-by-step guidance, practical exercises, and clear explanations that leave no one behind.
Whether you're looking to reduce manual work, introduce automation into your role, or provide structured visibility across your team, this course gives you a real, working solution — not theory.
You’ll walk away with a professional system, practical experience, and the confidence to build more automated workflows in the future.