Connected managed and complete agentic apps with Microsoft Foundry | BRK113

Connected managed and complete agentic apps with Microsoft Foundry | BRK113

Microsoft Events

0:00 Mike Hulme: All right.

0:00 Welcome everyone and welcome to our session, welcome to Ignite.

0:08 Thank you all for coming to join us here.

0:10 And it's actually great to be back in San Francisco.

0:12 This is a part of the country that I called home for most of my life up

0:17 until about two years ago when I made

0:18 my way over to the Seattle area and joined Microsoft.

0:25 Today has actually been a great day.

0:27 It's great to see so many people coming out.

0:29 This is just the second year that we went back in in-person events.

0:33 And I think it's really fantastic that we're here in San

0:35 Francisco where we see just so much great AI innovation happening.

0:39 And across this event, if you watched the keynote,

0:41 if you attended some of the sessions, you might have heard us talking a little

0:44 bit about frontier organizations or frontier transformation.

0:48 And at the core of that is a wave

0:50 of new applications that are just coming online.

0:52 We expect that to be somewhere in the neighborhood of 1.3 billion agents

0:55 that are going to move to production in just the next two years.

0:59 And as we've discussed,

1:00 these applications really distinguish themselves by their ability to reason,

1:05 by their ability to act on our behalf

1:07 with both intelligence and with agency and to serve

1:10 as an extension of our teams and really

1:12 an extension of ourselves in our everyday lives.

1:14 And the organizations that are using these agents and they're being successful

1:19 and they're driving deep impact for their business is what we call frontier.

1:22 And in this session we're actually going

1:24 to shift from the concept of what a frontier

1:27 application is into how you can actually

1:29 bring these AI applications and agents to production,

1:32 how you can ensure that every agent delivers on the expectations

1:36 and the results that you're looking for, and that every one

1:38 of those applications can also be governed and managed and operated

1:41 in the way that you need to to protect your business.

1:44 And so if we look at just some great examples here,

1:47 the impact of AI is already undeniable.

1:50 We're seeing direct, measurable,

1:52 and very tangible improvements in things like efficiency and productivity,

1:56 cost and time savings for key business services.

2:00 And just take, for example,

2:01 Standard Charter Bank who used the app modernization agents in GitHub

2:05 Copilot to transform their legacy stock grading systems in just four weeks.

2:10 The developers talked about an increase in productivity of around 40%.

2:15 And Java version upgrades were accelerated by around 70%.

2:18 And all of that included 95% test coverage by AI-generated tests.

2:23 Or look at SoftBank who's now using AI agents

2:26 to cover about 2/3 of their enterprise customer support issues.

2:30 This is reducing customer support costs by over $150 million.

2:34 This is a significant improvement in all of these business services.

2:38 But the challenges that we hear

2:40 from customers like yourselves are also quite common.

2:43 We hear that you're under massive pressure to deliver

2:46 agentic applications for your business as fast as possible.

2:49 That you're navigating a complex set of tools and services,

2:52 that new models are arriving every day.

2:55 We had some arrive just this week.

2:57 And building the services means that developers

2:59 are working across a very diverse,

3:02 very complex set of multiple, often unknown or foreign environments.

3:06 And that you're having to integrate all

3:08 of these disconnected systems just to be successful.

3:10 Those that move to production can often find

3:13 that the agent actually falls short of expectations.

3:16 Without the right grounding, the right data,

3:18 the right context for all of your users in your business,

3:21 you're finding that some of those services

3:23 just aren't giving you what you expected.

3:25 And with the rise of multi-agent systems,

3:27 the security threat service and the need for governance over

3:31 agent behavior for usage and for cost just continues to expand.

3:35 But we need to define a model for security

3:38 and governance that protects your business while also

3:40 giving you the freedom to innovate at the speed

3:43 and the impact that you need for your business.

3:45 And that's incredibly complex, but to make it even more complex is

3:49 that these applications themselves actually have unique needs.

3:52 They need access to the best models for various use cases.

3:56 They have to connect those agents and applications

3:59 to the right knowledge sources to contextualize AI responses.

4:03 You have to orchestrate across multiagent systems.

4:06 And you have to continuously evaluate if your solutions at every stage

4:10 of the AI lifecycle have the proper content safety and security measures.

4:15 All of that is making this entire process

4:17 of bringing these applications to life very, very complex.

4:21 And these are the exact challenges that we've taken on with Microsoft Foundry.

4:25 And as we've evolved this platform,

4:26 we've thought through the kinds of things that we need to do.

4:29 It's the most widely used AI platform in the world,

4:32 and it gives us great insights into what you need to be successful.

4:36 And so it's why we continue to expand our model catalog to bring

4:40 you the greatest diversity and range of models for every use case,

4:43 including those from OpenAI and from Anthropic,

4:45 and why we're making it easier than ever to connect

4:48 with the diverse data sources that bring deep context to your agents

4:53 that allow you to dynamically reason over your business systems

4:56 and your data and ensure that every agent is grounded, reliable, and relevant.

5:01 It's also why we're bringing together

5:03 this single control plane that we announced today.

5:05 All of the services you need to manage:

5:08 Identity and policy, observability and security.

5:10 And we've built this platform to be integrated so that you

5:14 have great access to a complete set of Azure services.

5:17 But we also want it to be modular so

