Microsoft 365 Developer Blog https://devblogs.microsoft.com/microsoft365dev/ A developer platform for building collaborative apps for hybrid work Fri, 18 Jul 2025 17:37:54 +0000 en-US hourly 1 https://devblogs.microsoft.com/microsoft365dev/wp-content/uploads/sites/73/2021/08/msft-logo-48x48.png Microsoft 365 Developer Blog https://devblogs.microsoft.com/microsoft365dev/ 32 32 Bring your own agents into Microsoft 365 Copilot https://devblogs.microsoft.com/microsoft365dev/bring-your-own-agents-into-microsoft-365-copilot/ https://devblogs.microsoft.com/microsoft365dev/bring-your-own-agents-into-microsoft-365-copilot/#comments Wed, 16 Jul 2025 16:06:08 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24494 Custom Engine Agents now generally available—build and integrate your own AI into the flow of work Microsoft 365 Copilot is redefining how people interact with AI—embedding it directly into the flow of work as the intuitive, natural interface for agents: the ‘UI for AI’ As Copilot becomes the interface for AI in the workplace, we’re […]

The post Bring your own agents into Microsoft 365 Copilot appeared first on Microsoft 365 Developer Blog.

]]>
Custom Engine Agents now generally available—build and integrate your own AI into the flow of work

Microsoft 365 Copilot is redefining how people interact with AI—embedding it directly into the flow of work as the intuitive, natural interface for agents: the ‘UI for AI’

As Copilot becomes the interface for AI in the workplace, we’re seeing growing demand from customers who want to extend its capabilities with their own solutions. Many of our customers are looking to create custom agents—or have already built agents that operate outside the Microsoft 365 ecosystem—using fine-tuned models, custom logic, orchestrators, tools, knowledge sources, or complex integrations with other systems. Today, we’re enabling them to bring these agents into Microsoft 365 Copilot. We’re excited to announce the General Availability of custom engine agents in Microsoft 365 Copilot.

No matter where or how developers build their agents—whether with Copilot Studio, Azure AI Foundry, Visual Studio, or other AI platforms—they can now bring them into Microsoft 365 Copilot with a seamless, native experience. This integration gives developers full control over agent behavior, data access, and user interaction—ensuring consistency, security, and adaptability across the Microsoft 365 ecosystem.

LexisNexis Protege custom engine agent

Custom engine agents bring LexisNexis Protégé™ to life in Microsoft 365 Copilot

Build agents with full flexibility

Whether you’re starting fresh or extending existing solutions, with full control over logic, data access, and user interaction, developers can:

  • Define custom workflows and logic using code to match specific business processes.
  • Bring their own orchestration and models, including proprietary or fine-tuned LLMs—from Azure AI Foundry, Hugging Face, or other sources.
  • Integrate with external APIs and systems to automate complex tasks, enable real-time data retrieval, and extend functionality beyond native Copilot capabilities.
  • Implement asynchronous patterns, such as long-running tasks and proactive alerts, to keep users productive while agents work in the background.
  • Deploy across Microsoft 365 Copilot, Teams, and other channels with enterprise-grade security and compliance.
  • Build with enhanced security and compliance controls, ensuring agents align with organizational policies and regulatory requirements.

Accelerate custom agent development with the Microsoft 365 Agents Toolkit and SDK

Developers can move faster and build custom engine agents for Microsoft 365 Copilot with the Microsoft 365 Agents Toolkit—available in both Visual Studio and Visual Studio Code. It streamlines the custom agent-building process with built-in scaffolding, debugging tools, testing, and seamless integration with the Microsoft 365 Agents SDK.

Microsoft 365 Agents Toolkit and SDK

Once published, agents are instantly discoverable in the Agent Store, ready to meet users where they work—across Microsoft 365 Copilot, Teams, and more.

 

Watch how you can easily build your custom engine agent with Azure AI Foundry models and publish it to Microsoft 365 Copilot with the Toolkit and SDK.

Introducing support for asynchronous scenario patterns

We’re also introducing new native patterns for agents in Microsoft 365 Copilot, enabling developers to build custom agents that operate asynchronously—unlocking richer, more flexible user experiences. Unlike traditional synchronous interactions, these patterns allow agents to continue working in the background or proactively engage users when needed.

With asynchronous scenario patterns, custom agents can now:

  • Follow-up messages: Custom agents can perform background processing—such as data analysis or report generation—while users continue working in other parts of the Copilot interface. For instance, a user might ask to order a replacement laptop, and the agent can handle the request in the background without interrupting their workflow.
  • Long-running tasks: Agents can manage extended operations asynchronously, allowing users to initiate a task and receive a notification once it’s complete. For example, an agent could watermark all the documents in a SharePoint site while the user moves on to other work.
  • Proactive alerts: Agents can send timely notifications without requiring a user prompt—like reminding someone to enter interview feedback—helping users stay on top of important actions.

Seamless Integration in Microsoft Teams and Microsoft 365 Copilot

The experience for custom engine agents is designed to feel like a native part of Microsoft 365 Copilot. Once approved and published in the Agent Store, they’re instantly available to users—no separate installation required. Whether in Microsoft Teams or the Microsoft 365 Copilot web or desktop app, users can discover, launch, and interact with agents directly from Copilot Chat and sidebar.

M365 Copilot Agent Store
The Agent Store brings all agents together in one intuitive experience

 

Agents greet users with a friendly welcome message and offer suggested prompts to help them get started—making the experience intuitive and Copilot-native from the very first interaction. Users can browse agent descriptions, install their favorites, and pin them for quick access within the flow of work.

Asana image
Custom engine agents make Asana natively accessible in Copilot and Teams

 

We are excited how our partners are building their custom agents for Microsoft 365 Copilot now available in the Agent Store including, SAP Joule, LexisNexis Protégé, Meltwater and Asana. These agents bring the customization needed from our partner’s agentic use cases to the flow of work in M365 Copilot. We are introducing additional agents from more partners in the upcoming weeks.

SAP Joule custom engine agent
SAP Joule connects seamlessly with Microsoft 365 Copilot through custom engine agents

Enterprise-grade control—just like other Copilot agents

Custom engine agents follow the same management and governance model as other agents in Microsoft 365 Copilot, giving IT admins the confidence and control they need to scale securely. Through the Microsoft 365 admin center, admins can:

  • Approve or block agents in the Agent Store to manage availability across the organization
  • Control access using security groups and role-based permissions
  • Define data access policies to ensure agents only interact with approved sources
  • Monitor usage and performance with built-in reporting and analytics
  • Enforce compliance with organizational policies and regulatory requirements
  • These capabilities ensure that custom engine agents can be deployed and managed with the same rigor, flexibility, and security as any other Copilot-native experience.

Turn your code into agents for Microsoft 365 Copilot today!

With custom engine agents now generally available, developers and organizations can shape how AI shows up in the flow of work. From custom logic and models to secure, scalable deployment, we empower teams to build agents that reflect their unique needs and work—directly within Microsoft 365 Copilot.

To get started, download the Microsoft 365 Agents Toolkit for Visual Studio and Visual Studio code and bring your first agent to Microsoft 365 Copilot in minutes. You can follow along these resources:

 

We look forward to seeing what great agents you bring to Microsoft 365 Copilot.

The post Bring your own agents into Microsoft 365 Copilot appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/bring-your-own-agents-into-microsoft-365-copilot/feed/ 1
Supercharge your EWS migration with AI and GitHub Copilot https://devblogs.microsoft.com/microsoft365dev/supercharge-your-ews-migration-with-ai-and-github-copilot/ https://devblogs.microsoft.com/microsoft365dev/supercharge-your-ews-migration-with-ai-and-github-copilot/#comments Mon, 14 Jul 2025 17:53:45 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24482 We're announcing a new tutorial that helps developers migrate solutions from EWS to Microsoft Graph using AI and GitHub Copilot.

The post Supercharge your EWS migration with AI and GitHub Copilot appeared first on Microsoft 365 Developer Blog.

]]>
Are you running apps on Exchange Web Services (EWS)? With EWS support ending in October 2026, this is the perfect time to modernize. We’re excited to announce a new hands-on tutorial that helps you accelerate migrations from EWS to Microsoft Graph, using AI tools you already have access to. This tutorial teaches you skills that you can apply to working in any legacy code base.

Why this tutorial?

