Microsoft Dataverse plugin: unleashing coding agents on the enterprise | OD849
Key Takeaways
Unleashes coding agents on the enterprise using Microsoft Dataverse plugin
Full Transcript
Welcome to the talk to your terminal using data versse plug-in for coding agent sessions. My name is Kent Weir. I'm a product manager at Microsoft and I'm here joined with >> Hi, my name is Suesh. I am software engineering manager at Microsoft. Welcome to our session. Thanks for joining. >> Your business data already lives in data versse but today getting value out of it still means navigating portals, writing queries and filing tickets with the platform team. What if your developer, your operations analyst, and your admin could all describe what they need in plain English and get it done? That's what the data skills plug-in delivers. Single capability embedded in the coding tools your team already uses, which turns your business intent into govern data versse operations, schemas, data, queries, security, admin operations, everything without leaving your workflow. In this session, we're going to see three different roles, three completely different jobs, but using a single approach. The platform finally moves at the speed of the people who depend on it. In this segment, we are going to see Maya, a builder, achieve following objectives. How can she connect to data vers? How can she describe and build a data model? She could also import some reference data. And finally, she could also validate the data she just loaded. So Maya's never touched data versse. She doesn't know her or URL and she shouldn't have to. She goes ahead and installs the data versse skills plugin first in the tool that she's using and connects using her Microsoft signin. So she goes ahead and creates a prompt instructing the agent to connect me to my data versse environment. I don't know my org URL and notice she doesn't have to paste one. The agent subsequently discovers her environments from her Microsoft identity, configures the MCP server, and verifies the connection all from one prompt. No config files, no docs, no setup, no guides required. Maya is now going to build a data model and will do so by describing the roast batch tracking system she actually needs in business terms not platform terms no technical jargon one prompt builds the whole data model the form and the view the prompt that Maya will issue includes I'm building a roast batch tracking system for Zava coffee we're a B2B roaster and distributor we need to track our operations here's what I need a beans table for our coffee varieties, including the appropriate fields. A batches, a roast batches table, which includes a self-referential lookup for a parent batch, so we can track re-roasts and blends. A quality checks table, which includes a lookup to the roast batch, an orders table, which includes a many to many relationship between roast batches and orders. And we'll also need to build a main form for roast batches and a view called batches ready for QA which has a filter status of cupping. If you can include that as well, that would be great. Okay, so we'll also need to go ahead and create everything in a solution called Zava coffee ops. So myas built a real world data model that included sophisticated features like choices, lookups, including self-referential and many to many. This took place all from one prompt. Subsequently, the agent picked the right tool for each operation and we built a form and view as well. Maya never needed to manually click buttons in the maker portal to make this work. The app and data model is usable the moment the agent finishes. So, the scheme is done. Maya now wants to bring in the team's real spreadsheets that contains their reference data. four files, four owners, no goods in any of them. Only business keys, bean codes, batch numbers, and cafe names. My prompt will include instructions on how to import the four Excel files from the reference data folder into the tables that were just created. Instructions have also been provided to ensure that business keys are to be used to resolve lookups and never goods. Should there be any failures, Maya needs to be informed. So yes, those look to be real Excel files and not CSV files. How is the data versse coding agent able to go ahead and parse those files? >> Yeah, this is the benefit of the data versse plug-in for coding agents. It has skills that know how best to address a particular use case or task at hand, including the ability to use various tools behind the scene like the Python SDK and to generate ondemand tools that help achieve the user requirements. Wow, that was awesome. Looks more like a data pipeline than a sample generator. It was cool to see how it handled the dependencies in the lookups. Maya needs to perform a quick sanity check before handing off to Ria. Let's just run a query to validate that we do have the expected row counts from our table queries. Maya will describe how she would like to perform a quick sanity check by asking for the row counts for each table and confirm the two roast batches are linked to their parents. We can now see that the row counts match the spreadsheets. Both the roast links resolved correctly. Maya now has a connected working app with the team's real data in it. Now let's go ahead and shift gears and see what Ria is up to. Ria is a RevOps analyst for Zava coffee and in this segment we are going to see how Ria converses with CRM in plain English connect to data versse perform opportunity analysis identify customers who haven't recently ordered add notes to opportunities and even perform some task management all in natural language. Ria already lives in a terminal. She also has the same data versse plug-in installed as Maya. She knows the org URL but she doesn't have to give it to she'll let the agent find that from her Microsoft signin. Ria will issue a simple prompt. I have data versse plug-in. Can you connect me to my CRM environment? Now the plug-in is going to do the discovery of all the tools that are installed the prerequisites that her machine has performed the O and now connect her to the data vers environment. There was a single prompt. There was one o one confirmation. Same install Maya used last week but a different job today. Now the same prompt also connects her to CRM tables like account, opportunity, contact. Everything is verified as part of this connection. Ria is good to go. Now the real test. Thursday afternoon. Ria needs Carlos the sales manager pipeline review materials. She asks the way she would ask a junior analyst. No need for her to write any fetch XML. Now the prompt, show me Carlos's open opportunities over $100,000 closing this quarter. This is where the value of the plug-in kicks in. It discovers the underlying tools and then uses the skill DV query to embed the knowledge in a Python script. It runs the Python script and this used to take so much more time before. Now we don't have to worry about goods. No estimated close dates, no state code, just the cafe names, deal names, dollars, dates, and stages. This is the shape of a new pipeline review. And notice she said Carlos by name. The agent looked him up in the system user table automatically and scoped the query to his records. Named user scoping. Same machinery as my just a different anchor. >> Next prompt. Show me cafes in Portland that haven't reordered in 30 days. Watch this. This is the one that used to take Ria 20 minutes or more using advanced find, Excel, and other ad hoc tooling. Look here. Reorder is not a field. It's a relationship. Plus, there is some math around date. The agent figured out reorder maps to closed one opportunities, joined the account table to an opportunity table. It also computed the gap and gave Ria a clean call list. This is where her Friday's accounts to net job becomes so much easier and it's all written for her. Show me open follow-up tasks due for this week. Now Ria checks her own follow-ups for the week. Same scoping pattern as Carlos's pipeline. It's just a different anchor. This time she is interested in records that she owns. Here is where the agent again resolves I to Ria's user identity. Queries the tasks where she's the owner and when the due date is for this week. It returns subject, due date, and regarding records display name. Same pattern as Carlos's pipeline, just a different anchor. Remember the coffee shop from Portland who hasn't ordered in the last 30 days? Well, Carlos just texted Ria this morning. He called the customer, but he has not, of course, logged it. Ria will take care of it. Here is the prompt. Add a note to the coffee shop opportunity. Carlos called them today. They're ready to move forward. Sending the contract Monday. Here is where the plug-in uses his DB data skill and makes the rights to the CRM environment. That is quite easy, much easier than having to find the opportunity through the UX and make the updates manually. If we expect agents to perform well, we need to ensure we have good data hygiene. With this in mind, RIA will clean up a stale follow-up on Pavl's opportunity. Mark the follow-up task on the Pavl's opportunity as complete. This is the same pattern we have seen previously. Ria said mark it complete. agent translated that into the right state code, status code on the right activity. No status pick lists, no activities, subgrids, or anything else to scroll through. Carlos, the sales manager, made a call to Hard Coffee this morning. Watch everything the agent infers from this single sentence in the prompt. Create a phone call activity on the Hard Coffee account. Carlos spoke with the procurement lead Daniela about the annual bean contract. She wants samples of the new Ethiopia Guji lot before signing. Look at what the agent inferred. Activity type as phone call. It linked the account we are regarding object ID. Marked it as completed because the call has already happened. Set the owner to Carlos because it was his call. Ria is logging it on his behalf and it spotted Daniela on the account's contacts and linked her as a participant. 45 minutes of Thursday afternoon collapsed into 5 minutes of intent. Same plug-in Maya used different operator, different job, same pattern. We can't forget about administrators as they want to automate their workloads as well. Kent, what can you tell about how Amara as our platform admin uses the same data versse plug-in to help with her responsibilities? >> Sure. Amara is doing some really interesting things by being able to describe and create sophisticated security models using natural language. Once the security models are in place, Amara is able to go ahead and validate them as well. Amara is about to mutate roles, business units, and field security. She wants the agent to confirm her privileges before offering to do anything destructive. She will connect to her desired environment by issuing the following prompt. Connect me to the Zava production environment. I'll be making security changes, so verify I have system administrative privileges before we start. Now, two things worth noticing. First, we had the same install of the plugin. no administrative specific bootstrap. Second, the agent verified Amara's role before proceeding. A less privileged user would have seen exactly what they're missing in plain English. That's a kind of pre-flight check that prevents half-finish security changes from occurring. Now, let's get into it. Amara describes the security plan the way she would describe it to a junior admin. business units, roles, field security, access team templates, and user assignments. And the agent will fan out across six subsystems in order to go build it. Here's the prompt that was used in order to address these needs. As you can see, it's very detailed, but nothing our plug-in can't handle. We're rolling out to two regions and three job functions. setting up the following business units for Portland and Seattle as child business units underneath the route. Now, we're going to go ahead and create some custom roles. We're going to create a Zava sales rep role with specific entity access. We're also going to go ahead and create Zava warehouse op with access to the operational entities. A Zava leadership role that has read on everything orwide but no rights. And then also introduce field level security. So we'll restrict the account.lifetime value. So only system administrators and Zava leadership can read it. Now we'll go ahead and access team templates and use the cross region account collaborators on account read and append to rights. For assignments, let's go ahead and assign Dakota to the Portland business unit as a sales rep. Let's then go ahead and assign Lisa to the Seattle business unit as a Zava sales rep. And we'll go ahead and add Mario to the Portland business unit Zava warehouse op group. Now, of course, we want to make sure we put everything into a solution called Zava Security. Now, watch what the agent did without being asked. It enabled the column for field security at the schema level before creating the profile. The prerequisite people forget that produces no audit entries and no error messages. That's a problem. It assigned the fieldle security profile to specific roles though because it created an unassigned profile and did nothing. And it added every security component to the solution explicitly. roles, field level security profiles, team templates, those don't auto add the way these tables did. Since configuration without validation is hope, Amara wants to confirm for each user what they can and cannot see in line without juggling multiple browser sessions. She'll issue a prompt of validate the security model for each of Dakota, Lisa, and Mario. Simulate their access and report. Can they read an account record? Can they see a lifetime value? Can they read a roast batch record? Can they read each other's business unit records? Show me a clear pass fail table. As we can see, we have all 15 security validation tests that have passed. Green check marks where they need to be, red X's where they also need to be. The agent did inline what usually means logging in as each user in a private browser tab. Configuration has been confirmed and done so in seconds. So now we have another requirement. Lisa needs access to the Portland coffee account, but Dakota owns it. So Amara is going to go ahead and issue a prompt. And the reason for this is that they're going to be co-pitching a Seattle expansion to that particular cafe. So we need to share one record with Lisa via the cross region account collaborators team. Now this is still a controlled path. We have Lisa from Seattle's business unit and Lisa needs read access on that one Portland coffee shop account that Dakota happens to own. Because they're co-pitching, we need to enable the right level of sharing. Notice what the agent didn't do. It didn't ask Amara for a GOID for a particular account. No GID for Lisa. No long form description of access rights. Those came from the team template she defined earlier. One line of intent, one row of principal object access written. The cross region collaboration is unblocked. Amara has another requirement related to auditing and she'll issue a prompt of enable auditing on account.lifetime lifetime value so that we have a log of every read and write including who accessed it and when. Then confirm the audit setting is active. Naturally, auditing is rather important. Let's see what happens when Amara turns on auditing for a sensitive column so that future reads and writes land in the log correctly. Now, auditing in data versse is a three layer system. We've got orgs, tables, and columns. And missing one layer produces no entries with no errors. That's a problem. The agent, however, though, verifies each layer and only then turns the column level setting on. Now, every change to the lifetime value lands in the audit log. In 5 minutes, Amara stood up two business units, three custom roles, a field security profile assigned an access team template, three user assignments, validated the whole model by impersonation, and set up a cross region share. Every piece lives inside of a solution that she can now version and redeploy. extremely powerful capabilities for our admin personas. >> Well, that concludes our session. We saw three different roles, three completely different jobs, but one unified approach. If any of you are interested in learning more about the capabilities that were demonstrated or get your hands on the data versse plug-in yourself, please scan the appropriate QR code on your screen. >> Thank you so much for joining us here today. >> Thank you indeed.
Original Description
Coding agents are powerful, but without domain tooling they hallucinate and produce broken solutions. The Dataverse plugin solves this by giving AI agents guardrailed access to tables, columns, relationships, views, security and solutions. See how a natural language request triggers multi-step provisioning, data imports and validation. All executed autonomously. We demo the plugin architecture, MCP server integration and patterns that make agent-driven Dataverse development reliable at scale.
𝗦𝗽𝗲𝗮𝗸𝗲𝗿𝘀:
* Kent Weare
* Suyash Kshirsagar
𝗦𝗲𝘀𝘀𝗶𝗼𝗻 𝗜𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻:
This is one of many sessions from the Microsoft Build 2026 event. View even more sessions on-demand and learn about Microsoft Build at https://build.microsoft.com
OD849 | English (US) | Agents & apps
Pre-recorded | (300) Advanced
#MSBuild
Chapters:
0:00 - Introduction to Dataverse Plugin and presenters Kent Weare and Suyesh Kshirsagar
00:00:29 - Overview of Dataverse Skills Plugin empowering natural language operations
00:01:08 - Introduction to Maya's objectives: connect, build model, import, validate
00:05:46 - Introduction of Riya, DevOps analyst, and overview of her Dataverse tasks
00:06:22 - Riya connects to CRM using Dataverse plugin with simple natural prompt
00:09:00 - Riya checks her open follow-up tasks for the week using natural language query
00:10:21 - Emphasis on data hygiene; Riya cleans up Powell's opportunity follow-up
00:12:17 - Amara creates and validates complex security models through natural language
00:18:42 - Summary of all setup tasks completed: business units, roles, profiles, validation, and sharing
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
More on: AI Pair Programming
View skill →Related Reads
📰
📰
📰
📰
AWS Self-Healing Infrastructure: Catching and Fixing Server Crashes with AI Autopilot
Medium · AI
CLI Ownership Management: master, owner, and session Commands for Self-Hosted Wallets
Dev.to AI
Our drift-warning hook was silently dead for 23 days. Zero warnings looked exactly like good behavior.
Dev.to AI
Automate AI Workflows with Qualcomm AI Runtime
Dev.to · Gate of AI
Chapters (9)
Introduction to Dataverse Plugin and presenters Kent Weare and Suyesh Kshirsag
0:29
Overview of Dataverse Skills Plugin empowering natural language operations
1:08
Introduction to Maya's objectives: connect, build model, import, validate
5:46
Introduction of Riya, DevOps analyst, and overview of her Dataverse tasks
6:22
Riya connects to CRM using Dataverse plugin with simple natural prompt
9:00
Riya checks her open follow-up tasks for the week using natural language query
10:21
Emphasis on data hygiene; Riya cleans up Powell's opportunity follow-up
12:17
Amara creates and validates complex security models through natural language
18:42
Summary of all setup tasks completed: business units, roles, profiles, validat
🎓
Tutor Explanation
DeepCamp AI