🧠 Project Report: Student Help Chatbot using Microsoft Copilot Studio

🎯 Project Overview

Objective: To build a conversational Copilot that helps students get fast answers to common academic questions when faculty or advisors are unavailable — such as office hours, exam schedules, or course-related inquiries.

Why: Students often ask repetitive questions outside business hours. This project aims to improve response availability while reducing faculty load.

README – As I update this project almost daily

Version 1: The initial draft for my learning by doing practice.

Version 2: Adding the memory, which are SharePoint list for the agent, fixing the agent brain logic – Power Automate – here and there.

Version 3: Adding some tools such as email parser, creating Power Apps for student access.

This project is a learning by doing practice, thank you for your patience! I appreciate any constructive feedback!

🛠️ Tools & Platform

ToolPurpose
Microsoft Copilot StudioGPT-based chatbot creation platform
Power AutomateBackend automation (logging, escalation)
SharePoint ListSimple storage for unanswered questions

📌 Project Scope & Features

GPT-based Copilot

Fallback Escalation

Backend Logging

🚀 Step-by-Step Implementation

✅ Results (So Far)

🎥 Demo Videos

  • Version 1: Demonstrates handling of basic questions and answers.
  • Version 2: Shows performance with uploaded knowledge base for complex issues.

🧭 Next Steps

TaskStatus
Format course documents for grounding⬜ To Do
Upload university FAQ pages for backup⬜ To Do
Evaluate and improve GPT retrieval accuracy⬜ To Do
Automate periodic update of SharePoint list from Excel⬜ Bonus
Export full chatbot flow for documentation⬜ Optional

📐 Best Practices for Building AI Agents in Microsoft Copilot Studio

Audience: Prompt Engineers and AI Professionals working in Microsoft Copilot Studio and Foundry environments

💸 Zero-Cost Chatbot Plan (Microsoft Education Tenant)

This table outlines features and tools we used while staying within Microsoft’s no-cost limits for education tenants.

Feature Use Case Billing Rate Used?
Classic Answers Simple Q&A (FAQ) 1 message ✅ Yes
Generative Answers Flexible phrasing from KB 2 messages ✅ Used with caution
Agent Actions Trigger escalation, fallback 5 messages ✅ Yes
Agent Flow Actions Log & email via Power Automate 13 messages / 100 actions ✅ Optimized
Tenant Graph Grounding Org-level personalization 10 messages ❌ Not used
AI Tools (Basic) Rephrasing, suggestions 1 message / 10 uses ✅ Sparingly
Power Automate Logging, escalation, email Free (Standard connectors) ✅ Yes
Dataverse / Premium Tools Advanced storage, AI integration Paid ❌ Avoided

🐞 Issue Report: Roadblocks in building this chatbot

🔎 Summary

📁 Context

Redacted documents and structured Excel files uploaded to the KB failed to provide reliable answers.

Issue 1: Redacted Data

Issue 2: Excel File Retrieval

Issue 3: Power Automate Error

This is a common known error occured in Power Automate. I solved it by just make simpler responses.

Issue 4: Making students' requests as simple as they should be for further assistance

This proves that in production, anything could cause confusion and misleading us to the wrong path, which is definitely time-consuming. Students frequently email me at the last minute or in panicky, resulting in my misunderstanding of their requests. It took me some time to reckon this pattern. Thus, I decided to add a Student Email parser helping break down their emails to me like I am 5 year old.

🧠 Lessons Learned (Faculties Assistant Chatbot)

InsightAction
Generative responses can hallucinate Use direct KB answers when precision is critical (e.g., class times)
Structured Excel KBs underperform Convert to plain Q&A or DOCX format with semantic structure
Variable conflicts across topics or flows Use a clear naming convention (e.g., studentName, studentCourse) and isolate variable scopes where possible
Cost matters in a Microsoft-only environment Stick to no-cost triggers: classic answers, minimal actions, SharePoint-based logging
Topic performance varies with phrasing Pretest with realistic student queries to ensure trigger accuracy

🛠 General Recommendations

📌 Final Architecture: Faculty Assistant with Email Parser

The Faculty Assistant chatbot evolved into a more intelligent support system by integrating an email parser module to handle unstructured student requests more efficiently. This addition reduces time spent interpreting informal or unclear emails and improves the accuracy of downstream workflows.

🧩 System Components

🧠 Lessons Learned

InsightAction
Language models can hallucinate if grounding is not structuredUse DOCX/TXT-based KB over generative answers where precision is critical
Email inputs are inconsistent across usersApply Regex + AI Builder for entity recognition and fallback options
Copilot flow variables may collide across branchesUse naming conventions and scoped variables to reduce duplication

📎 Recommendations

💡 Impact

This extended architecture has reduced manual interpretation time by 60%, enabled asynchronous processing of student requests, and opened up new opportunities for self-service tools across departments—all without exceeding enterprise resource limits or incurring extra licensing costs.