Migrating legacy code can feel daunting. This tutorial turns this challenge into an opportunity to upskill with the latest AI-powered tools and erase years of technical debt at the same time.

The tutorial walks you through the migration process using a real-world ASP.NET MVC mail app as a baseline and uses GitHub Copilot to accelerate every step: analyzing legacy code, generating documentation, adding tests, refactoring, and finally swapping out EWS for the Microsoft Graph API. You’ll discover how AI can help you understand unfamiliar code, automate repetitive tasks, and troubleshoot tricky migration issues.

The migration tutorial helps you learn how to:

  • Analyze and document legacy EWS codebases using GitHub Copilot and the Ews.Code.Analyzer package.
  • Generate code standards, requirements, and code comments with GitHub Copilot.
  • Add instrumentation, observability, and AI-based analytics with .NET Aspire.
  • Generate unit tests with xUnit and NSubstitute or your favorite framework.
  • Refactor for modularity and testability with AI tools.
  • Implement Microsoft Graph API in place of EWS.
  • Perform a partial migration with feature toggles while you wait for parity gaps to be filled.
  • Use Copilot to fix, troubleshoot, and optimize your migration.
  • Clean up and remove EWS dependencies for good.

Make your migration meaningful

Migrations can feel overwhelming, but embracing AI tools like Copilot can transform a tedious upgrade into a growth opportunity. You’ll not only eliminate a looming security risk but also gain practical experience with AI-assisted development—setting yourself and your team up for future success.

Whether you’re a seasoned developer or just curious about how Copilot can help with real-world tasks, this tutorial is a practical resource, packed with tips for making the most of AI tools. Turn a maintenance headache into a hands-on exploration of today’s AI-powered development, and you’ll go from legacy to legendary.

Ready to get started?

Try out the tutorial and share your experiences or questions in the comments. Let’s learn together and make this transition a win for everyone!

Happy coding,

Thomas & the Exchange Programmability Team

 

 

 

The post Supercharge your EWS migration with AI and GitHub Copilot appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/supercharge-your-ews-migration-with-ai-and-github-copilot/feed/ 1
Microsoft 365 Copilot APIs: Unlocking enterprise knowledge for AI with the Retrieval API — Now in Public Preview https://devblogs.microsoft.com/microsoft365dev/microsoft-365-copilot-apis-unlocking-enterprise-knowledge-for-ai-with-the-retrieval-api/ https://devblogs.microsoft.com/microsoft365dev/microsoft-365-copilot-apis-unlocking-enterprise-knowledge-for-ai-with-the-retrieval-api/#respond Fri, 27 Jun 2025 17:30:22 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24424 Read how the Retrieval API gives developers a secure, compliant and scalable way to integrate enterprise content into their AI workflows.

The post Microsoft 365 Copilot APIs: Unlocking enterprise knowledge for AI with the Retrieval API — Now in Public Preview appeared first on Microsoft 365 Developer Blog.

]]>
At Build 2025, we introduced the Microsoft 365 Copilot APIs. Developers now have an extensibility layer that empowers them to create intelligent, AI-driven experiences deeply integrated with the Microsoft 365 ecosystem. These APIs unlock powerful capabilities like content retrieval, meeting summarization, and user interaction export and accelerate innovation while ensuring enterprise-grade security and compliance. 

Today, we’re excited to announce that the Retrieval API, one of the most requested APIs in the set, is now available in Public Preview.  

The Retrieval API gives developers a secure, compliant and scalable way to integrate enterprise content into their AI workflows. Whether you’re building RAG pipelines, domain-specific agents or mining insights, it provides a powerful foundation for grounding large language models in trusted organization’s knowledge with minimal setup and maximum flexibility.  

Early adopters such as Accenture, Thomson Reuters, Peppermint, Templafy, and Petrobras are already putting the Retrieval API to work and powering value across a range of enterprise AI use cases. 

“At Accenture, we view the Retrieval API as a transformative advancement in our multi-platform agentic strategy. It extends the capabilities of our substantial Microsoft 365 Copilot footprint by enabling intelligent, context-aware agents to operate seamlessly across various environments. This API allows our custom applications and agents to securely access Microsoft 365 data while maintaining existing permissions, simplifying development and ensuring built-in compliance.” – Accenture 

Why it matters: Built for enterprise-grade AI

Building AI experiences in the enterprise isn’t just about model quality; it’s about trust, scale, and seamless integration with how your organization works. The Retrieval API is designed to meet that bar, enabling developers to innovate confidently with secure, scalable access to enterprise knowledge.  

The Retrieval API enables natural language queries over Microsoft 365 content, returning relevant, permission-trimmed snippets ready to ground AI experiences. With a simple REST call, developers can retrieve knowledge from SharePoint Online and Copilot connector–indexed content, making it easy to build intelligent, context-aware solutions. 

“As a customer who is heavily invested in Microsoft’s storage, SharePoint Online and OneDrive, the main benefit of the Retrieval API is relieving us of the weight of managing content indexing. With the Retrieval API, we can maintain our own post processing flows and create agents while still being able to access raw content and leverage it through the gen AI platform of our choice.” – Petrobras 

Here’s what makes the Retrieval API stand out:  

  • Secure and trustworthy by design: All results are permission-trimmed at query time, reflect Microsoft Entra ID access controls, and carry sensitivity label metadata, ensuring your agents and orchestrators never surface unauthorized or misclassified content.  
  • Less infrastructure overhead: You no longer need to build and maintain your own retrieval infrastructure or vector indexes. The Retrieval API uses the same semantic index that powers Microsoft 365 Copilot, so you can ground LLM responses without additional pipelines or duplication.  
  • Faster performance with fewer API calls: The Retrieval API supports JSON batching, allowing multiple queries to be sent through a single request. This makes it easier to power concurrent grounding workflows while keeping API calls efficient and scalable in large applications.  

The Retrieval API brings the semantic richness of Microsoft 365 to your AI stack, without compromising security, governance, or developer agility.  

What can you build with the Retrieval API

The Retrieval API unlocks powerful, real-world scenarios by providing a secure, scalable semantic access layer to enterprise content. It expands what’s possible for pro-code developers, enabling use cases that previously were only possible with low-code tools like Copilot Studio through Tenant Graph grounding, while still supporting a range of approaches to building agents in Microsoft 365. 

“Thomson Reuters is pioneering the integration of its AI assistant, CoCounsel, with Microsoft 365 via the Retrieval API to enhance legal workflows. In document review scenarios, CoCounsel enables legal professionals to query batches of contracts stored in SharePoint or OneDrive—extracting key clauses like indemnity or confidentiality—grounded in actual document content for accuracy and compliance. Simultaneously, CoCounsel can searchand pull value frominternal legal databases and Microsoft 365 content to answer complex legal queries, such as identifying standard clauses or retrieving documents tied to specific clients or legal issues.Thomson Reuters early adoption underscores its commitment to transforming legal operations through AI, without compromising on security, context sensitivity, or compliance.” – Thomson Reuters 

Here are a few examples of what’s possible with the Retrieval API:  

  • Policy and process agents: Build agents that can answer questions like “What’s our latest expense policy?” by retrieving relevant snippets from SharePoint and connector-indexed documents, ensuring responses are grounded in real, up-to-date internal content.  
  • Meeting-aware workflows: Use the Retrieval API alongside the Meeting Insights API to surface documents or decisions related to a meeting topic, helping teams follow up more effectively without having to search manually.  
  • Domain-specific knowledge assistants: Create agents tailored for legal, HR, or finance teams that pull content from curated sites and filtered fields using metadata, content source, or connector tags.  
  • RAG-based applications: Use the Retrieval API as the retrieval layer in retrieval-augmented generation (RAG) pipelines, grounding model responses in tenant-specific content while preserving full compliance with organizational security and access policies.  

By combining natural language queries with live, governed enterprise data, the Retrieval API brings intelligence closer to where work gets done, without adding infrastructure burden or governance risk.  

Get started

The Retrieval API is now available for public preview via Microsoft Graph. Getting started is simple.  

Prerequisites: 

  • You’ll need a Microsoft 365 tenant with Copilot licenses assigned to any users making API calls.  
  • Make sure your tenant has access to SharePoint Online or indexed entities via Copilot connectors. 