5:19 that you have the flexibility to use any model, any tool, open frameworks.

5:23 This is a complete foundation for you to define the next stage of your AI

5:27 strategy and to really push forward

5:29 to deliver the results that you're looking for.

5:32 Now, today we took a very significant step forward.

5:36 We've augmented Microsoft Foundry with a curated

5:39 set of application platform capabilities.

5:41 And that's actually what we're going to show today through our demos.

5:44 We'll bring those to life and show you exactly how they work.

5:46 But it includes things like Logic Apps connectors that give

5:49 you access to 1,400 systems like SAP and ServiceNow, HubSpot, all as MCP tools.

5:57 And it gives you the power to quickly integrate into your core business systems

6:00 but also to act on the real-time

6:02 business data and events that those systems surface.

6:05 And through API management,

6:07 any API or function can now be securely exposed as an MCP tool.

6:11 But also through the integration of AI

6:14 gateway into the new Foundry Control Plane,

6:16 you have augmented governance and visibility for every

6:20 agent and MCP tool with built-in authentication, cost control, and logging.

6:24 Now, this is just the beginning.

6:26 These are great new integrations, and we're excited to showcase those for you.

6:29 But you should expect that this will be a continual strategy

6:32 and we'll just continue to bring out more ways that we can

6:35 bring services from our application platform together with our AI platform

6:39 as well to help you bring these agents and AI applications to life.

6:43 Now, before we dive into the new capabilities,

6:45 I actually want to highlight a specific customer.

6:49 KPMG is doing some great things with agents.

6:51 They're realizing great results.

6:53 And in just a minute, I'm going to bring up Robert Finlayson,

6:56 who's going to detail their journey working with us.

6:59 They began their generative AI journey back in 2023.

7:04 They built a new service called KymChat, which is really an assistant.

7:07 But they quickly advanced into building agents and have

7:11 become one of the early adopters of Microsoft Foundry.

7:13 They now have over 50 AI assistants and chatbots in production.

7:18 But they're actually working on 1,000 more agents

7:21 and chatbots that will be helping them across their system.

7:23 And Robert Finlayson is the Principal Product Manager at KPMG.

7:27 He's going to share where they started,

7:29 some of the things that they experienced along the way,

7:31 and then also what's next.

7:33 Before we bring up Robert, I'm going to run a short video.

7:35 And when we're done with that, Robert will join us on stage.

7:40 Music] Speaker 1: KPMG Workbench is our global AI platform

7:46 built with Microsoft to amplify human expertise through trusted AI agents,

7:51 accelerating research, innovation, and client delivery.

7:55 Early agents built with AutoGen on infrastructure

7:58 as a service worked well but lacked orchestration at scale.

8:02 Think of them as talented musicians without a conductor,

8:04 brilliant but not in harmony.

8:07 Enter Foundry Agent Service, integrated into Workbench,

8:10 bringing intelligent agents into KPMG's AI ecosystem.

8:15 When a KPMG app triggers an agent execution,

8:17 the request first passes through Azure API Management.

8:21 This secure facade enforces role-based access control

8:24 and logs every interaction for complete observability.

8:28 From there, the request flows into the agent service.

8:30 Inside Microsoft Foundry,

8:32 workloads are orchestrated across multiple Foundry projects.

8:35 Each project hosts a network of agents and connects seamlessly to KPMG tools,

8:40 enabling complex, agentic workflows.

8:43 The data layer is powered by Azure Cosmos DB.

8:46 Telemetry streams into App Insights, Azure Monitor, and Log Analytics.

8:50 Now let's see this architecture perform.

8:53 KPMG CaseCraft is an AI-powered storytelling assistant,

8:57 with agents working together to create,

8:59 find, and elevate KPMG's most compelling client delivery stories.

9:04 Picture the reviewer, research, and editor agents working in parallel to craft

9:08 a case study for a major European airport.

9:11 Multiagent workflows run seamlessly, recovering gracefully from errors,

9:15 while telemetry ensures compliance and performance.

9:18 Just as a conductor brings out the best in every section of an orchestra,

9:22 this integration unlocks capabilities that turn

9:25 individual agent skills into a seamless, high-performing ensemble.

9:29 Benefits of using Microsoft Foundry: Complex workflow logic.

9:33 [Music] Parallel execution.

9:35 [Music] Reliability.

9:37 [Music] Deep observability.

9:40 [Music] Our experience showed that orchestrating

9:44 agents isn't just about waving the baton.

9:47 It's about designing the entire score before the first note is played.

9:51 Here's what made the harmony possible.

9:54 Security context propagation.

9:55 [Music] Early architecture planning.

9:58 [Music] Built-in connectors.

10:01 [Music] Telemetry.

10:03 [Music] With Microsoft Foundry as the conductor and APIM as the stage manager,

10:10 KPMG Workbench transforms isolated agent

10:13 brilliance into a symphony of innovation,

10:16 delivering outcomes that resonate with clients and redefine how we work.

10:22 Music] All right, welcome to the stage, Robert Finlayson from KPMG.

10:26 Thank you, Robert.

10:27 Robert Finlayson: Thank you.

10:28 Thank you.

10:30 Applause] What an intro.

10:36 So how do we get started?

10:38 Our journey with Microsoft Foundry started over 18 months ago.

10:43 We wanted to be our client zero.

