Welcome to Power Virtual Agents (PVA) and QnA Maker Step by Step series. During this article, we will make QnA Chatbot by integrating out PVA Chatbot with Azure QnA Maker Knowledgebase.
Chapters Overview:
Chapter 0: Course Outline: Power Virtual Agents + QnA Maker Chapter 1: Build Knowledgebase with QnA Maker for PVA Chapter 2: Build QnA or FAQs Chatbot for HR with Power Virtual Agents Chapter 3: Overview of System Fallback Topic in Power Virtual Agents Chapter 4: Call Power Automate Flow to Generate Answers from QnA Knowledge Base Chapter 5: Integrate QnA Maker With Power Virtual Agents Chatbot Chapter 6: Track Unanswered Questions from PVA and update KB to improve PVA
Chapter 1 – Build Knowledgebase with QnA Maker for PVA
Chapter 2 – Build QnA or FAQs Chatbot for HR with Power Virtual Agents
Chapter 3 – Overview of System Fallback Topic in Power Virtual Agents
Chapter 4 – Call Power Automate Flow to Generate Answers from QnA Knowledge Base
Chapter 5 – Integrate QnA Maker With Power Virtual Agents Chatbot
Chapter 6 – Track Unanswered Questions from PVA and update KB to improve PVA
Conclusion
This is how we can easily integrate our QnA Maker with Power Virtual Agents. Hope this is clear for you now. If you have any questions, feel free to reach us.
When building apps with PowerApps and Dataverse, displaying and downloading documents stored in file columns can be tricky — especially when those files are stored in Azure Blob Storage behind the scenes. In this tutorial, I’ll walk you through how to:
✔️ Display files in a PowerApps gallery ✔️ Show the file name from a Dataverse file column ✔️ Add a Download button that uses the Dataverse Web API ✔️ Make your app portable using environment variables
Let’s dive in!
📊 1. Setting Up the Dataverse Table
We start with a Dataverse table named Case Document having the following columns:
🔹 Case Number (AutoNumber) 🔹 Title (Text) 🔹 File (File data type – where uploaded documents are stored)
Our goal is to preview file names in a Canvas App and provide a button to download the file.
🖼️ 2. Displaying Files in PowerApps Gallery
In the PowerApps Canvas App:
Add a Vertical Gallery
Set its data source to the Case Document table
Show:
ThisItem.CaseNumber for the Case ID
ThisItem.File.FileName for the file name
🔧 Use the dot operator (.) to access file properties like FileName and Value.
⬇️ 3. Creating the Download Button
Add a Download Icon/Button next to each file.
In its OnSelect property, use:
Download("YOUR_WEB_API_URL_HERE")
To find the Web API URL, go to the record in Dataverse, right-click the file, and copy the link.
But this is a static link! Let’s now make it dynamic 👇
Microsoft has officially announced a powerful set of upcoming enhancements for M365 Copilot, all set to roll out by the end of May 2025. These updates are not just minor tweaks — they represent a massive leap toward productivity, personalization, and AI-powered workspaces.
In this blog, we’ll break down the Top 10 Features that are reshaping the Copilot experience.
Full Demo:
1️⃣ A Revamped Homepage for M365 Copilot
The new homepage offers a dynamic interface with features like chat, notebooks, create tools, and app navigation—all built around user-centric design. It includes a smarter AI-powered search box for faster access and personalized discovery.
2️⃣ Notebooks: Structured AI Workspace
The Notebooks feature introduces project-specific spaces where you can organize your files, notes, and conversations. This is perfect for managing long-term projects with contextual continuity.
3️⃣ Researcher: Built-In Deep Reasoning
With the Researcher tool, Copilot can now analyze both your internal data (OneDrive, SharePoint) and external web sources to generate deep insights—ideal for creating business strategies, market plans, or technical research.
4️⃣ Analyst Agent: AI-Powered Data Analytics
Even if you’re not a data scientist, the Analyst agent will let you analyze messy or unstructured data. It can automatically generate Python scripts, provide visual insights, and even summarize your findings—all with zero coding required!
5️⃣ Agent Store: Discover or Publish AI Agents
The new Agent Store lets users browse, deploy, or create custom Copilot agents. Whether developed by Microsoft, third parties, or your own org, you’ll find them in one unified place—ready to empower your workflows.
6️⃣ Intelligent Search Redefined
The Copilot search experience has been supercharged with AI. Now, it doesn’t just find documents—it previews files, summarizes content, and provides context-aware recommendations from across your apps.
7️⃣ Create Studio: Your In-House Content Generator
The Copilot Create section acts like a full-fledged design and media studio. From image editing, poster design, video/audio generation, to even using brand templates, this tool is a content creator’s dream.
8️⃣ Mobile-First Experience
All the new Copilot features are now mobile-ready, ensuring a seamless experience across devices. You can ideate, analyze, and interact with Copilot straight from your smartphone or tablet.
9️⃣ Copilot Control System: Admin & Analytics Hub
This feature gives IT and leadership teams complete control. From managing agent usage, license metrics, and security labels, to analyzing ROI and usage insights, this is a command center for governance and optimization.
🔟 Memory & Personalization
Copilot now remembers your preferences, conversation history, and style—privately and securely. You’ll get smarter, contextual suggestions that feel tailor-made. And yes, you can control what Copilot retains or forgets.
🧠 Final Thoughts
These updates show that Microsoft is serious about transforming Copilot into a true AI partner. Whether you’re a creator, analyst, admin, or knowledge worker—there’s something here that will elevate your productivity.
🔔 Which feature are you most excited about? Let me know in the comments below!
With the introduction of Agent Flows in Microsoft Copilot Studio, many makers and automation experts are asking: How do Agent Flows compare to Power Automate Cloud Flows? While both serve automation purposes, they’re designed for distinct scenarios and operate under different paradigms. Let’s break it down.
🌟 What is Copilot Agent Flow?
Agent Flows are a new feature in Copilot Studio, launched to support AI-powered autonomous agents. These flows enable native automation within an agent’s conversation logic — meaning, you can directly integrate backend automation as part of your AI-driven Copilot.
⚙️ What is Power Automate Flow?
Power Automate Flows are Microsoft’s flagship automation tool, used widely for:
Scheduled automation
Manual/instant triggers
Complex approval workflows
Integration across 100s of services and APIs
They are the go-to option for enterprise-wide automation across departments and services.
🆚 Key Differences at a Glance
1. Purpose and Use Case
Feature
Agent Flow (Copilot Studio)
Cloud Flow (Power Automate)
Designed For
AI-driven agent actions
General workflow automation
Best Use Case
Autonomous agent tasks within Copilot
Cross-system automations, approvals, etc.
Editor
AI-assisted builder with flow canvas
Visual low-code designer
💡 Summary: Use Agent Flows for chatbot-like AI agents. Use Cloud Flows for broader enterprise workflow automation.
2. Licensing Model
Feature
Agent Flow
Power Automate
License Type
Bundled with Copilot Studio
Separate license (Per Flow/User)
Cost Efficiency
Tenant-wide licensing, no per-user charge
Per user or per flow-based licensing
Consumption Model
Message-based usage under Copilot quota
Execution-based under Power Automate limits
💡 Summary: If you already have Copilot Studio licensing, Agent Flows are cost-effective — especially for lightweight automation within chat-based experiences.
3. Sharing and Collaboration
Feature
Agent Flow
Power Automate
Shareable
❌ Not shareable
✅ Share with users or co-owners
Run-only Access
❌ Not available
✅ Available
Reusability
High
High
💡 Summary: Cloud Flows are far more collaboration-friendly, allowing users to share, co-author, or reuse across teams.
🧠 When to Use Which?
Scenario
Recommended Flow
Building an intelligent agent that needs backend actions
Agent Flow
Automating business approvals, file processing, or integrations
Cloud Flow
Need to share flows across departments or build centralized automation
Cloud Flow
Looking for native AI + automation in one solution
Agent Flow
🏁 Final Thoughts
Microsoft is evolving its Power Platform to support more intelligent and conversational automation, and Agent Flows are a step in that direction. However, Power Automate remains indispensable for enterprise-scale automation.
If your solution lives inside a Copilot experience, and you already have Copilot Studio licensing, start exploring Agent Flows. For everything else — from invoice processing to complex workflows — Power Automate remains king.
🙋♂️ What’s Your Experience?
Have you used both? Found more differences? Share your thoughts in the comments! Let’s grow together as a community.
Microsoft continues to enhance the power of AI across its ecosystem, and SharePoint is no exception. With the new SharePoint Copilot Agent, users can now interact with their SharePoint content in a much more intuitive and intelligent way—thanks to natural language understanding.
In this blog post, let’s dive into what SharePoint Copilot Agents are, the types of agents you can use, and how to build your very own custom AI assistant right inside SharePoint—without needing Copilot Studio.
What is SharePoint Copilot?
If you’re using Microsoft 365 with Copilot enabled, you might’ve noticed a Copilot icon appearing in your SharePoint sites. This isn’t just for show—it’s a built-in agent designed to help you get quick, accurate answers from your SharePoint content. It can read and understand documents, site pages, and libraries, and respond to your questions just like a smart chatbot.
This built-in feature is available across all modern SharePoint sites with an M365 Copilot license. It’s not part of the standalone Copilot Studio package—so make sure you’re licensed appropriately.
Types of SharePoint Agents
There are two types of agents you can work with in SharePoint:
Inbuilt (Default) Agent: Automatically created for each modern site. It scans the entire site content and answers questions accordingly.
Custom Agent: You can build a tailored agent for a specific document library—like your HR policies or onboarding material—so the agent only responds based on that selected content.
Why It’s a Game-Changer
Searching documents is old-school. Instead of browsing through folders or using keyword-based search, you can now ask natural questions, like:
“What’s the leave policy for new employees?”
“Tell me about the company’s employee welfare programs.”
Copilot will scan the relevant content and give you a well-structured answer—often with source citations—so you know where the info came from.
Creating Your Own Agent in SharePoint
One of the best features is the ability to build your own custom agent within a specific document library.
Let’s say you have an “HR Policies and Procedures” library with three important documents. You can create an agent trained only on those three files. This means your Copilot won’t give generic answers—it’ll respond with razor-sharp relevance based on the selected content.
The creation process is user-friendly:
Select your documents
Click “Create Agent”
Name your agent, provide a description, set its tone, behavior, and sample prompts
Save it—and it’s ready to use!
You can even update or customize the agent later by editing its settings, updating the sources, or modifying its welcome message and behavior prompts.
Sharing the Agent with Others
Once your agent is ready, SharePoint allows you to share it with your team. Just hit the “Share” option, and your colleagues can use the same assistant in SharePoint or even in Microsoft Teams—making information access seamless across the org.
Final Thoughts
The SharePoint Copilot Agent is a powerful example of how AI is simplifying workplace tools. Whether you’re setting up an FAQ agent for HR, a helpdesk assistant for IT, or a document finder for project teams—this feature brings real productivity gains without complex setups.
And the best part? You don’t even need Copilot Studio or coding skills to get started. Just your SharePoint site, the right documents, and a vision for smarter collaboration.
Ready to try it out? If you’re on an M365 Copilot plan, open up SharePoint and start building your AI assistant today.
Absolutely! Here’s a step-by-step blog version of your tutorial, written in a clear and structured way for your subscribers. You can copy-paste this to your website or blog platform and customize further if needed.
In this blog, I’ll walk you through how to build a fully autonomous AI agent in Copilot Studio to streamline citizen support service requests received via email — without writing a single line of code.
By the end, your agent will be able to:
✅ Automatically read and understand incoming emails ✅ Identify the issue and urgency ✅ Create a ticket in Dataverse ✅ Respond to the citizen with a professional HTML email
Let’s get started!
💡 Use Case Overview
Local government departments often receive service requests or complaints via email. These may include issues like:
Missed garbage collection
Housing problems
Streetlight or electricity issues
Currently, these emails require manual triage and response. But what if we could automate the whole process with an AI-powered autonomous agent?
🧠 What is an Autonomous Agent?
An Autonomous Agent in Copilot Studio is an AI-driven system that can:
Perform tasks
Make decisions
Interact with users without human intervention
It goes beyond traditional automation by understanding the context of data using AI. Unlike chatbots, this agent runs in the background—no chat interface needed!
🗂️ Complete Video Tutorial for the same Blog
🗂️ Step 1: Prepare Your Data Table
First, create a Dataverse table called Citizen Support. Here’s the suggested schema:
Column Name
Type
Ticket ID
Auto Number
Subject
Single Line Text
Description
Multiline Text
Priority
Single Line Text
Estimated Resolution Date
Single Line Text
You can create a Model-Driven App to visualize this data in a view.
Description: “An autonomous agent for customer service that identifies the context of incoming emails, determines urgency, replies professionally, and creates support tickets in Dataverse.”
Skip instructions for now — we’ll add those later.
🛠️ Step 3: Create Actions for the Agent
✅ Action 1: Create a Support Ticket
Go to Actions > Add Action
Select Dataverse connector > Add a new row to a selected environment
Name the action: Create Support Ticket
Authentication: Use Copilot authentication
Set input parameters:
Environment: Choose your Dataverse environment
Table Name: Citizen Support
Add dynamic input fields:
Subject – “Summary of the email subject”
Description – “Description of the issue based on email”
Priority – “Categorize as High, Medium, Low based on urgency”
Estimated Resolution Date – “Set based on priority: 24/48/72 hours”
Set output parameter:
Ticket ID – “This is the generated ticket number”
✅ Done!
📧 Action 2: Send Email to Citizen
Add another action: Send an email (V2) using Outlook
Name it: Send an Email
Authentication: Copilot authentication
Set dynamic input fields:
To – “The sender of the incoming email”
Subject – “Professional response subject”
Body – Instructions: “Respond that the ticket has been received. Include the ticket number, priority, description, estimated resolution date. Use professional tone and HTML format.”
✅ Email reply action complete!
🔁 Step 4: Add Autonomous Trigger
Go to Overview > Add Trigger
Choose: When a new email arrives
This creates a Power Automate trigger in the background
Optionally, open the flow and filter emails:
Only trigger if Subject contains Support Ticket
✅ Your agent is now listening to emails!
🧾 Step 5: Add Instructions to the Agent
Go to General Instructions and add:
You need to completely automate the auto-reply process of any support emails you are receiving.
As soon as an incoming email arrives:
1. Determine the urgency of the issue and categorize it into High, Medium, or Low priority.
2. Call the action `Create Support Ticket` to generate a support request and get the ticket ID.
3. Draft a professional email using the `Send an Email` action, including ticket number, priority, description, and estimated resolution time.
4. Use natural language and proper HTML formatting in your response.
Save and Publish your agent.
🧪 Step 6: Test the Agent
As a citizen, send an email to the configured address:
Functions in Dataverse are a game-changing addition to Microsoft Power Platform, offering a low-code approach to executing business logic at the server level. Previously known as low-code plugins, Functions in Dataverse provide a PowerFX-based alternative to traditional C# plugins.
In this blog, we’ll explore: ✅ What Functions in Dataverse are ✅ Key benefits over traditional plugins ✅ Real-world use cases ✅ How to implement them in Power Apps and Power Automate
What Are Functions in Dataverse?
Functions in Dataverse allow developers and Power Platform makers to define and execute server-side business logic inside Microsoft Dataverse. Unlike traditional C# plugins, which require extensive coding and manual registration, Functions in Dataverse offer a low-code experience using PowerFX, making them faster, reusable, and easier to maintain.
Key Benefits of Functions in Dataverse
1️⃣ PowerFX-Based, Low-Code Approach
Eliminates the need for complex C#/.NET programming.
Uses PowerFX, a declarative and strongly-typed formula language.
2️⃣ Faster Execution with Server-Side Logic
Reduces reliance on client-side scripting, improving app performance.
Prevents security risks such as client-side injection attacks.
3️⃣ Seamless Reusability & Integration
Can be used across Power Apps, Power Automate, and Model-Driven Apps.
Direct integration with Dataverse and Power Platform Connectors.
4️⃣ Simplified Deployment
Unlike .NET plugins, no manual setup or additional software is required.
Deployments are handled seamlessly within Dataverse Solutions.
Feature
Traditional Plugins (C#)
Functions in Dataverse (PowerFX)
Coding
Requires C#/.NET
Uses PowerFX (Low-Code)
Execution
Server-Side
Server-Side
Setup
Manual registration needed
No manual registration required
Reusability
Limited to specific scenarios
Can be used in multiple applications
Integration
Requires additional setup
Uses built-in Power Platform connectors
Real-Life Use Cases for Functions in Dataverse
1️⃣ Mathematical Computation (Sum of Two Numbers)
A function that calculates the sum of two numbers.
Useful for financial applications and dynamic calculations.
2️⃣ Email Validation Function
A function that verifies if an email follows a valid pattern.
Used in forms, automated workflows, and CRM systems.
3️⃣ Data Processing & Business Logic Execution
Automating complex business rules inside Dataverse tables.
Reducing redundant client-side scripts for better performance.
Step-by-Step Guide: Implementing Functions in Dataverse
📌 Creating a Function in Dataverse
Navigate to Dataverse Solution Explorer.
Click on “New” → “Automation” → “Function”.
Define Input & Output Parameters (e.g., X & Y for sum calculation).
Write PowerFX logic (e.g., Sum(X, Y)).
Save and Deploy the Function.
📌 Testing Your Function in Dataverse
Click on “More Options” → “Discover All”.
Select Functions Preview and locate your function.
Enter test values and validate the response.
📌 Using Functions in Dataverse in Power Apps
Add Dataverse as a Data Source.
Use PowerFX Formula to Call the Function inside a Button or Input field.
Bind the Output to a Label to display the result.
📌 Using Functions in Dataverse in Power Automate
Create a New Cloud Flow.
Use the “Perform an Unbound Action” Step in Dataverse Connector.
Pass Input Parameters dynamically inside Power Automate.
Why Functions in Dataverse Are the Future?
Microsoft’s move toward low-code and server-side execution makes Functions in Dataverse a powerful tool for Power Platform developers. Whether you are simplifying business logic, improving security, or enhancing performance, this new feature is set to revolutionize how we build applications.
Welcome to Power Platform Automated Deployment Step by Step Tutorial Series. This series will teach you how you can automate your Power Apps, and Power Automate Deployment from one environment to another environment or from one tenant to another tenant using the Azure DevOps. This is a complete step-by-step series to maintain ALM for the Power Platform. I have divided this entire step-by-step series into 4 different parts.
Part 1: Prerequisites and App Registrations Part 2: Set Up Azure DevOps Project Part 3: Set Up DevOps Pipeline for Export Solution Part 4: Set Up Release Pipeline
So, Let’s get started and Explore!!
Part 1: Prerequisites and App Registrations
Part 2: Set Up Azure DevOps Project
Part 3: Set Up DevOps Pipeline for Export Solution
cd $(Build.SourcesDirectory)
# Set a per-project email address and username
git config user.email "dhruvin.shah@xyz.com"
git config user.name "Dhruvin Shah"
# Navigate to the main branch
git checkout -B main
# Update the local version of a repository from a remote
git pull
# Add all files to the Git repository
git add --all
# Record the changes in the repository
git commit -m "Updated the solution"
# Authenticate against a git repository in a build process
git -c http.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" push origin main
How to create Power Apps using Excel ?
In this video, we will learn how we can create Power Apps using Excel files. Excel is used to store data in form of rows and columns. We can create Power Apps using Excel as a data source by uploading the Excel to the OneDrive for Business. When we use Excel with Power Apps, there are many limitations as well. In this video, I will explain, why to avoid Excel to build Power Apps? Also, I will talk about alternatives to Excel to use with Power Apps. So, stay tuned till the end.
Key takeaways:
1. Use Excel with Power Apps
2. Excel and Power Apps
3. Limitations of Excel with Power Apps
4. Alternatives of Excel as Datasource
5. Migrate Excel data to SharePoint and create Power Apps
6. Migrate Excel data to Dataverse and create Power Apps
7. Connect Excel and Power Apps
Chapters:
00:00 Start
O2:13 Get Started with Excel and Power Apps
02:50 Open OneDrive and Upload Excel File
05:10 Create Power Apps from Scratch
05:20 Create ODFB Connection for Power Apps
07:31 Newly created column in Excel – PowerAppsID in Excel
08:30 Change Position of Element in Power Apps Forms
10:06 Change Theme for Power Apps
10:45 Limitations of Excel with Power Apps
11:00 Limit of 2000 Records for Excel and Power Apps
11:33 File Lock Error for already Open File
12:47 No Row Level Security with Excel and Power Apps
14:06 Alternative of Excel with Power Apps – SharePoint
15:03 SharePoint as a Datasource instead of Excel
17:42 Upload Excel and create SharePoint List
19:15 Create Power Apps form SharePoint List
20:04 Overview of created Power Apps
21:23 Dataverse Approach
21:55 Upload Excel Data to Dataverse Table
22:35 Remove Unused Files
****************
Dhruvin’s Social Media:
Follow my other channel for short content: @Digital Dhruvin