Try it out: 

  • Use Graph Explorer or any REST client to test requests against the `/beta/copilot/retrieval` endpoint.  
  • Start with a simple POST request containing a natural language query and the data source you are targeting.  
  • Access the API via client libraries included in the Microsoft 365 Agents SDK under the Microsoft.Agents.M365Copilot namespace. Libraries are available for .NET, TypeScript, and Python.  
  • Explore filters, batching, and response fields to customize for your scenario.  

Provide feedback: 

Learn more: 

Check out the Retrieval API documentation to learn about the capabilities available today for public preview.  

Capability  Description 
Data sources   SharePoint Online and Copilot connector–indexed entities.  
Filtering support   Use standard SharePoint queryable fields and Copilot connector metadata for precise targeting. Includes support for KQL expressions.  
Request metadata   Each snippet includes contextual metadata to support traceability and UI rendering.  
Scalability   Up to 25 documents returned per query, with one or more snippets returned per document.  
Grounding File size support   Up to 512 MB for DOCX, PPTX, PDF and 150MB for all other file types.  
Batch support   Query multiple prompts or workflows in a single API call.  
Sensitivity labels   Results include label metadata for downstream policy enforcement.  

 

We’re excited to see what you build with the Microsoft 365 Copilot APIs, and we look forward to learning from your feedback.  

The post Microsoft 365 Copilot APIs: Unlocking enterprise knowledge for AI with the Retrieval API — Now in Public Preview appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/microsoft-365-copilot-apis-unlocking-enterprise-knowledge-for-ai-with-the-retrieval-api/feed/ 0
Dev Proxy v0.29 with refactored architecture, MCP server, and exposed LM prompts https://devblogs.microsoft.com/microsoft365dev/dev-proxy-v0-29-with-refactored-architecture-mcp-server-and-exposed-lm-prompts/ https://devblogs.microsoft.com/microsoft365dev/dev-proxy-v0-29-with-refactored-architecture-mcp-server-and-exposed-lm-prompts/#respond Thu, 26 Jun 2025 07:22:33 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24434 Introducing Dev Proxy v0.29, with a major architectural overhaul, control over language model prompts, and improved diagnostics.

The post Dev Proxy v0.29 with refactored architecture, MCP server, and exposed LM prompts appeared first on Microsoft 365 Developer Blog.

]]>
We’re excited to introduce Dev Proxy v0.29, with a major architectural overhaul, control over language model prompts, and improved diagnostics. Whether you’re building, debugging, or customizing your API simulations, this version gives you more power and clarity than ever before.

In this version:

  • Architectural refactoring to better align with .NET
  • Dev Proxy MCP Server
  • Exposed Dev Proxy language model prompts
  • Improved logging with logger categories
  • Certificate cleanup on uninstall (Windows)
  • Bug fixes and improvements

Architectural refactoring

This release introduces a major refactor of Dev Proxy’s architecture to better align with .NET features. We’ve:

  • Adopted .NET Dependency Injection to simplify object management
  • Reorganized project structure for better clarity
  • Replaced event-based plugin architecture with base methods
  • Improved code consistency and alignment with .NET conventions

This change allows us to set the foundation for a more scalable and maintainable project going forward.

Breaking changes

As a result of the refactoring, we have the following breaking changes:

  • The assembly with standard Dev Proxy plugins is now named DevProxy.Plugins.dll. The assembly with shared code for building custom plugins is named DevProxy.Abstractions.dll.
  • Custom plugin architecture has changed, introducing a different base class. We also no longer use events, but virtual methods which you can override in your custom plugins.
  • Changed organization of shared code and other utilities in the DevProxy.Abstractions assembly.

Dev Proxy MCP server

We’re excited to announce the release of the Dev Proxy MCP server! Use our server to:

  • Create Dev Proxy configurations using natural language
  • Get contextual help for working with Dev Proxy
  • Discover Dev Proxy features and capabilities

For a long time, we’ve wanted to let you configure Dev Proxy using natural language. Dev Proxy offers many features and supports a wide range of scenarios, but if you’re not using it regularly, it might take you a while to discover what’s possible and how to correctly configure Dev Proxy.

With the advancements in LLMs we’ve been getting closer and closer to this ability. The recent support for MCP (Model Context Protocol) servers was the final piece of the puzzle that we needed. Using a custom MCP server, we can provide AI agents with the necessary information about Dev Proxy to help you configure it for your needs!

Here are some examples of how you can use our MCP server with the GitHub Copilot agent in Visual Studio Code:

GitHub Copilot in Agent mode creating a Dev Proxy configuration for simulating Microsoft Graph behaviors using the Dev Proxy MCP server GitHub Copilot in Agent mode creating a Dev Proxy configuration for simulating Microsoft Graph behaviors using the Dev Proxy MCP server

GitHub Copilot in Agent mode creating a Dev Proxy configuration for simulating latency on a public API using the Dev Proxy MCP server GitHub Copilot in Agent mode creating a Dev Proxy configuration for simulating latency on a public API using the Dev Proxy MCP server

If you use Visual Studio Code, you can get our MCP server by installing Dev Proxy Toolkit from the extension marketplace. Otherwise, get it from npm and follow the instructions for your MCP host to use it.

Try it and let us know! We’d love to hear from you what’s working and what else we should consider to make it better for you.

Exposed Dev Proxy LM prompts

Dev Proxy uses language models to improve some of its features, such as generating OpenAPI specs or TypeSpec files. By default, we use llama3.2 on Ollama, but you can switch to any other language model and host. While researching language models we realized that when you use a different language model, you also need to update the prompt.

Dev Proxy now exposes the language model prompts used in features like OpenAPI and TypeSpec generation. This gives you full control to tailor prompts when switching models. Our prompts are exposed in the prompt folder in Dev Proxy’s installation directory. To let you easily test them, we store them as Prompty files.

A Prompty file opened in Visual Studio Code editor

Improved logging with logger categories

Debugging just got easier. Dev Proxy now prints the logger category for debug and trace messages, helping you quickly identify where logs originate in the application.

Dev Proxy output in a terminal. Log messages printed with different severities. Each messages is prefixed with the category it belongs to.

Certificate cleanup on uninstall (Windows)

Uninstalling Dev Proxy on Windows now removes the root certificate that Dev Proxy uses for decrypting HTTPS traffic, ensuring a clean uninstall experience.

New version of Dev Proxy Toolkit

Dev Proxy Toolkit is a Visual Studio Code extension that makes it easy to create and update configuration files. Alongside the new release of Dev Proxy, we’ve also released a new version of the toolkit, v0.26.0.

In this version, we’ve included:

  • Dev Proxy MCP Server
  • Updated snippets with 0.29 schema and new plugin DLL name
  • Plugin path guidance and code action to identify and update old DLL references
  • Generate JWT command

We’ve also updated the way we handle upgrades. When you choose to upgrade Dev Proxy via the upgrade toast notification, if you installed Dev Proxy via a package manager, we now upgrade Dev Proxy in the background for you.

Checkout out the changelog for more information on changes and bug fixes.

Try it now

Download Dev Proxy v0.29 and try the new architecture, better customization, and improved diagnostics. Thanks again to Artem Azaraev for contributing to this release.

Got feedback or ideas? Join us and be part of the conversation.

Follow us on X, LinkedIn, and subscribe to our YouTube channel to stay up to date on the latest developer news and announcements.

The post Dev Proxy v0.29 with refactored architecture, MCP server, and exposed LM prompts appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/dev-proxy-v0-29-with-refactored-architecture-mcp-server-and-exposed-lm-prompts/feed/ 0
Deprecation of MS-APP-ACTS-AS header in Shifts Management Microsoft Graph APIs https://devblogs.microsoft.com/microsoft365dev/deprecation-of-ms-app-acts-as-header-in-shifts-management-microsoft-graph-apis/ https://devblogs.microsoft.com/microsoft365dev/deprecation-of-ms-app-acts-as-header-in-shifts-management-microsoft-graph-apis/#respond Mon, 23 Jun 2025 15:30:30 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24410 In app-only access scenarios, Shifts Management Graph APIs previously required the MS-APP-ACTS-AS: userId header to indicate the user on whose behalf the application was acting. However, this conflicted with the Microsoft Graph permission model where there is no signed-in user for app-only access scenarios. To align Shifts Graph APIs with this model, the MS-APP-ACTS-AS header […]