10:46 So we immediately deployed models,

10:47 put APIM in front of those models for cost recovery, observability.

10:53 Then we started to create agents.

10:55 We use AutoGen and Semantic Kernel.

11:00 In May of this year, when agent service went GA,

11:04 we transitioned our agentic workloads into agent service.

11:09 All net-new agents are now in agent service.

11:14 And we continue with our transition.

11:19 As we've scaled into our agentic fleet,

11:23 we've had to standardize how we work with Foundry.

11:27 So we leverage Foundry's projects, templates, the incredible tools from Foundry,

11:35 KPMG tools, all to build once and use many times.

11:42 We've learned a lot in our journey.

11:46 And I'll just highlight two things.

11:49 One thing is we were expecting Foundry to be a dev tool.

11:54 And for us, Foundry has extended to an agentic SELC platform.

12:00 So we have product managers,

12:01 model managers who are looking at the model catalogue.

12:05 We have data scientists doing experiments.

12:07 We have our trusted AI professionals looking at the responsible AI tools.

12:12 We have our testing and operations team look at the evaluations.

12:18 So Foundry has extended to our full SELC.

12:22 Our other learning has been about the project architecture in Foundry.

12:29 Don't use one single project for all your agents.

12:33 Use multiple projects.

12:35 It segments the agent workloads and it's helped us

12:39 put role space access control onto our agentic apps.

12:45 So two things we've learned along the way.

12:49 What we're building next with Foundry is

12:52 we're transitioning our agentic workloads, hosted agents.

12:58 We have a lot of container-based agents from AutoGen.

13:03 And you'll hear later in this session today

13:06 about how we now have hosted agents in Foundry.

13:10 So that's something which we'll be doing next.

13:13 The other super exciting thing is the Foundry Control Plane.

13:21 And that's going to provide us with deep

13:25 observability to put guardrails on our tools.

13:29 And a lot of our teams are excited to get working with that.

13:33 So that's what we'll be doing next with Foundry and agents.

13:40 Balan Subramanian: Thank you, Robert.

13:41 Robert Finlayson: Cheers.

13:43 Applause] Balan Subramanian: So that was really exciting to hear what KPMG has

13:47 done to build their own platform for their apps and agents.

13:51 But I'm even more excited about what we're doing in Foundry

13:54 to make it your turnkey platform for building your apps and your agents.

13:58 So to take us through that, I want to show you

14:01 a few demos of some of the capabilities that we've added into Foundry.

14:05 But first, going back to what Mike showed you earlier,

14:10 these are the areas that we focused

14:11 on, equipping your agents with tools and knowledge,

14:15 giving you better ways to build agents in Foundry

14:18 so you can do them wishfully or through code,

14:21 and also giving you this centralized control plane for managing

14:24 your agents and all the data sources and tools that they use.

14:30 So to take us through the capabilities,

14:32 we thought it would be nice to kind of use a real scenario.

14:35 So the scenario that we're going to use

14:37 today is about enhancing the customer return process.

14:39 This is a pretty common process in many retail and other industries.

14:43 And the things that we're going to show, firstly,

14:46 we're going to talk about how agents can replace much

14:49 of the human reasoning that's needed in these business processes.

14:53 Then we want to show you how these agents can access different business systems,

14:57 both for getting the data that they need to make these decisions,

15:01 but also to implement some of the actions

15:03 so that they can function autonomously.

15:06 Then we'll talk about hosted agents.

15:08 Like, we'll add more and more agents that can all now work together.

15:12 And then we'll show how these agents can enhance your existing

15:16 business processes and also help you build new agentic process implementations.

15:20 And finally, we'll show you how you can observe and govern

15:23 all aspects of such a solution through Foundry and the application platform.

15:30 So first, let's talk about enriching agents with real-time context.

15:34 So agents are only powerful and useful

15:36 as the tools that they have available to them.

15:39 So tools help agents deal with multiple modes,

15:42 whether it's text, images, video, or audio.

15:47 They help you connect to different business systems.

15:49 These could be your back-end business systems.

15:51 It could be partner systems.

15:53 It could be third-party SaaS that you're using.

15:55 And they help you integrate custom business logic.

15:59 So this could be existing business processes that you want your agent to use.

16:02 So all of that is possible through tools.

16:08 Now looking at what Foundry provides, Foundry provides a whole bunch of built-in

16:12 tools that help you deal with different modes,

16:15 whether that's speech, vision, or language.

16:18 As Mike announced, we are also announcing more than,

16:23 it's actually 1,500 plus now, not 1,400— it's 100 more that we found

16:28 this morning— that are now available in Foundry.

16:32 And these are enterprise-grade connectors that have been available

16:36 in our process automation platform for a really long time.

16:38 They are used by thousands, like hundreds and thousands of enterprises.

16:43 And what we have done is made it super easy to make

16:46 them available as MCP tools so that your agents can access them.

16:49 And I'll show you next how you can take advantage of that in Foundry.

16:53 And finally, we give you many different ways to build your own custom tools,

16:58 whether these are existing APIs that you want to make available as MCP tools,

17:02 or these are new MCP tools that you want to code to support your agents.

17:06 We make that possible in Foundry.

17:09 So let's jump into a quick demo.

17:18 Balan Subramanian: This is the new Foundry portal,

17:20 and we can start by creating an agent here.

