Publish an agent from Foundry portal to Teams
Unit 3 of 8 · Module 11: Integrate your agent with Microsoft 365
Before you start
Short explainers for ideas this lesson builds on. Watch these first if they're new to you.
Read this lesson
Before it leaves the workshop
Imagine a toymaker getting a new toy ready for a department store. Before anything is boxed, the toy gets played with, hard. Do the same with your agent in the Foundry playground: try all sorts of questions, check that every tool works, and make sure the answers suit your users. Problems are far easier to fix now than after release. Next, choose what the store will get: on the agent's Details tab, set the active version to Always use latest, or to one version you've tested. Check your roles: Foundry User on the project, and Azure Bot Service Contributor on the resource group. Make sure the Microsoft dot Bot Service provider is registered. Then prepare the label: a display name, a one sentence description, a longer description, your organization's name, and links to your website, privacy statement, and terms of use. Never put secrets or keys in these fields, because everyone who finds your agent can read them.
Filling in the tag
Now open your agent, select Publish, then Teams and Microsoft Copilot. Foundry creates an Azure Bot Service resource for you, or shows the one you already have. Fill in the tag: the name, a publish version with three numbers like one point zero point zero, the short and long descriptions, and the developer. Under More, add the website, terms of use, and privacy links, and make sure each one starts with https. Then select Next: Publish options. Behind the counter, Foundry checks your details, writes a Teams app manifest, and packs it into a zip file with two icons. There's a color icon, a hundred and ninety two pixels square, and a small outline icon, thirty two pixels square.
Direct publish or download
You have two ways to deliver the box. Direct publish sends it to the store for you. Choose who can use the agent: Just you, ready at once under Your agents, or People in your organization, which waits for an admin. Select Publish, and you'll see Publish successful. Or choose Download and customize. You get the zip, you can adjust the names, descriptions, or icons, and then you upload it in Teams yourself: Apps, Manage your apps, Upload an app. Leave the generated IDs in the manifest alone, or Teams will reject the package. Either way, try the agent in Teams before you share it: it replies, the answers are right, it's quick enough, and its tools work.
Approval, permissions, and updates
For your whole organization, the store manager has to say yes. Your Microsoft 365 admin opens the Microsoft 365 admin center, goes to Agents, then Requested, and approves your agent. Then it sits on the Built by your org shelf, and app policies decide who can use it. If your agent's tools reach Azure resources, give the agent's own identity roles on them, like read access to a search index. Otherwise, tools that worked in the playground will fail in Teams. Updating is easy. Teams talks to the stable endpoint, so a new agent version reaches users as soon as the version selector points to it, with no republishing. Only changes to the store label, like the name or description, need Update display properties, and the version number goes up by itself.
Facts from Microsoft's documentation: Publish agents to Microsoft Copilot and Microsoft Teams; Publish agents to Microsoft 365 and Teams by using the REST API (CC BY 4.0), rewritten in Loop's own words and examples. Narration, animation, and quiz by Loop. Microsoft, Azure, and Microsoft Foundry are trademarks of Microsoft. Loop is independent and not affiliated with or endorsed by Microsoft.