The post Deprecation of MS-APP-ACTS-AS header in Shifts Management Microsoft Graph APIs appeared first on Microsoft 365 Developer Blog.

]]>
In app-only access scenarios, Shifts Management Graph APIs previously required the MS-APP-ACTS-AS: userId header to indicate the user on whose behalf the application was acting. However, this conflicted with the Microsoft Graph permission model where there is no signed-in user for app-only access scenarios. To align Shifts Graph APIs with this model, the MS-APP-ACTS-AS header has now been deprecated.

What Action You Need to Take

If you don’t send the header today

There is no impact. No changes are necessary.

If you send the header today

1. Please remove the header.

Example:

Old:

GET /teams/{teamId}/schedule/shifts

MS-APP-ACTS-AS: d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2

New:

GET /teams/{teamId}/schedule/shifts

2. For offerShiftRequest, openShiftsChangeRequest, swapShiftsChangeRequest, timeOffRequest, or timeCard, you may need to switch to a new API or add an additional property in the request body. Please see the instructions below.

ScheduleChangeRequest (offerShiftRequest, openShiftsChangeRequest, swapShiftsChangeRequest, timeOffRequest)

Approve a ScheduleChangeRequest

  • If you are using /approve API with application permissions, please use /approveForUser instead.
  • Eventually, /approve will only support delegated permissions
Old API New API
teams/{teamId}/schedule/offerShiftRequests/{requestId}/approve teams/{teamId}/schedule/offerShiftRequests/{requestId}/approveForUser
teams/{teamId}/schedule/openShiftsChangeRequests/{requestId}/approve teams/{teamId}/schedule/openShiftsChangeRequests/{requestId}/approveForUser
teams/{teamId}/schedule/swapShiftsChangeRequests/{requestId}/approve teams/{teamId}/schedule/swapShiftsChangeRequests/{requestId}/approveForUser
teams/{teamId}/schedule/timeOffRequests/{requestId}/approve teams/{teamId}/schedule/timeOffRequests/{requestId}/approveForUser

Example

Old:

POST /teams/{teamId}/schedule/timeOffRequests/{requestId}/approve

MS-APP-ACTS-AS: d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2

Content-type: application/json

{

"message": "approved"

}

New:

POST /teams/{teamId}/schedule/timeOffRequests/{requestId}/approveForUser

Content-Type: application/json

{

"message": "approved",

“userId”: "d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2"

}

Decline a ScheduleChangeRequest

  • If you are using /decline API with application permissions, please use /declineForUser instead.
  • Eventually, /decline will only support delegated permissions
Old API New API
teams/{teamId}/schedule/offerShiftRequests/{requestId}/decline teams/{teamId}/schedule/offerShiftRequests/{requestId}/declineForUser
teams/{teamId}/schedule/openShiftsChangeRequests/{requestId}/decline teams/{teamId}/schedule/openShiftsChangeRequests/{requestId}/declineForUser
teams/{teamId}/schedule/swapShiftsChangeRequests/{requestId}/decline teams/{teamId}/schedule/swapShiftsChangeRequests/{requestId}/declineForUser
teams/{teamId}/schedule/timeOffRequests/{requestId}/decline teams/{teamId}/schedule/timeOffRequests/{requestId}/declineForUser

Example

Old:

POST /teams/{teamId}/schedule/timeOffRequests/{requestId}/decline

MS-APP-ACTS-AS: d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2

Content-type: application/json

{

"message": "declined"

}

New:

POST /teams/{teamId}/schedule/timeOffRequests/{requestId}/declineForUser

Content-Type: application/json

{

"message": "declined",

“userId”: "d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2"

}

Create a TimeOffRequest

  • POST teams/{teamId}/schedule/timeOffRequests
  • Previously, senderUserId was an optional property as the value provided by MS-APP-ACTS-AS was used as the sender user ID. Since MS-APP-ACTS-AS is deprecated, please provide the sender user ID through senderUserId property.
  • Example

Old:

POST teams/{teamId}/schedule/timeOffRequests

MS-APP-ACTS-AS: d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2

Content-type: application/json

{

"timeOffReasonId": "TOR_08c42f26-9b83-492c-bf52-f3609eb083e3",

"startDateTime": "2025-05-26T07:00:00Z",

"endDateTime": "2025-05-27T07:00:00Z"

}

New:

POST teams/{teamId}/schedule/timeOffRequests

Content-type: application/json

{

"timeOffReasonId": "TOR_08c42f26-9b83-492c-bf52-f3609eb083e3",

"startDateTime": "2025-05-26T07:00:00Z",

"endDateTime": "2025-05-27T07:00:00Z",

"senderUserId": "3f2504e0-4f89-11d3-9a0c-0305e82c3301"

}

Create an OpenShiftsChangeRequest

  • POST /teams/{teamId}/schedule/openShiftChangeRequests
  • Previously, senderUserId was an optional property as the value provided by MS-APP-ACTS-AS was used as the sender user ID. Since MS-APP-ACTS-AS is deprecated, please provide the sender user ID through senderUserId property.

Example

Old

POST teams/{teamId}/schedule/openShiftChangeRequests

MS-APP-ACTS-AS: d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2

Content-type: application/json

{

"senderMessage": "Can I take this shift?",

"openShiftId": "577b75d2-a927-48c0-a5d1-dc984894e7b8"

}

New

POST teams/{teamId}/schedule/openShiftChangeRequests

Content-type: application/json

{

"senderMessage": "Can I take this shift?",

"openShiftId": "577b75d2-a927-48c0-a5d1-dc984894e7b8",

"senderUserId": "d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2"

}

TimeCard

Confirm a TimeCard

  • Please use /confirmForUser instead of /confirm.
Old API New API
teams/{teamId}/schedule/timeCards/{timeCardId}/confirm teams/{teamId}/schedule/timeCards/{timeCardId}/confirmForUser

Example:

Old

POST teams/{teamId}/schedule/timeCards/{timeCardId}/confirm

MS-APP-ACTS-AS: d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2

New

POST teams/{teamId}/schedule/timeCards/{timeCardId}/confirmForUser

Content-Type: application/json

{

“userId”: "d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2"

}

Clock in a TimeCard

  • POST teams/{teamId}/schedule/timeCards/clockIn
  • Previously, onBehalfOfUserId was an optional property as the value provided by MS-APP-ACTS-AS was used as the ID of the user that is clocking in. Since MS-APP-ACTS-AS is deprecated, please provide the ID of the user that is clocking in through onBehalfOfUserId property.
  • Example:

Old

POST teams/{teamId}/schedule/timeCards/clockIn

MS-APP-ACTS-AS: d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2

New

POST teams/{teamId}/schedule/timeCards/clockIn

Content-type: application/json

{

"onBehalfOfUserId": "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e"

}

Create a TimeCard

  • POST /teams/{teamId}/schedule/timeCards
  • Previously, userId was an optional property as the value provided by MS-APP-ACTS-AS was used as the ID of the owner of the timeCard. Since MS-APP-ACTS-AS is deprecated, please provide the ID of the timeCard owner through userId property.

Example

Old

POST /teams/{teamId}/schedule/timeCards

MS-APP-ACTS-AS: d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2

Content-Type: application/json

{

"clockInEvent": {

"dateTime": "2025-01-07T21:00:00.000Z",

"isAtApprovedLocation": true

},

"clockOutEvent": {

"dateTime": "2025-01-07T21:30:00.000Z",

"isAtApprovedLocation": true

}

}

New

POST /teams/{teamId}/schedule/timeCards

Content-Type: application/json

{

“userId”: “d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2”,

"clockInEvent": {

"dateTime": "2025-01-07T21:00:00.000Z",

"isAtApprovedLocation": true

},

"clockOutEvent": {

"dateTime": "2025-01-07T21:30:00.000Z",

"isAtApprovedLocation": true

}

}

 

The post Deprecation of MS-APP-ACTS-AS header in Shifts Management Microsoft Graph APIs appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/deprecation-of-ms-app-acts-as-header-in-shifts-management-microsoft-graph-apis/feed/ 0
Dev Proxy v0.28 with LLM usage and costs tracking https://devblogs.microsoft.com/microsoft365dev/dev-proxy-v0-28-with-llm-usage-and-costs-tracking/ https://devblogs.microsoft.com/microsoft365dev/dev-proxy-v0-28-with-llm-usage-and-costs-tracking/#respond Thu, 05 Jun 2025 06:36:49 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24354 The latest version of Dev Proxy introduces a new ability to help you understand language models’ usage and costs in your applications, alongside many improvements to mocking, TypeSpec generation, and plugin flexibility.