17:22 But to make this process simpler,

17:24 I've already created some agents where we can look at it

17:26 step by step on how to get to the full returns agent.

17:30 So let's start with this.

17:32 To start with, we have some very simple system instructions for the model,

17:37 and we're going to add some tools.

17:40 The first tool we want is a tool to get our order details from Shopify.

17:44 To do this, we'll go here, add a new tool.

17:47 And as you can see, Foundry has a lot of built-in tools,

17:51 but it also has this catalog where you can find remote MCP servers,

17:57 local MCP servers, and also Logic Apps connectors available as MCP

18:01 servers that you can customize and use in your agents.

18:05 So we'll go ahead and search for Shopify.

18:09 There you go.

18:10 Click that.

18:13 To run these MCP servers, Foundry uses Logic Apps.

18:17 So the first time you create a tool in a Foundry project,

18:20 a Logic Apps resource is created.

18:22 But after that, the same Logic Apps resource is used for other tools.

18:32 So now we are in the Azure portal.

18:36 And we'll start by giving this a name.

18:45 The more descriptive we can make our tool and also the actions available in it,

18:50 the easier it is for the agent to start using them.

18:57 So we need to provide a connection to Shopify.

19:00 And to do that, you need the API key from Shopify and also the store URL.

19:06 Let's go ahead and use a connection that I've already created.

19:09 And now we can add the actions that are available through this tool.

19:12 So these are the actions that are available through the Shopify connector.

19:16 And let's pick this one.

19:22 And we can also configure the parameters

19:25 that are required for this tool to function.

19:28 In this case, we need the order ID.

19:32 And we can specify if the order ID is going to be provided

19:35 by the model dynamically or if it's going to be hardcoded at this point.

19:40 So you can imagine the use case where

19:42 a tool is going to be used by different agents,

19:45 and it always has to behave the same way.

19:48 So you might want to hardcode some of these parameters.

19:50 But in this case, we're going to let the model provide the parameters.

19:54 Save the changes and register.

19:56 This will go ahead and create the Logic App connector to create

20:01 the corresponding MCP server and make it available as a tool in Foundry.

20:06 The nice thing about this is you didn't

20:08 have to know the full API signature of Shopify.

20:11 And you can set it up in a way that the agent can dynamically figure

20:17 out what parameters are needed and what the shape of the request needs to be,

20:22 and send that request over to this tool.

20:25 So we can now go ahead and add this to any of our agents,

20:27 but let's switch over to an agent that I've already created that has this tool.

20:32 So now, this agent has more instructions.

20:36 So we're going to ask the user for the order number.

20:38 We're going to use the tool that we just added to get the details of that order.

20:44 And we're going to ask the user which

20:46 product from the order they want to return.

20:51 So now, let's go ahead and add the File Search tool.

20:55 This is going to help us add all

20:57 the policy documents from the different suppliers for our store.

21:03 So we'll add all these documents.

21:08 And what this is going to do is create a new vector

21:11 index based on all the policies that are in these supplier-provided documents.

21:18 And it's going to make that index available to all the agents in this project.

21:25 So you can create a new index if you want,

21:27 or you can use one of the available indices.

21:31 So we'll go ahead and switch to one

21:32 of our agents that already has this tool added.

21:41 So as you can see, now we have more instructions.

21:46 Basically, the agent is going to use

21:49 the PDFs to reason about the return and make

21:52 a decision on whether the return is allowed

21:55 or not based on that particular supplier's policy.

21:59 And it's going to let the user know about its decision.

22:03 So now we have two tools.

22:05 Let's add another tool.

22:07 This one is going to be a function that I've already created.

22:11 The function is pretty simple.

22:13 It basically takes in package dimensions and weight and decides if

22:18 a package is overweight or it's a package that requires pickup.

22:24 And then the agent can use that information to offer pickup to the user.

22:28 So this is an example of a scenario where you don't have an existing MCP server,

22:34 and you have to create a new MCP server.

22:37 It's very easy to create these MCP servers with functions.

22:40 Basically, in your functions code, you add the MCP tool trigger,

22:44 and that automatically makes it available as an MCP server.

22:48 And you can simply use the URL

22:54 of the function together with the MCP server app key,

23:02 and this will allow your agent to now talk to this function through MCP.

23:10 And to do that, we'll go here, we will basically provide a name for this tool,

23:17 provide the URL that we just looked

23:19 at, and provide the key from the Azure portal.

23:24 Again, we'll go back to an agent where I already have this tool.

23:30 So now we've added more instructions that basically

23:35 tell the agent to, in some conditions,

23:41 use this particular tool to figure out if a pickup should be offered.

23:44 Now, the next tool we want to add is going to be the Shipping Rates tool.

23:51 To do this, let's assume I want to get shipping rates,

23:55 but I don't have a tool in mind.

23:57 So I can just go to the catalog and search for shipping.

24:04 And there are some options that are available here,

24:07 and we can go ahead and pick "Easyship." Now,

24:10 you do have to create an account with each

24:13 of these providers and get the API key and provide it.

24:16 But the really nice thing here is all of these APIs,

24:21 you don't have to really know the shape of the API.

24:24 You can let the agent figure out the shape of the API.

24:28 And also, it provides you a good starting point.

24:31 So if you're ever looking for a tool,

24:33 you can go to the catalog and see if the thing that you're trying to accomplish

