posts
Creating an OpenAPI Specification for Microsoft 365 Copilot Declarative Agents to Interact with SharePoint Lists
Introduction In this blog post, I demonstrate how to create an OpenAPI specification for interacting with a SharePoint list using Microsoft Graph for integration with Microsoft 365 Copilot Declarative Agents. The list in question was created using the tracker template. This approach allows you to define and document API interactions, making it easier to integrate with tools like Microsoft 365 Agents Toolkit (previously known as Teams Toolkit) or Copilot for automation and extensibility.
posts
Power Automate - Trigger a Flow from multiple Libraries/lists and sites
Introduction In this blog post, we’ll explore how to trigger a single Power Automate flow from multiple SharePoint libraries, lists, and sites. This approach is particularly useful for standardizing workflows across different document libraries and sites, avoiding the need to replicate flows multiple times. This not only simplifies maintenance but also streamlines deployment.
The For a selected file or For a selected item trigger action is key to achieving this. While the Manually trigger a flow action was considered, it does not pass the necessary context (site URL, library ID/name, and item ID) to the flow, making it unsuitable for this scenario.
posts
Step by step guide to integrate Microsoft 365 Copilot declarative agents with Azure OpenAI
Introduction In this post, I’ll walk you through how to call Azure OpenAI APIs from a Copilot declarative agent—without writing any code—by using Microsoft 365 Agents Toolkit. Leveraging OpenAPI specifications, Microsoft 365 Agents Toolkit enables seamless integration with Azure OpenAI, streamlining the development process for Copilot extensibility.
Step 1: Create and Import an OpenAPI Specification Microsoft provides a pre-built OpenAPI specification for Azure OpenAI, but it’s often broader than needed. To simplify, I generated a targeted OpenAPI spec with Copilot by using the endpoint URL and a sample request body as a prompt.