The post Dev Proxy v0.28 with LLM usage and costs tracking appeared first on Microsoft 365 Developer Blog.

]]>
We’re thrilled to announce the release of Dev Proxy v0.28. This version introduces a new ability to help you understand language models’ usage and costs in your applications, alongside many improvements to mocking, TypeSpec generation, and plugin flexibility.

In this version:

  • New OpenAITelemetryPlugin to track language models’ usage and costs
  • Expanded OpenAI payload support
  • New Dev Proxy extensions for .NET Aspire
  • Improved generating PATCH operations for TypeSpec
  • Support for JSONC in mock files
  • Improved logging
  • CRUD plugin CORS and JSON response fixes
  • …and more!

Track OpenAI usage with the new OpenAITelemetryPlugin

LLMs are powerful. When integrated thoughtfully with applications, they can support new scenarios and significantly improve existing ones. Using LLMs typically incurs costs. But how much does it cost exactly? The new Dev Proxy OpenAITelemetryPlugin gives you visibility into how your apps interact with OpenAI or Azure OpenAI endpoints.

This plugin intercepts LLM requests from your application, and for each request tracks:

  • Model used
  • Token count (prompt, completion, total)
  • Cost estimation per request
  • Grouped summaries per model

You can visualize the usage patterns and costs using specialized solutions such as OpenLIT:

OpenLIT visualizing language model usage data emitted by Dev ProxyOpenLIT visualizing language model usage data emitted by Dev Proxy

Or generic Open Telemetry dashboards such as .NET Aspire:

The .NET Aspire dashboard visualizing language model usage information emitted by Dev ProxyThe .NET Aspire dashboard visualizing language model usage information emitted by Dev Proxy

Use Dev Proxy and the new OpenAITelemetryPlugin and understand how your application is using language models, before you go live.

Try Dev Proxy with Foundry Local

At the recent Build conference, Microsoft announced Foundry Local – the high-performance local AI runtime stack that brings Azure AI Foundry’s power to client devices. We’re excited to share that you can configure Dev Proxy to use Foundry Local as the local language model provider. By enabling the integration, you can improve generating OpenAPI specs and TypeSpec files, and redirect cloud LLM requests to your local machine to save costs and enable offline development.

To use Dev Proxy with Foundry Local, configure Dev Proxy to use Foundry Local:

Our initial tests show significant improvements using Phi-4 mini on Foundry Local compared to other models we’ve used in the past. We’re planning to integrate with Foundry Local by default, in the future versions of Dev Proxy. Meanwhile, try it today!

Dev Proxy .NET Aspire extensions

To simplify integrating Dev Proxy with .NET Aspire applications, we released a preview version of Dev Proxy extensions for .NET Aspire. Using the extensions, you can integrate Dev Proxy with your .NET Aspire application with just a few lines of code. The extensions allow you to integrate the locally installed Dev Proxy instance or run it from a Docker container for easier portability across your team.

Learn more about using the Dev Proxy .NET Aspire extensions and let us know how we could make it better.

Bug fixes and improvements

In this version, we include several bug fixes and improvements.

Expanded OpenAI payload support

Continuing our work related to AI, we’ve expanded our support for OpenAI payloads. Previously, when redirecting OpenAI-compatible requests, we only supported text completions. In this version, we introduce support for other types of completions as well.

Improved generating PATCH operations for TypeSpec

In the previous version, we introduced support for generating TypeSpec files: a new language for describing APIs. In this version, we improved generating PATCH operations, aligning with TypeSpec v1.0 features, so that merge patch operations are designated with MergePatchUpdate.

Support for JSONC in all Dev Proxy files

In this version, we introduce support for JSONC in all Dev Proxy files. With support for JSONC, you can annotate Dev Proxy’s config files with additional information. Including comments right in Dev Proxy files is highly convenient for sharing configuration with others in the team and picking it up after a while.

Concurrency fixes for mocking and logging

We resolved several issues related to logging, when Dev Proxy was processing parallel requests. Thanks to these fixes, logs are displayed properly showing all information related to the specific request together, making it easier for you to understand how Dev Proxy processed each request.

CRUD API plugin enhancements

We’ve improved how the CrudApiPlugin supports CORS and returns JSON responses. With these changes, you can reliably use it in client-side applications that issue cross-domain API calls.

Breaking changes

In this version, we’re also introducing two breaking changes.

First, we removed the GraphConnectorNotificationPlugin. As deploying Graph connectors using Microsoft Teams apps has been deprecated, we removed the plugin which is no longer necessary. We still offer guidance to help you build Graph connectors.

The second change is related to the `devproxy jwt create` command which you can use to create mock JWT tokens. In the command, we renamed the `–audience` option to `–audiences` (plural) to more accurately reflect the fact that it supports multiple audiences. Using the short `-a` alias to specify audiences is unaffected by this change.

There’s more

This release also includes several bug fixes and improvements. Check out the release notes for the complete list of changes in this version.

New version of Dev Proxy Toolkit

Dev Proxy Toolkit is a Visual Studio Code extension that makes it easy to create and update configuration files. Alongside the new release of Dev Proxy, we’ve also released a new version of the toolkit, v0.24.0.

In this version, we’ve included:

  • New command
    • Discover URLs to watch starts Dev Proxy in discovery mode
  • New snippets
    • OpenAITelemetryPlugin instance
    • OpenAITelemetryPlugin config section
    • OpenAITelemetryPlugin prices file
    • OpenAITelemetryPlugin model price
  • Updated all snippets to use latest v0.28.0 schemas
  • Improved support for Dev Proxy Beta
  • Improved Dev Proxy process detection

Check out the changelog for more information on changes and bug fixes.

Try it now

Download Dev Proxy v0.28 and start building resilient apps and AI solutions. Thanks to Artem Azaraev for contributing to this release.

Got feedback or ideas? Join us and be part of the conversation.

Follow us on X, LinkedIn, and subscribe to our YouTube channel to stay up to date on the latest developer news and announcements.

The post Dev Proxy v0.28 with LLM usage and costs tracking appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/dev-proxy-v0-28-with-llm-usage-and-costs-tracking/feed/ 0
Build like Microsoft: Developer agents in action https://devblogs.microsoft.com/microsoft365dev/build-like-microsoft-developer-agents-in-action/ https://devblogs.microsoft.com/microsoft365dev/build-like-microsoft-developer-agents-in-action/#respond Wed, 04 Jun 2025 15:54:25 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24360 Take a deep dive into Athena, an AI-powered collaborative agent, to learn how it was built and how to create your own version of Athena right within Microsoft Teams.

The post Build like Microsoft: Developer agents in action appeared first on Microsoft 365 Developer Blog.

]]>
Every day, developers tackle complex workflows involving planning, coding, reviewing, testing, securing, and releasing software. These tasks, often scattered across various tools and platforms, create friction that slows us down.

At Microsoft, we believe AI can change that. This belief led us to create Athena, an AI-powered collaborative agent for developers, integrated directly into Microsoft Teams. What began as an internal experiment to reduce context switching has evolved into a platform that is revolutionizing how thousands of engineers, product managers, and engineering leaders at Microsoft ship software—faster and with less effort.

We introduced Athena at our Microsoft Build 2025 conference showcasing how it is helping thousands of developers within Microsoft streamline their work as a virtual teammate. Today, we’re excited to dive a bit deeper into how we built and use Athena; you can create your own version of Athena right within Teams.

AI-powered workflows, embedded where developers work

Athena isn’t just another chatbot—it’s a deeply integrated agent that acts as a virtual teammate, connecting people, tools, and data across the product development lifecycle. It anticipates what needs to happen next and helps teams take action without context switching.

  • Pull request lifecycle support: We’ve seen that Athena recommends reviewers with 94% precision, nudges teams for action, and allows re-queueing builds directly in Teams.
  • Work item management: Developers can query and update Azure DevOps using natural language.
  • Semantic forms for task management: Athena enables task management using natural language, allowing developers to assign tasks, track progress, and update statuses directly in Teams.
  • Security & privacy reviews: Athena guides teams through compliance processes, automating routine submissions and surfacing blockers early.
  • Release readiness & health tracking: Provides real-time visibility into shipping status and blockers.