24:40 is possible through any of these MCP

24:43 servers that are already available in the catalog.

24:46 Cancel out of that.

24:47 We'll go back to our agent that already has this tool as well.

24:52 So now we have all of these tools.

24:54 And we've also added some new instructions that basically say

25:00 if the customer is going to pay for the return shipping,

25:03 then we can provide them with a quote from the Shipping Rate tool.

25:11 And then what we want to do is

25:14 call our existing business process that— let's say

25:17 the organization already has a business process where

25:20 once the process is— once a return is approved,

25:23 we can generate— the supplier needs to be notified,

25:27 some databases need to be updated,

25:29 and the shipping label needs to be generated and emailed out to the customer.

25:35 Let's say all of this is an existing business process.

25:39 So this is a Logic App that implements this business process.

25:45 And what we want to do is use this Logic App as an MCP tool.

25:52 To do that, we go to our AI gateway,

25:56 and we simply import that Logic App—— as an API.

26:04 And once we've done that, we can go to MCP

26:07 servers and create a new MCP server using that API.

26:13 I've already created one here.

26:15 This is the Return Execution tool.

26:17 And I can go back to Foundry, and just the same way I added the function,

26:24 I can add this by providing the URL to the MCP tool,

26:30 and also the key to talk to it that I can get from the AI gateway.

26:36 One interesting point here is now the URL is actually the AI gateway.

26:41 So all the interactions between the agent and the tool

26:44 are now managed and governed by the AI gateway.

26:50 So let's switch to one of our agents here.

27:04 And we now have the final return agent.

27:07 So as you can see, this has a whole bunch of steps that it's executing.

27:10 And it has a whole bunch of tools

27:13 that the agent can use as needed for these steps.

27:19 Now, one thing I want to note is this is not a best

27:22 practice in terms of having one agent have so many different instructions.

27:27 What we found to be a better practice is splitting this up

27:31 into independent agents and using workflows to put these agents together.

27:38 And now this entire workflow can be made available as one agent

27:43 that can be accessed from your chat

27:46 application or from another business process.

27:49 For now, we'll continue to use the return agent.

27:56 And then run our agent.

27:57 I'm going to do this in the Foundry chat playground.

28:00 Typically, you would integrate this agent into a chat application,

28:03 but using the playground allows us to see

28:06 all the different steps that are happening.

28:28 So in the playground, we show you all the different MCP tool invocations.

28:33 In a real chat application, you wouldn't be showing this to the end

28:36 user and asking them to approve each invocation.

28:39 But here in the playground, it allows us to kind of look at all

28:42 the different parameters and the responses that we're getting.

28:47 So now the agent is using the Shopify tool,

28:50 and it's fetched some of the details from the order.

28:55 And it wants to know both the item to be returned and the reason.

28:58 Let's go ahead and just first give it the item number.

29:04 So at this point, the agent has found more information about the item,

29:09 but it still needs information about why the item is being returned

29:13 before it can do its reasoning about whether the return is eligible.

29:29 So now, the agent has done its reasoning

29:34 using the policy document of the relevant supplier,

29:38 and it has figured that it can be returned.

29:42 And now it's checking— it's going to use

29:44 our function to check if the package is oversized.

29:47 So the nice thing about agents is that they can sometimes

29:53 use their global knowledge when the specific knowledge is not available.

29:59 So in this case, the details about the dimensions are

30:03 not available as part of our inventory database in Shopify.

30:07 So it's just using some typical values for such items.

30:11 Now, this is not appropriate in some use cases,

30:14 but in a lot of use cases, it is okay to assume these typical values.

30:19 So we'll go ahead and use that.

30:26 While that's happening, I also— well, it finished.

30:30 So now, it's decided that the item is oversized,

30:34 and a pickup will be offered by TechNova.

30:38 And now it wants my email.

30:40 Now, the interesting thing is, you know,

30:43 sometimes this data is already available to the agent,

30:46 and you just need to give it a hint.

30:57 Okay.

30:57 So that's been helped, and the email address was part of the order

31:03 details that the agent pulled from Shopify.

31:07 And—— we will basically tell it to go ahead.

31:15 And now, it's going to invoke our business process in Logic Apps

31:21 that handles the creation of the shipping label and emailing it to the user.

31:26 I'll go ahead and approve that as well.

31:35 Gmail account, we would see that we've now received

31:38 that email with the return details for this particular order.

31:43 And going back to Foundry, as a developer,

31:45 you can see the trace of each conversation.

31:49 Let's pick the last one that was completed.

31:51 So you can see all the calls that were made, all the interactions with the user,

31:57 and the corresponding MCP tool invocation and the response of that invocation.

32:05 So that was just a simple example of how you can use the power of the LLM

32:10 to do reasoning and equip your agents

32:13 with tools and basically implement an end-to-end business process,

32:18 or an agentic business process now that leverages existing APIs,

32:23 existing functions, and existing business processes,

32:26 but brings them all together to provide a great experience for your end user.

32:33 Shawn Henry: So where we are is we've kind of built our agent,

32:36 and now we're going to move it and see

32:38 how we can add agents and capabilities in code agents.

32:43 And what Balan was showing you is how you can very quickly

32:45 and easily build really powerful agents

32:48 directly in Foundry by creating your instructions,

