System Architecture

End-to-end flow from employee message to resolved ticket, across Microsoft 365 and the internal ITSM platform.

EMPLOYEE CHANNEL AI AGENT AUTOMATION SYSTEMS ๐Ÿ‘ค Employee James Smith ๐Ÿ’ฌ MS Teams IT Support Channel ๐ŸŒ Web Chat (alt channel) ๐Ÿง  Copilot Studio Dialog Engine NLU + Slots โšก Power Automate Cloud Flow ๐Ÿ—„๏ธ Dataverse Ticket Storage ๐ŸŽซ ITSM System Ticket Created โœ‰๏ธ Email / Outlook Confirmation sends message Bot Framework HTTP trigger REST API write record Ticket ID returned entity lookup Primary flow Alternate / async path Return / confirmation path Copilot Studio (core logic) Power Automate (backend)

Component Breakdown

๐Ÿง  Copilot Studio โ€” Dialog Engine

What it does: Hosts the conversational AI agent. Manages dialog topics, slot filling, and fallback handling.

  • Custom topics for IT categories (Hardware, Software, Network, Access)
  • Entity extraction for email, urgency, and system name
  • Escalation to human agent if confidence < 0.6
  • Adaptive card responses for quick-reply buttons (urgency selection)

โšก Power Automate โ€” Cloud Flow

What it does: Backend orchestration layer triggered by Copilot Studio via HTTP action.

  • Input validation (email format, required fields)
  • Category classifier using a lookup table in SharePoint
  • Creates ticket record in Dataverse with all structured fields
  • Calls ITSM REST API to register ticket externally
  • Sends Outlook confirmation email with ticket details + SLA
  • Returns ticket ID and team assignment to Copilot Studio

๐Ÿ—„๏ธ Dataverse โ€” Data Layer

What it does: Stores every ticket record created by the agent in a structured table.

  • Custom "IT Support Ticket" table with 12 columns
  • Lookup tables for Categories, Teams, SLA tiers
  • Audit fields (created by, modified date, resolution timestamp)
  • Power BI report connects directly for weekly dashboarding

๐ŸŽซ ITSM Integration

What it does: Writes the ticket to the organisation's existing IT service management system.

  • HTTP connector in Power Automate posts to ITSM REST endpoint
  • Maps Dataverse fields to ITSM schema (INC number returned)
  • Bi-directional: status updates from ITSM flow back to Dataverse

๐Ÿ’ฌ Microsoft Teams โ€” Channel

What it does: Primary user-facing channel where employees interact with the agent.

  • Agent published as a Teams app via Copilot Studio publish flow
  • Available in personal chat and IT Support team channel
  • Adaptive cards rendered natively within Teams
  • Proactive message sent when ticket is updated

โœ‰๏ธ Outlook / Exchange

What it does: Sends email confirmations and SLA breach alerts.

  • Office 365 Outlook connector in Power Automate
  • Templated HTML email with ticket summary and tracking link
  • Escalation email to IT manager if SLA exceeded

Data Flow โ€” Field Mapping

How each piece of user input maps through the system from conversation to ITSM record.

User Says / Selects Copilot Studio Entity Dataverse Field ITSM Field Validation
Free-text issue descriptionissue_description (string)Descriptionshort_descriptionMax 500 chars
Work email addressuser_email (email entity)RequestorEmailcaller_id (lookup)Regex + domain whitelist
"High / Medium / Low"urgency_level (enum)Prioritypriority (1/2/3)Must be one of 3 values
Affected system (optional)affected_system (string)AffectedSystemcmdb_ciFuzzy-matched to CI list
(derived)category (classifier)CategorycategorySharePoint lookup table
(derived)assigned_teamAssignedTeamassignment_groupMapped from category
(system)ticket_created_atCreatedOnopened_atUTC timestamp