Transforming productivity inside Microsoft

Athena is used weekly by over 2,000 engineers at Microsoft, leading to measurable gains in speed, quality, and focus. Key improvements for developers include faster review cycles, earlier surfacing of release blockers, consistent completion of security and privacy workflows, and quicker delivery health assessments. Most importantly, Athena is helping teams spend more time building and less time managing work.

PR velocity improvement

With Athena, PR cycle times at Microsoft have dropped significantly. Intelligent reviewer recommendations, proactive nudges, and seamless Teams integration have cut down the time spent chasing reviews and resolving blockers, speeding up PR end-to-end times.

A screenshot of a computer AI-generated content may be incorrect.

How is Athena able to do this? Athena is built by developers, for developers on Microsoft Teams, Azure DevOps, GitHub, and GitOps principles, making it easy to build, extend, and adapt to team needs. Workflows are version-controlled, modular, and seamlessly integrated with existing Teams setup. Engineers across product and platform teams at Microsoft have built new skills for Athena in days, not weeks. The ease of use has led to widespread adoption within Microsoft, and we’re confident you can replicate Athena’s success for your own organization.

Our own developers are practicing what they preach by building and using Athena in their everyday work:

“Athena has helped me accelerate my development by letting me track PR builds within Teams itself. It quickly informs me of any build failures, and I can jump on them immediately. I can also nudge reviewers directly from teams by using Athena and this leads to faster reviews, which leads to faster merge times.” – Afreen Rahman

“I was pleasantly surprised that Athena supported much of what I needed. After enabling some plugins, I got Athena to contextualize a PR and generate a work item based on the retrieved information.” – Bruno Ruiz de Somocurcio

Build your own Athena

If you’re a developer looking to bring AI into your daily workflows—or if you’re dreaming up the next productivity multiplier for your team—Athena is your blueprint. You don’t need to start from scratch. The same tools, infrastructure, and extensibility that power Athena are available to every developer building on Microsoft platforms.

To revolutionize your team’s developer experience today, start with Dex, our open-source template. This agent streamlines GitHub workflow integration directly within Teams, helping you stay on top of your repositories without constant context switching. Features include real-time notifications, custom filtering capabilities, and proactive updates. Want to learn more about Athena? Check out this breakout session from Microsoft Build that featured Athena, as well as how to build agents using the Teams AI Library.

Microsoft is investing in making Athena more proactive and adaptive, with features that suggest focus areas, coordinate releases, flag risk patterns, and keep teams aligned. We’re excited to share it with you and see what you build next.

The post Build like Microsoft: Developer agents in action appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/build-like-microsoft-developer-agents-in-action/feed/ 0
Office Add-ins announces Copilot agents with add-in actions and more at Build 2025 https://devblogs.microsoft.com/microsoft365dev/office-addins-at-build-2025/ https://devblogs.microsoft.com/microsoft365dev/office-addins-at-build-2025/#respond Thu, 22 May 2025 22:29:14 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24258 As part of the expanding capabilities for agents across Microsoft 365, Office Platform announces add-in actions for Copilot agents are available in preview. This blog is an overview of all the new capabilities across the platform: APIs, developer tools, and add-in distribution options—making it simpler to build new or iterate on JavaScript add-ins.

The post Office Add-ins announces Copilot agents with add-in actions and more at Build 2025 appeared first on Microsoft 365 Developer Blog.

]]>
The Office Add-ins team’s mission is to empower developers with new capabilities and smoother experiences across Word, Excel, PowerPoint, and Outlook. At Ignite 2024, we announced agents for Microsoft 365 designed to help scale individual impact and transform of business processes. Continuing that journey, this year we’re deeply integrating Copilot agents into Office with add-in actions, building across the Microsoft 365 ecosystem with tooling and unified manifest improvements. We continue to deliver new capabilities across the Office Add-in platform. There’s a lot to announce, so let’s dive in!

Copilot agents become more powerful in Office with add-in actions

As part of the expanding capabilities for agents across Microsoft 365, you can now enhance your Copilot agent and extend your add-in to give it a natural language interface. Add-in actions give your agent new skills through the broad set of APIs available in office.js as part of a new add-in or from an existing one. Agents and add-ins bundled together with the unified manifest enable canvas integrations and scenarios for agents that until now required user interaction through an add-in itself. Add-in actions let users utilize agents to work with them through an agent, all through Copilot chat in Office.

You can use a chat interface and natural language via an agent to help your user:

  • Complete tasks that have a complex or ambiguous starting point. The agent can provide initial information and help guide the user.
  • Analyze and update content. The agent can analyze the content and update it depending on context.
  • Insert data from a trusted data source directly.

You can now accomplish deep Office integration beyond the broader agent platform capabilities available. To learn more about these example scenarios, see Combine Copilot Agents with Office Add-ins.

As an example, here is a proof of concept from LexisNexis® showcasing how an agent with specialized legal skills can collaborate with users directly on the Word canvas by working with their Lexis® Create+ legal drafting extension.

LNAdd inAction8 image

Starting with declarative agents in Word, Excel, and PowerPoint, you can now create deep Office integrations with agents in Copilot. To learn more about these example scenarios and build an add-in action for your agent, see the overview documentation on Combine Copilot Agents with Office Add-ins.

Office Add-in platform and developer tooling updates

In addition to Add-in Actions, we’re introducing a range of updates across platform capabilities, APIs, developer tools, and add-in distribution options—making it simpler to build new or iterate on JavaScript add-ins.

Create an Office Add-in with unified manifest for Word, Excel, and PowerPoint (preview)

We’ve aligned add-ins in Word, Excel, and PowerPoint to use the same unified manifest and app model already adopted by Teams and Outlook. This unified approach allows developers to build a single app that runs consistently across Microsoft 365, simplifying deployment and reducing maintenance overhead.

Build your app using the Microsoft 365 Agents Toolkit (formerly Teams Toolkit)

To help you build using the unified manifest, we’ve updated our developer tools to make the experience straightforward. With the updated Microsoft 365 Agents Toolkit, you can build a single solution that works seamlessly across Word, Excel, PowerPoint, Outlook, Teams, and Microsoft 365. Create a new app with the unified manifest or convert your existing Office Add-ins that use the add-in only manifest, and debug in targeted Office app.

In addition, you can test the app with unified manifest by deploying it in your tenant in the Integrated apps page under Microsoft Admin Center > Settings, which allows admins to manage app access at both the app and user (group) levels. For more information, see Introducing the Microsoft 365 Agents Toolkit.

Office Add-in coding assistance in GitHub Copilot extension (preview)

To enable a smoother and more efficient integration development process, we’re working to provide robust development tools to help partners quickly onboard, transition, and expand their solutions. We’re introducing the preview of the Office Add-in coding assistant in the GitHub Copilot extension for Microsoft 365 Agent Toolkit (@m365agents).

This new capability enables developers to generate office.js code for Word, Excel, and PowerPoint add-ins using natural-language prompts—making it faster and easier to build and extend Microsoft 365 experiences.

  • Instant scaffolding – Create complete add-in projects with a single prompt, including manifest, HTML, and TypeScript boilerplate.
  • Context-aware suggestions – Generate better code. The extension understands the Office JS object model, your open files, and best practice patterns.
  • Built-in snippets – Insert Office JavaScript API code snippets without looking through documents.
  • Real-time explanations – Accelerate your learning and keep up to date.

For more information, see GitHub Copilot extension for Microsoft 365 Agents Toolkit on GitHub.

Event-based activation for Excel, PowerPoint, and Word add-ins

Available in May 2025 for Windows and web, add-ins for your organization can launch automatically in the background whenever a document is created or opened. This allows the add-in to validate, insert, or refresh critical content without any extra user steps.

  • For developers, modify the manifest to specify whether the add-in is launched at document creation or open stage.
  • For Microsoft 365 admins, deploy the add-in through admin center: The feature only works for centrally deployed add-ins. Admins can either find the add-in from the admin portal or upload the add-in, and then deploy it to the selected users, groups, or entire organization.
  • For add-in users, the add-ins automatically run in the background, providing a non-intrusive experience.