32:51 connecting your tools, testing them out, evaluating them.

32:54 But sometimes there's no substitute for the expressiveness

32:56 and the complexity that you can create building in code.

33:02 So in order to help with that, in Azure AI Foundry and Agent Service,

33:08 we have the Microsoft Agent Framework,

33:11 which allows you to build agents in Python and C#,

33:16 connect them together into multiagent systems and workflows,

33:19 and then deploy those into Foundry using our new hosted agent service.

33:24 Then once they're in Foundry, you can orchestrate them just like you can

33:26 orchestrate any of your agents together in Foundry.

33:28 You can use them, test them, evaluate them, connect them into M365, into Teams.

33:33 All the things that you can do with your declarative agents in Foundry,

33:36 you can do with code agents.

33:39 And all this relies on a new feature

33:41 we announced today for Foundry called Hosted Agents.

33:44 And what Hosted Agents does,

33:46 it allows you to take agents built with Microsoft Agent Framework

33:49 or LangGraph and then use our developer tools or Azure developer tools,

33:53 wrap those up in a container.

33:55 We'll do all that work for you.

33:56 We'll host it up in Foundry so that anything that you've

33:58 built in code can now be managed as an agent inside Foundry.

34:05 So let's take a look at that.

34:06 I will head over here.

34:11 Oh, man, someone has been messing with my machine.

34:14 All right.

34:17 So we can take a look.

34:18 If we're building in Microsoft Agent Framework or LangGraph,

34:21 we can specify our agents in code.

34:23 We can pull them from templates.

34:25 We can do all the things that we could do in the Foundry portal.

34:28 So you can see here I have an agent I've created.

34:31 It's got a name.

34:36 It's got a prompt.

34:37 We've connected to some tools.

34:38 These tools are built in code.

34:40 We can access anything that we can access in code.

34:42 And it's got custom structured inputs and outputs that we can use so we can make

34:47 sure that our agents always output data

34:50 that can interface with the rest of our systems.

34:53 We can create a lot of agents.

34:55 So this workflow I'm going to create

34:56 is going to generate coupons for our customers.

34:59 So it's going to look at what loyalty tier are customers in.

35:03 It's going to look at what they're returning.

35:04 It's going to go look at social networks, see,

35:06 evaluate the product and some of the reviews of the product.

35:09 And it's going to decide based on that if it should give a coupon

35:13 for that specific product or if it should

35:15 give a more generic coupon for the entire store.

35:17 So we have, what, six agents here,

35:18 and we're going to orchestrate these together into a workflow.

35:21 And we do that again in code.

35:24 In the same way, you can kind of imagine we have

35:26 this graph and we're connecting these edges of all these agents together.

35:29 And we can even do things like map reduce and fan in, fan out,

35:33 and all the kind of things you would expect from a workflow engine in code.

35:40 And so we go ahead and run this, and actually I have it running,

35:43 hopefully, over here.

35:44 And we can see it.

35:45 So this is the workflow we've generated.

35:49 You can see we have these agents strung together.

35:50 They're passing data between them.

35:52 Our orchestrator agent makes a decision and then

35:54 decides what kind of coupon we want to create.

35:56 So we're using our dev UI here as part of agent

35:59 framework to actually run this, and it's asking us for our inputs.

36:02 Most of these have some defaults, but I'll put my name in here.

36:05 And then we'll run it.

36:06 And we can see our agents actually running.

36:09 We're starting off by taking that input data,

36:12 looking at the loyalty program that was given to us.

36:14 Let's see here.

36:15 I think we— are we going?

36:19 There we go.

36:19 Maybe?

36:20 Yes.

36:21 Okay.

36:21 So loyalty agent running.

36:22 Now the social agent is going out, checking all the social networks,

36:25 using all our tools and connectors that we built directly in code,

36:28 gathering that data, and then sending that off to our orchestrator agent,

36:31 which looks at the data, decides what type of coupon, a product code,

36:34 or a store discount and then generates an email

36:37 that we can now send to our customer with that information.

36:40 All that happening in code.

36:42 But what we really want to do is we want to integrate

36:44 that with the agents that Balan showed

36:47 you earlier that he wrote declaratively in Foundry.

36:50 So very easy if you're familiar with Azure developer tools,

36:54 and even if you're not, if we've set up our project correctly.

36:57 So I have over here, I've set up my project.

36:59 We have tools to generate all the Bicep, and JSON, and Docker files for you.

37:07 And so all you need to do is you need to type a— oh, not up here.

37:12 All you need to do down at the bottom, you guys can see,

37:14 I am typing azd up, which will package all this stuff up together,

37:20 send it up into Foundry.

37:22 But that takes a little while.

37:23 It takes a couple minutes to do that.

37:24 So what I'll do is I'll pop right back over into Foundry.

37:28 And this is Balan's agent here that he was showing you earlier.

37:31 But we can see earlier I created a hosted agent here.

37:34 So this is an agent that is using that code that I deployed up into Foundry.

37:38 We can't modify it once it's in Foundry because that was all done in code.

37:43 All the instructions and tools were done in code.

37:45 But I can talk to it.

37:46 I can have conversations with it.

37:47 I can look at the traces.

37:49 I can monitor it.

37:50 I can evaluate it.

37:51 I can see all the things it's doing.

37:52 And more importantly, I can connect it to my other agents using workflows.

