{"id":44244,"date":"2026-04-03T13:00:54","date_gmt":"2026-04-03T07:30:54","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=44244"},"modified":"2026-04-10T15:10:39","modified_gmt":"2026-04-10T09:40:39","slug":"automating-training-request-approvals-using-ai-in-microsoft-copilot-studio","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2026\/04\/automating-training-request-approvals-using-ai-in-microsoft-copilot-studio\/","title":{"rendered":"Automating Training Request Approvals Using AI in Microsoft Copilot Studio"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignnone wp-image-44319 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-Request-Approvals-Using-AI-in-Microsoft-Copilot-Studio-1.png\" alt=\"\" width=\"2100\" height=\"1200\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-Request-Approvals-Using-AI-in-Microsoft-Copilot-Studio-1.png 2100w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-Request-Approvals-Using-AI-in-Microsoft-Copilot-Studio-1-300x171.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-Request-Approvals-Using-AI-in-Microsoft-Copilot-Studio-1-1024x585.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-Request-Approvals-Using-AI-in-Microsoft-Copilot-Studio-1-768x439.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-Request-Approvals-Using-AI-in-Microsoft-Copilot-Studio-1-1536x878.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-Request-Approvals-Using-AI-in-Microsoft-Copilot-Studio-1-2048x1170.png 2048w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-Request-Approvals-Using-AI-in-Microsoft-Copilot-Studio-1-660x377.png 660w\" sizes=\"(max-width: 2100px) 100vw, 2100px\" \/>Organizations frequently receive employee requests for training programs, certifications, or skill-development courses. Traditionally, these requests go through manual review and approval processes which can delay decision making and create administrative overhead.<\/p>\n<p>With Advanced Approvals in Microsoft Copilot Studio, it is possible to automate such decisions using AI. Instead of relying on human approval stages, AI can evaluate the request details and decide whether the request should be approved or rejected based on predefined criteria.<\/p>\n<p>In this article, we will build a Training Request Approval System where:<\/p>\n<ul>\n<li>A user creates a training request record in Dataverse<\/li>\n<li>An AI approval stage evaluates the request<\/li>\n<li>The AI automatically approves or rejects the request<\/li>\n<\/ul>\n<p>This implementation demonstrates how AI-driven approvals can automate business decisions without human intervention.<\/p>\n<h3><strong>Prerequisites<\/strong><\/h3>\n<p>Before starting, ensure the following are available:<\/p>\n<ul>\n<li>Access to Microsoft Copilot Studio<\/li>\n<li>A Power Platform environment with Dataverse enabled<\/li>\n<li>Basic knowledge of Dataverse tables and Copilot Studio agent flows<\/li>\n<\/ul>\n<h3><strong>Solution Overview<\/strong><\/h3>\n<p>The workflow implemented in this article follows a simple structure.<\/p>\n<ol>\n<li>Employee submits a training request<\/li>\n<li>The request is stored in Dataverse<\/li>\n<li>AI evaluates the request<\/li>\n<li>The system updates the approval status<\/li>\n<\/ol>\n<p>This removes the need for manual manager approvals and allows faster decision making.<\/p>\n<h3><strong>Step 1: Create a Dataverse Table for Training Requests<\/strong><\/h3>\n<p><strong>First, create a Dataverse table that will store the training requests.<\/strong><\/p>\n<p>Example table: Training Requests<\/p>\n<p>Suggested columns:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"200\">Column Name<\/td>\n<td width=\"201\">Type<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">Employee Name<\/td>\n<td width=\"201\">Text<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">Course Name<\/td>\n<td width=\"201\">Text<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">Training Provider<\/td>\n<td width=\"201\">Text<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">Cost<\/td>\n<td width=\"201\">Currency<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">Training Date<\/td>\n<td width=\"201\">Date<\/td>\n<\/tr>\n<tr>\n<td width=\"200\">Approval Status<\/td>\n<td width=\"201\">Choice (Pending, Approved, Rejected)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This table will be used by the AI flow to read and update request details.<\/p>\n<h3><strong>Step 2: Create an Agent Flow in Copilot Studio<\/strong><\/h3>\n<p>Navigate to Copilot Studio \u2192 Agent Flows and create a new flow.<\/p>\n<p>Agent flows allow you to automate processes using AI and actions connected to data sources like Dataverse.<\/p>\n<p>In this implementation, the agent flow will:<\/p>\n<ul>\n<li>Retrieve the training request<\/li>\n<li>Evaluate the request using AI<\/li>\n<li>Update the request status.<\/li>\n<\/ul>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-44246\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-1-300x137.jpg\" alt=\"Training Request Approval \" width=\"692\" height=\"316\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-1-300x137.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-1-1024x468.jpg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-1-768x351.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-1-1536x702.jpg 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-1-660x301.jpg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-1.jpg 1920w\" sizes=\"(max-width: 692px) 100vw, 692px\" \/><br \/>\nAgent Flow creation screen in Copilot Studio<\/p>\n<h3><strong>Step 3: Configure the Multistage Approval Step<\/strong><\/h3>\n<p>Add the Run a multistage approval action in the flow.<\/p>\n<p>This feature allows AI to evaluate requests based on specific instructions.<\/p>\n<p>Since this implementation focuses on AI-only approval, no manual stages are added.<\/p>\n<p>The flow will only contain the Evaluate Request AI stage.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-44247\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-2-300x136.jpg\" alt=\"Training Request Approval \" width=\"728\" height=\"330\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-2-300x136.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-2-1024x466.jpg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-2-768x349.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-2-1536x698.jpg 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-2-660x300.jpg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-2.jpg 1920w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/>Run a multistage approval (preview) configuration screen<\/p>\n<h3><strong>Step 4: Define AI Evaluation Instructions<\/strong><\/h3>\n<p>Inside the Evaluate Request step, define clear instructions for the AI model so it knows how to evaluate the request.<\/p>\n<p>Example instructions:<\/p>\n<p><em>Evaluate the employee training request and decide whether it should be Approved or Rejected. <\/em><\/p>\n<p><em>APPROVE the request if ALL of the following are true : <\/em><\/p>\n<p><em>&#8211; The trainingCost &lt;= 1000.00<\/em><\/p>\n<p><em>&#8211; trainingStartDate is after the date the course is purchased (i.e. coursePurchaseDate)<\/em><\/p>\n<p><em>&#8211; The request contains all required details including employeeName, courseName, trainingCost, and trainingStartDate.<\/em><\/p>\n<p><em>REJECT the request if any of the above are false.<\/em><\/p>\n<p><strong>Note: Here <\/strong><strong>trainingCost, trainingStartDate, employeeName, courseName, coursePurchaseDate are dynamic fields as shown below in the image<\/strong><\/p>\n<p>These instructions guide the AI model to consistently evaluate each training request.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-44248\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-3-300x137.jpg\" alt=\"Automating Training Request Approvals Using AI in Microsoft Copilot Studio\" width=\"729\" height=\"333\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-3-300x137.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-3-1024x469.jpg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-3-768x352.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-3-1536x703.jpg 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-3-660x302.jpg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-3.jpg 1920w\" sizes=\"(max-width: 729px) 100vw, 729px\" \/>AI instruction configuration inside the Evaluate Request stage<\/p>\n<h3><strong>Step 5: Update the Dataverse Record<\/strong><\/h3>\n<p>After the AI evaluates the request, configure the next step in the flow to update the Dataverse record.<\/p>\n<p>Based on the AI decision:<\/p>\n<ul>\n<li>If Approved \u2192 Update Approval Status to Approved<\/li>\n<li>If Rejected \u2192 Update Approval Status to Rejected<\/li>\n<\/ul>\n<p>This ensures the final decision is stored directly in Dataverse.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-44249\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-4-300x137.jpg\" alt=\"Training Request Approval \" width=\"736\" height=\"336\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-4-300x137.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-4-1024x467.jpg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-4-768x350.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-4-1536x700.jpg 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-4-660x301.jpg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-4.jpg 1920w\" sizes=\"(max-width: 736px) 100vw, 736px\" \/><br \/>\nDataverse Update Row action in the flow<\/p>\n<h3>Testing the AI Approval Process<\/h3>\n<p>Once the flow is configured:<\/p>\n<ol>\n<li>Create a new training request record<\/li>\n<li>Trigger the agent flow<\/li>\n<li>Observe the AI evaluation<\/li>\n<li>Verify that the Approval Status updates automatically<\/li>\n<\/ol>\n<p>This demonstrates how AI can independently make approval decisions based on defined rules.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-44250\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-5-300x136.jpg\" alt=\"Training Request Approval \" width=\"739\" height=\"335\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-5-300x136.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-5-1024x466.jpg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-5-768x349.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-5-1536x698.jpg 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-5-660x300.jpg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-5.jpg 1920w\" sizes=\"(max-width: 739px) 100vw, 739px\" \/>Dataverse Update Row action flow when all conditions are met \/ true<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-44251\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-6-300x137.jpg\" alt=\"Training Request Approval \" width=\"738\" height=\"337\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-6-300x137.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-6-1024x467.jpg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-6-768x350.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-6-1536x700.jpg 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-6-660x301.jpg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-6.jpg 1920w\" sizes=\"(max-width: 738px) 100vw, 738px\" \/><br \/>\nDataverse Update Row action flow when all conditions are not met \/ false<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-44252\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-7-300x137.jpg\" alt=\"Training Request Approval \" width=\"738\" height=\"337\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-7-300x137.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-7-1024x467.jpg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-7-768x350.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-7-1536x701.jpg 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-7-660x301.jpg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2026\/04\/Automating-Training-7.jpg 1920w\" sizes=\"(max-width: 738px) 100vw, 738px\" \/><br \/>\nExample training request record before and after AI evaluation<\/p>\n<h3><strong>Challenges You May Encounter<\/strong><\/h3>\n<p>While implementing AI approvals in Copilot Studio, you may encounter some configuration challenges.<\/p>\n<p><strong>1.Writing Effective AI Instructions<\/strong><\/p>\n<p>The AI model relies heavily on the instructions provided. If instructions are vague, the decision may be inconsistent.<\/p>\n<p>To avoid this:<\/p>\n<ul>\n<li>Clearly define approval and rejection conditions<\/li>\n<li>Keep the logic simple and structured.<\/li>\n<\/ul>\n<p><strong>2.Mapping Dataverse Fields<\/strong><\/p>\n<p>Incorrect field mapping between the agent flow and Dataverse may prevent the AI from reading request data correctly.<\/p>\n<p>Always verify:<\/p>\n<ul>\n<li>Column names<\/li>\n<li>Data types<\/li>\n<li>Input parameters passed to the AI stage.<\/li>\n<\/ul>\n<p><strong>3.<\/strong><strong>Understanding AI Decision Outputs<\/strong><\/p>\n<p>The AI stage returns structured output which must be correctly interpreted when updating Dataverse records. Improper condition checks may cause incorrect status updates.<\/p>\n<p><strong>4.Preview Feature Limitations<\/strong><\/p>\n<p>The Multistage Approval feature is currently in preview, so some UI elements or configurations may change over time.<\/p>\n<h3><strong>Benefits of AI-Driven Approvals<\/strong><\/h3>\n<p>Implementing AI-based approvals provides several advantages:<\/p>\n<ul>\n<li>Faster decision making<\/li>\n<li>Reduced dependency on manual approvals<\/li>\n<li>Scalable automation<\/li>\n<li>Consistent evaluation logic<\/li>\n<li>Seamless integration with Dataverse<\/li>\n<\/ul>\n<h3><strong>Conclusion<\/strong><\/h3>\n<p>Advanced approvals in Microsoft Copilot Studio open new possibilities for automating decision-based workflows. In this example, we built a Training Request Approval System where AI evaluates each request and determines whether it should be approved or rejected.<\/p>\n<h3><strong>FAQs: Automating Training Request Approvals with AI in Microsoft Copilot Studio<\/strong><\/h3>\n<ul>\n<li><strong>What is AI-driven approval in Microsoft Copilot Studio?<\/strong><br \/>\nAI-driven approval in Microsoft Copilot Studio automates the decision-making process for requests, such as employee training requests. Instead of waiting for human manager approval, AI evaluates the request based on predefined rules and updates the approval status automatically in Dataverse.<\/li>\n<li><strong>How does the training request approval system work?<\/strong><br \/>\nThe system works in a few steps:<\/li>\n<\/ul>\n<ol>\n<li>An employee submits a training request in Dataverse.<\/li>\n<li>The AI agent flow in Copilot Studio retrieves the request.<\/li>\n<li>The AI evaluates the request against predefined approval criteria.<\/li>\n<li>The AI updates the request status as Approved or Rejected.<\/li>\n<\/ol>\n<ul>\n<li><strong>What are the prerequisites for setting up AI approval in Copilot Studio?<\/strong><br \/>\nTo implement AI-based training approvals, you need:<\/li>\n<\/ul>\n<ol>\n<li>Access to Microsoft Copilot Studio.<\/li>\n<li>A Power Platform environment with Dataverse enabled.<\/li>\n<li>Basic knowledge of Dataverse tables and Copilot Studio agent flows.<\/li>\n<\/ol>\n<ul>\n<li><strong>Can AI completely replace human approval for training requests?<\/strong><br \/>\nYes, AI can handle approval entirely if the evaluation logic is clearly defined. AI ensures faster, consistent, and scalable approvals, reducing administrative overhead. However, organizations can still add manual review stages if needed.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Organizations frequently receive employee requests for training programs, certifications, or skill-development courses. Traditionally, these requests go through manual review and approval processes which can delay decision making and create administrative overhead. With Advanced Approvals in Microsoft Copilot Studio, it is possible to automate such decisions using AI. Instead of relying on human approval stages, AI\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2026\/04\/automating-training-request-approvals-using-ai-in-microsoft-copilot-studio\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3313,2361],"tags":[3335],"class_list":["post-44244","post","type-post","status-publish","format-standard","hentry","category-microsoft-copilot-studio","category-technical","tag-training-request-approval-systerm"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/44244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=44244"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/44244\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=44244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=44244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=44244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}