Other ways to leverage the event-based add-in activation feature:

  • Enhanced security: Enforce data protection policies automatically to protect sensitive information without relying on user actions. This ensures consistent and robust data protection across all documents.
  • Improved compliance: By automating compliance checks, organizations can ensure that all documents adhere to regulatory requirements, reducing the risk of data breaches and non-compliance penalties.
  • Consistent style and formatting: Validating style and formatting when a document opens ensures every user adheres to the organization’s latest standards.

Many partners are already incorporating this new capability into their add-ins. For example, the following video from Fortra illustrates how it leverages event-based add-in activation feature for their data loss protection add-in.

Fortra DLP GIF

Word API and add-in updates

We continue moving forward in our commitment to innovation and excellence in document management solutions. Our focus is on creating structured and formatted documents and facilitating the review of changes between collaborators.

The following features are supported for Windows, Mac, and iPad with WordApiDesktop 1.2 requirement set:

  • Create more dynamic content with precise control over the placement of Shapes, TextBox, and Canvas images. Place a text stamp at an exact location in the header or footer of an agreement document, insert branded visual elements such as company logo or certification seals at fixed position across all pages, or add confidentiality labels to specific regions of a document.
  • Easily navigate documents with Page and Window support. Detect the pages that the user is viewing and editing or navigate to a specific page. For example, your add-in can annotate only the visible text that the user is currently viewing, rather than applying annotations across the entire document.
  • Compare two documents in Base64. The compare feature is widely used in document co-authoring and review processes. compareFromBase64 format support enables comparison based on the consistent format of document content transferred across different systems and platforms.

Additionally, we’ve accelerated our speed of delivery APIs for Windows and Mac. Developers can expect a faster rollout of preview APIs that enable them to:

  • Create more cohesive documents from templates with Template and Language objects.
  • Build structured documents with new types of Content Controls.
  • Improve document review support with viewing document history and protecting the document content.
  • Protect the document by managing sensitivity labels.

For more information on the new Word JavaScript requirement sets, see the overview page.

Citation add-ins now on Reference tab in Word

To streamline add-in activation and support users as they complete their tasks, Word now allows end users to discover, acquire, and use popular third-party reference add-ins directly from the References tab. The most recently used add-in will be pinned to the ribbon, enabling quick access, and users can easily switch between citation managers using the dropdown menu.

citation add ins now on reference tab in word image

Excel API and add-in updates

Earlier this year, we introduced ExcelApi 1.18 to add support for creating, deleting, and managing notes in a workbook. This requirement set also expands support for cell formatting with Excel.CheckboxCellControl and Excel.RangeTextRun to further customize the cells in spreadsheet. We continue to invest in Excel APIs and are releasing the new requirement sets ExcelApi 1.19 and CustomFunctionsRuntime 1.5 in May 2025.

Enhance data visualization with advanced data label and shape customization

To support richer, more flexible chart customization and shape manipulation in Excel, we’ve introduced new APIs that give developers greater control over chart data labels and shapes.

New Excel data type APIs

In 2021 we introduced the first set of APIs that allowed developers use data type structures within their add-ins: Announcing Data Types APIs. We’re excited to announce that we are on the next stage of this journey. Check out the new set of capabilities that can help supercharge your add-ins.

  • Custom providers for linked entities. Leverage the same capabilities found in Stocks and Geography data types. Register a provider, allow user-initiated refreshes, and defer properties that eliminate downloading all the data at once.
  • Values with metadata. Quickly create basic values with additional data behind them. They look and act like numbers or text but can contain much more information you can easily access.
  • Dot functions. Add custom functions to values with properties (such as entities).
  • New card view layouts. We’ve introduced a 2-column layout which allows properties to be viewed side by side in the card.

Undo support for Excel add-ins (preview)

The new undo support feature changes how users interact with add-ins. It preserves add-in behavior in the Excel undo stack and allows users to undo add-in actions just like regular Excel actions, improving the integration of third-party solutions with Excel. Best of all, add-ins automatically have access to this preview feature—no additional settings are required.

Add-ins with complicated operations can combine several steps into one undo action, so we also provided the capability to customize the undo group allowing partners to tailor their ideal experience.

To see how to use this capability to streamline the product experience, watch the following example from our partner Velixo.

Velixo Undo Demo GIF 2 image

PowerPoint API updates

Since late 2024, we’ve brought new functionality to PowerPoint extensibility. PowerPointAPI 1.6 introduced the ability to get and set hyperlinks on a slide. PowerPointAPI 1.7 added DocumentProperties, CustomProperites, and CustomXMLPart to various elements in the presentation, including the shape, slide, slide layout, and slide master for custom XML parts. Now we are releasing PowerPointAPI 1.8 with the following added functionality.

We’re excited to see what you build with the functionality that these new APIs unlock for you in PowerPoint.

Outlook API updates

Every year, we focus on delivering features you need to enhance your Outlook add-ins and enable experiences not previously possible.

Explore the Mailbox 1.15 JavaScript API requirement set

The release of Mailbox requirement set 1.15 marks another milestone to support even more scenarios in new Outlook on Windows, such as spam reporting, data loss prevention (DLP), and attachment management. Mailbox 1.15 is generally available in Outlook on Windows (new and classic versions) and on the web, so you can use these features today.

  • Enhance the reporting experience of your integrated spam-reporting add-in and provide better guidance to users on how to report suspicious messages. With radio button options and the “Don’t show this message again” checkbox option, you can further refine the information you need from your users.
  • Customize the recommendations and alerts of your Smart Alerts add-in. Using the errorMessageMarkdown property, create ordered and unordered lists, emphasize important text, and include hyperlinks. Aside from opening task panes from the Smart Alerts dialog, you can now also run a function directly from the dialog and reduce the manual steps needed from a user to fix a message or comply with their organization’s policies.
  • Programmatically send a mail item using the sendAsync method. For DLP solutions, the implementation of the sendAsync method in a Smart Alerts add-in streamlines a user’s experience especially when recommending changes to the mail items being sent.

These are just a few scenarios you can try. For more information, see the new Outlook Dev Center.

Microsoft 365 unified store and add-ins distribution improvements

Add-in distribution, discovery, and activation are essential stages in the lifecycle of an add-in product. To support developers in reaching their users more effectively, Microsoft offers a variety of channels and solutions such as admin central deployment, add-in installation widgets, modernized in-app store, and scenario-based entry points. We’re bringing the following new enhancements to make the add-in to reach your targeted customer easier.

Seamlessly install your web add-in with your main application on Windows

If you have a Windows application or a COM/VSTO add-in that works in conjunction with your Office Web Add-in, consider including the web add-in in the installation or upgrade package. This allows end users to seamlessly install the web add-in alongside your main application, with no additional steps required. This installation method is now generally available for Excel, PowerPoint, and Word add-ins.

For more information, see Include the add-in in the installation of a Windows app or COM/VSTO add-in.

Modernized store for Office Add-ins and Copilot agents

The Office Add-ins store serves as a centralized hub for users to discover, explore, install, and manage add-ins provided by Microsoft and partners. The updated store, integrated into Word, Excel, and PowerPoint, provides consistent experiences across all Microsoft 365 apps. It’s designed to be more modern, user-friendly, and easy to navigate. Users can discover, acquire and manage Copilot Agents in the new store. We’re gradually rolling out the new store to all Excel, PowerPoint, and Word enterprise users and it will be generally available for Microsoft 365 for Windows and web users soon.

modernized office store image

More resources

We know we’ve presented a lot in this blog post, but we hope you’re as excited about these new features as we are. Take a moment to learn more and engage with us!

Happy coding!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The post Office Add-ins announces Copilot agents with add-in actions and more at Build 2025 appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/office-addins-at-build-2025/feed/ 0
Introducing the Agent Store: Build, publish, and discover agents in Microsoft 365 Copilot https://devblogs.microsoft.com/microsoft365dev/introducing-the-agent-store-build-publish-and-discover-agents-in-microsoft-365-copilot/ https://devblogs.microsoft.com/microsoft365dev/introducing-the-agent-store-build-publish-and-discover-agents-in-microsoft-365-copilot/#comments Thu, 22 May 2025 16:00:59 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24272 We’re excited to introduce the Agent Store — a centralized, curated marketplace that features agents built by Microsoft, trusted partners, and customers. The Agent Store offers a new, immersive experience within Microsoft 365 Copilot that enables users to browse, install, and try agents tailored to their needs.