37:58 So I've created here a workflow using Balan's agent, which is the return agent.

38:04 And it loops through.

38:05 But Balan, if his agent had been working,

38:07 he would have gone through the loops and it would have gone through all

38:10 the steps that he showed and determined

38:12 if the customer was eligible for a return.

38:16 And once it had decided that it was going to process the return,

38:19 what we want to do is we want to call our code agent.

38:21 So just like I've created the return agent here in our workflow,

38:25 if we decide we want to process a return,

38:27 this is saying if the response is not process return.

38:30 So if we're processing a return, we'll go over here.

38:33 We'll invoke an agent.

38:34 I'll pick my agent from the dropdown.

38:36 I've got my list of agents that are from my "Agents" tab.

38:39 I'll connect that.

38:40 And now I can run this workflow within Foundry

38:43 with a combination of all the agents that I've built in Foundry.

38:47 We have code agents.

38:48 We have declarative agents working

38:51 together and orchestrating themselves within Foundry.

38:54 Now, what I really want to do, though,

38:55 is I want to take these agents orchestrating together

38:58 and I want to use them with my business process automation.

39:01 So I'm going to have Balan come back up here with his freshly refreshed laptop,

39:05 and he's going to show us how we can

39:08 connect this workflow to some existing business process automation.

39:14 Balan Subramanian: All right.

39:14 As soon as I walked back there, the network started working.

39:17 So hopefully it stays.

39:21 But let's switch to slides first for a minute.

39:30 So what Shawn showed us was how you could build a team of agents.

39:33 But now in many organizations you already have existing

39:37 business processes that you want to enhance using agents.

39:42 So Microsoft's platform for business process automation is Azure Logic Apps.

39:46 So in addition to the integrations that we showed

39:49 earlier that are now also made available in Foundry,

39:52 Logic Apps also gives you a battle-tested

39:55 platform for running critical business processes.

39:58 That includes different kinds of workflows.

40:00 So these are not just workflows among agents but also

40:03 workflows that you would typically encounter in an enterprise,

40:06 right, things like updating databases,

40:09 things like implementing transactions across multiple systems.

40:13 These are some of the things that Azure Logic Apps does.

40:16 Now, Azure Logic Apps is very mature technology.

40:19 It's used by over 100,000 enterprises worldwide.

40:24 It's running about 80 million executions every month.

40:29 And now what we are enabling is the opportunity

40:32 to bring some of the agents that you've built,

40:34 whether you built them using code or visually, into Logic Apps.

40:40 And the way we're doing that is through the Logic Apps Agent Service Connector.

40:46 We're excited that this is going GA.

40:48 Today we've learned a lot from the public preview,

40:51 and we have incorporated that into the product.

40:53 So what the agent service connector does is lets

40:55 you seamlessly call agents that are in Foundry or elsewhere.

41:00 It uses the A2A protocol.

41:01 So you can also have agents running in GCP or in AWS,

41:06 though we hope you do them all in Azure,

41:09 and incorporate them into your existing business processes

41:13 or new business process implementations that you're building.

41:17 So with that, let's switch back to my machine and pray it works.

41:28 All right, so this is an existing Logic App that I have,

41:32 and this one is the same return process.

41:34 But assume that this was the original

41:36 return process where the company basically uses ServiceNow.

41:40 A user calls into the customer service center,

41:43 and a human basically takes in all

41:46 the information about the order to be returned, why it's being returned,

41:49 things like that, and creates a ServiceNow ticket for it.

41:54 And at some point, another human picks up that ServiceNow ticket.

41:59 Logic Apps provides integrations into Teams

42:02 and various other communication tools.

42:05 So you can assume that a Teams notification popped up,

42:08 and a human basically now looked at this tool.

42:12 And then they had to go figure out who is the supplier,

42:14 look up their PDF documents.

42:16 And you can also imagine the complexity

42:18 when these documents could keep changing,

42:20 like maybe the supplier changes policies every six months.

42:24 And ultimately, they update the ServiceNow ticket again with the addition.

42:30 And this Logic Apps workflow basically is

42:34 listening for updates to that ServiceNow ticket,

42:36 and it's able to send an email to the customer.

42:39 Now, this is a process that could take hours or even days.

42:43 And now with agents, we can make that much faster.

42:48 So this is the same process or the same workflow.

42:52 But now, instead of sending the ticket to a human and waiting for a response,

42:58 it's basically using the agent service connector

43:01 to start a conversation with the agent, just like a human user would do.

43:06 And it basically awaits the response and then it

43:09 continues the same process of sending the email out.

43:12 So now let's see how this would actually work in action.

43:15 This is ServiceNow.

43:16 So we'll go ahead and create a new ticket.

43:18 And let's say Nathan is the person who called

43:23 into the call center and asked for a return.

43:31 I have an order number here.

43:42 Inaudible] (Laughs) thank you, kid.

43:50 All right.

43:50 Now we can go back to our Logic App.

43:54 Let's go look at the run history.

43:58 And that looks like the one that just ran.

44:01 So let's take a look at that.

44:05 And you can see how it kind of picked up the ticket,

44:09 took all the details from it.

44:11 It called the agent.

44:14 And basically we can look at all the inputs and the outputs.

44:25 Well, I'll have to look at the agent response.

44:28 So basically this is the email that's going to be sent back to the user.

44:32 And assume this is Nathan Miller.

44:37 And now this is the retention coupon that was sent out automatically.

44:42 And what we just did was process

44:44 the return and also generated the retention coupon.

44:47 So just zooming out a little bit,

44:48 if you look at this from a perspective of a business process,

44:51 we made the process faster for the end user, who is the customer in this case.

44:56 We made it less human intensive.

44:59 So there is less things that a human has to do to execute this business process.

45:05 And we also enhanced the business process.

45:06 So in addition to not only processing the return,

45:10 we are also able to do things like generate

45:12 retention offers and send it to the end customer.

45:18 So there's more to agentic process automation.

45:23 And later on I have some links to some

45:25 of the other sessions that go deeper into that.

45:28 We saw a couple of ways to build agents and use them in Logic Apps.

45:32 But you can also build these agents through Logic Apps,

45:35 just like we built them with code and built them using the Foundry portal.

45:40 Logic Apps is another way where, as part of your business process,

45:44 you can start creating agents that ultimately end up running in Foundry.

45:49 So this is kind of what we went through so far.

45:52 The last one left is governance.

45:54 And as you can imagine, as developers build more and more agents and start using

46:00 more and more tools and start sharing them across the organization,

46:04 organizations are going to need a way to get

46:08 visibility and control over these agents and tools.

46:10 And that's what the Foundry Control Plane provides.

46:14 Now, a big part of the Foundry Control Plane is the AI gateway.

46:18 This is APIM, Azure API Management.

46:21 This is the same gateway that Robert mentioned

46:24 that KPMG uses to orchestrate the different agents and tools.

46:28 What's exciting about what's happening now

46:30 is we are incorporating this into Foundry.

46:34 So right from within Foundry, you can create an AI gateway.

46:37 You can use it to manage how your agents use different models.

46:41 You can even switch between models and model

46:44 versions without changing any of your agent code.

46:47 You can take existing APIs and make them available as MCP servers.

46:51 You can also put other MCP servers behind API management so that you get another

46:56 point of visibility and control into how

46:58 those MCP servers are being used by your agents.

47:01 And not only that, the AI gateway also

47:04 helps you incorporate agents that are running elsewhere.

47:07 Like maybe you have, like I said before,

47:09 unfortunately agents running in GCP or on AWS.

47:12 You can register them into the Foundry Control Plane using the AI gateway.

47:16 And now all traffic to those agents flow through the Foundry Control Plane,

47:21 giving you better visibility and control.

47:25 So we'll switch back real quick.

47:27 I just want to show you the Foundry Control Plane and how the AI gateway works.

47:32 So under "Operate" in Foundry,

47:35 if you go under "Admin," there's the AI gateway section.

47:40 You can add new AI gateways.

47:46 Well, it's loading.

47:48 Well, while that's loading, let's go and look at the actual AI gateway.

47:52 This is Azure API Management.

47:54 And as you can see, some of the MCP

47:57 servers that we built previously now show up here.

48:00 And you can put additional policies in place.

48:03 So this is a simple example of a rate-limiting policy

48:07 for the Azure function that we converted into a MCP tool.

48:11 If you remember, this was the tool to check for oversized packages.

48:16 Maybe this is an expensive operation for you to run, so you want to throttle it.

48:20 And that's easy to do simply by adding a policy.

48:23 And the nice thing about this is this policy

48:25 applies to all usage of this tool within your organization.

48:29 So rather than trying to hunt down how

48:31 each agent uses different data sources and different tools,

48:34 now you can manage that all centrally through

48:37 the Foundry Control Plane using the AI gateway.

48:42 And as you can see, the same AI

48:44 gateway can be used against multiple Foundry projects.

48:48 And it will apply all the content safety policies, all the API access policies,

48:53 and data access policies uniformly across all of those projects.

49:02 So that kind of brings us towards the end.

49:05 And just going over what we did today,

49:08 we created some agents that can do reasoning on their own.

49:13 We equipped those agents to talk to different business systems.

49:17 We showed how to create agents through code and how

49:19 to put all these agents together to create teams of agents,

49:22 and then incorporate these teams of agents into existing business processes,

49:27 and finally get management and governance

49:29 across the entire application landscape.

49:33 So these are some of the related sessions that I would invite you to go to.

49:37 Shawn, our expert, will be talking about AI-powered automation and going deeper

49:43 into the Microsoft Agent Framework and Foundry

49:46 workflows in this deep dive session.

49:49 The API Management Team will be talking about the AI gateway in more detail,

49:53 showing you how to apply different policies and how to manage both models,

49:59 and tools, and agents using the AI gateway.

50:02 And finally, the Logic Apps Team will be

50:04 talking about agentic process automation and how you can,

50:08 whether it's existing business processes that you're

50:11 updating or new business processes you're building,

50:13 how you can bring the power of agents to both

50:16 of those through Logic Apps and its integration with Foundry.

50:20 And we would love to hear from you.

50:22 We are early in the agentic process automation space,

50:27 and we would love to hear from you about what

50:29 you plan to do with agents and what challenges you have.

50:33 We'll be at the Hub.

50:34 We have a couple of booths, and the entire team will be there.

50:38 So thank you, and I look forward to seeing you at the Hub.

50:45 Applause]

Study with Looplines Download Captions Watch on YouTube