The post Introducing the Agent Store: Build, publish, and discover agents in Microsoft 365 Copilot appeared first on Microsoft 365 Developer Blog.

]]>
As organizations embrace AI to transform how work gets done, agents are emerging as a powerful new way to automate tasks, streamline workflows, and boost productivity. Today, we’re excited to introduce the Agent Store—a centralized, curated marketplace that features agents built by Microsoft, trusted partners, and customers.

Whether you’re a developer looking to reach millions of users or an employee seeking AI tools to boost productivity, the Agent Store is your one-stop shop for the next generation of AI assistants.

What is the Agent Store?

The Agent Store offers a new, immersive experience within Microsoft 365 Copilot that enables users to browse, install, and try agents tailored to their needs. It provides:

  • Agents from Microsoft, trusted partners, and customers
  • Personalized discovery based on user activities and profiles
  • Seamless integration across Microsoft 365 products including Teams and m365copilot.com
  • Support for both Microsoft 365 Copilot licensed customers and unlicensed customers

This is more than just a marketplace—it’s a centralized platform where users can discover powerful tools to enhance productivity and streamline their workflows.

A screenshot of a computer AI-generated content may be incorrect.

Why agents? Why now?

Microsoft 365 Copilot is the UI for AI—your personal assistant grounded in your work content. Agents, on the other hand, are purpose-built assistants designed to automate specific business processes. They can be as simple as a knowledge agent or as complex as a multi-modal orchestrator.

With the Agent Store, we’re making it easier than ever to discover agents that solve real business problems, share and deploy agents across teams and organizations, and build and publish agents using both low-code and pro-code tools.

What’s in the Agent Store today?

The Agent Store launches with over 70 agents and a growing catalog. Key features include:

  • Curated collections of Microsoft built and high-quality partner-built agents
  • Agent detail pages with descriptions and capabilities
  • Search with zero-query suggestions
  • Merchandising to highlight top agents
  • URL-based sharing to drive adoption and virality

For developers and partners

The Agent Store is a powerful platform for developers and partners to showcase solutions and drive user adoption. With support for both Microsoft Copilot Studio and the Microsoft 365 Agents Toolkit, you can build agents your way—whether you’re using low-code tools or writing custom orchestration logic. Publishing to the Agent Store gives you:

  • Access to Microsoft 365 Copilot users across Microsoft 365 hubs including Teams and m365copilot.com
  • Co-marketing and partner support opportunities
  • Insights into usage and feedback

Learn more about publishing agents.

What’s next?

We are just getting started. In the coming months, we will continue to evolve the Agent Store experience with smarter recommendations, deeper integration across Microsoft 365 apps, expanded merchandising and editorial content, and more options for partners and developers to grow their user base.

Get started

Explore the Agent Store today and see how agents can help you work smarter, faster, and more creatively. Whether you’re building or browsing, the Agent Store is your launchpad for the future of work.

Start building today!

The post Introducing the Agent Store: Build, publish, and discover agents in Microsoft 365 Copilot appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/introducing-the-agent-store-build-publish-and-discover-agents-in-microsoft-365-copilot/feed/ 1
Introducing the Microsoft 365 Agents Toolkit https://devblogs.microsoft.com/microsoft365dev/introducing-the-microsoft-365-agents-toolkit/ https://devblogs.microsoft.com/microsoft365dev/introducing-the-microsoft-365-agents-toolkit/#comments Tue, 20 May 2025 16:01:44 +0000 https://devblogs.microsoft.com/microsoft365dev/?p=24215 Read how the Microsoft 365 Agents Toolkit, an evolution of Microsoft Teams Toolkit, is designed to help developers build agents and apps for Microsoft 365 Copilot, Microsoft Teams, and Microsoft 365.

The post Introducing the Microsoft 365 Agents Toolkit appeared first on Microsoft 365 Developer Blog.

]]>
Microsoft 365 Agents Toolkit, an evolution of Microsoft Teams Toolkit, is designed to help developers build agents and apps for Microsoft 365 Copilot, Microsoft Teams, and Microsoft 365. Agents Toolkit is designed to help you create, build, debug, test, and deploy Microsoft 365 agents and apps. It can significantly simplify your development by providing integrated Microsoft 365 identity, cloud storage access, data from Microsoft Graph, and other services in Azure with a “zero-configuration” approach. Agents Toolkit is available for Visual Studio Code, Visual Studio, and GitHub Copilot. Agent Toolkit is also available as a command line interface (CLI).

Screenshot of Microsoft 365 Agents Toolkit in use in a New Project window with Declarative Agent highlighted.

Key features

Simplify your code-first agent and app development end-to-end

Agents Toolkit supports the end-to-end agent and app development journey by providing:

  • Support for extensibility solutions across Microsoft 365 surfaces, including Microsoft 365 Copilot, Microsoft Teams, and Microsoft 365 apps.
  • Seamless integration with Microsoft 365 Agents SDK to build self-hosted agents.
  • Seamless integration with Teams AI Library to build agents in Teams.
  • Project scaffolding to help you get started with common extensibility types like agents for Microsoft 365 Copilot and intelligent chatbots for multiple platforms.
  • Rapid iteration with full stack debugging, live reloading, secure tunneling, and Microsoft 365 Agents Playground.
  • Simplified SSO authentication.
  • Integrated support for hosting, data storage, and serverless functions.
  • CI/CD actions for GitHub and Azure DevOps for app delivery.

Customize your agents easily

When you build agents for Microsoft 365, you can bring additional knowledge, skills, and organizational data to Copilot. Agents Toolkit provides the ability to create agents from templates or scenario-based samples, add AI capabilities, and integrate with Microsoft 365 Agents SDK, Azure AI Foundry, Copilot Studio, and other AI services.

Integration with the Microsoft 365 Agents SDK

The Agents Toolkit ships with key templates that utilize the Agents SDK, supporting developers who want to host their own agent, bring their own AI & Orchestration and utilize core conversation management and channel management capabilities. The Agents Toolkit facilitates the development of these agents faster and easier, giving them the time to focus on the development of custom agentic solutions that meet their organizational and customer needs.

Integration with Teams AI Library

The Teams AI Library allows developers to expand upon the hundreds of millions of people who use Teams for collaboration, turning Teams into a hub for collaborating with agentsThe Teams AI Library helps developers build agents for Teams chats, channels, and meetings.

Use AI to build agents faster

You can use Agents Toolkit with GitHub Copilot to take advantage of code completion and generation, AI-assisted scaffolding, automatic troubleshooting, deployment assistance, and direct access to supporting documentation. The toolkit offers an agentic and AI-native way to take app development to the next level of efficiency.

Accelerate publishing agents to multiple channels

With the toolkit, you can build once and publish to multiple channels via Microsoft 365 Agents SDK. You can publish agents across a variety of platforms, including:

  • Microsoft 365 Copilot
  • Teams
  • Custom websites
  • Email
  • SMS
  • And more

What can you build with Microsoft 365 Agents Toolkit?

Screenshot of the toolkit showing options to build various types of agents and gives multiple extensibility options.

The Agents Toolkit provides support for multiple extensibility options, including:

  • Declarative agents
  • Custom engine agents
  • Copilot connectors
  • Conversational agents for Teams
  • Teams bots
  • Teams tabs
  • Message extensions
  • Office add-ins

When to use Microsoft 365 Agents Toolkit?

Microsoft offers several agent development tools for you to choose from based on your skillset and agent development goals. The following image shows the offerings that are available based on whether the user takes a low-code or pro-code approach to building their agent.

Graphic of three options ranging from No code on left side to Pro code on the right side of the spectrum: Agent builder, Copilot Studio, Visual Studio Code/Visual Studio & GitHub + Azure (Microsoft 365 Agents Toolkit). Purpose of image is a visual demostration that Microsoft 365 Agents Toolkit is for pro-code scenarios and supports the integration of agents with other existing apps or services.

Microsoft 365 Agents Toolkit is for pro-code scenarios and supports the integration of agents with other existing apps or services.

Get started

To start building with Microsoft 365 Agents Toolkit, install the version of the toolkit that’s right for you:

For more information to help you get started building agents and apps, see documentation.

We’re excited to see what you’ll build with Microsoft 365 Agents Toolkit!

The post Introducing the Microsoft 365 Agents Toolkit appeared first on Microsoft 365 Developer Blog.

]]>
https://devblogs.microsoft.com/microsoft365dev/introducing-the-microsoft-365-agents-toolkit/feed/ 1