Below you will find pages that utilize the taxonomy term “M365 Copilot”
posts
Limitations of OpenAPI Spec with Complex Objects in Copilot Declarative Agents
Introduction In a previous post, I detailed the steps for Building a Copilot Agent with Teams Toolkit and Microsoft Graph Plugin to List My ToDo Tasks. However, I encountered issues with the CreateTask function when using an OpenAPI spec generated with Kiota. Upon investigation, I identified the problem as being related to the handling of complex objects, particularly those involving dates. Even after simplifying the object structure, the CreateTask function continued to fail.
posts
Building a Copilot Agent with Teams Toolkit and Microsoft Graph Plugin to list my ToDo Tasks
Introduction This guide walks you through creating a Copilot agent using Teams Toolkit and Microsoft Graph API. By leveraging OpenAPI specifications, Kiota, and Teams Toolkit, you can build a plugin to interact with Microsoft Graph endpoints. I used the blog post Copilot Graph API QnA Plugin by Franck Cornu as inspiration with some variation to apply it to get my ToDo tasks.
Plugins for Copilot agents rely on OpenAPI specifications. While the complete Microsoft Graph OpenAPI specification exists, it is a massive file (34MB) and not practical for performance reasons.
posts
Troubleshooting Copilot Agent Teams Toolkit M365Graph Plugin Issues
Troubleshooting Copilot Agent Teams Toolkit M365Graph Plugin Issues When building a Copilot agent using Teams Toolkit, you may encounter certain errors that can hinder your progress. This blog post highlights common issues and provides solutions to help you resolve them effectively.
Common Issues and Fixes 1. name_for_human Exceeds 20 Characters Issue: You may encounter the following error when the name_for_human field in the ai-plugin.json file exceeds 20 characters:
name_for_human in PluginManifestDocument has characters beyond the length 20 that MAY be ignored.
posts
Embedding Copilot Studio Agent in a SharePoint Page
Introduction Embedding a Copilot Studio Agent within a SharePoint page can significantly enhance user experience by providing seamless access to AI-powered assistance directly within the context of a SharePoint site. While there are examples of achieving this using SPFx (SharePoint Framework), I wanted to explore whether this could be done using out-of-the-box (OOB) features without custom development.
In this blog post, I will walk you through the steps to embed a Copilot Studio Agent into a SharePoint page using the Embed Webpart and site settings.
posts
SharePoint Agent and Responsible AI in Mental Health Support
Introduction Balancing AI safety measures and practical functionality for SharePoint Agents is key for some use cases due to the lack of customisation of the inbuilt content safety against the four categories: harm, self-harm, sex, and hate. A particular use case we wanted to explore was its use for mental health support agents in the form of virtual mental health first aiders. My partner in crime Lee Ford and I explored what we could do without tripping the Responsible AI principles and flagging Content Safety categories.
posts
Exploring Ways to Access SharePoint Agent
Introduction SharePoint Agent is the easiest way to get started with building your own grounded Agents from your SharePoint data. The possibilities are vast, from HR agents to legal agents. If more configuration and features are required, the Copilot Studio or Azure AI Foundry could help.
Each SharePoint site comes with its own default Agent scoped to data within the site. As of today (i.e. March 2025), the default SharePoint agent can’t be modified.
posts
M365 Developer Tenant Challenges
My Visual Studio subscription was deactivated, resulting in the loss of my Azure subscription and licenses to access Microsoft Teams within my M365 developer tenant.
This post covers my attempts to recover access in vain.
Access to Microsoft Teams I thought I could extend my access to Microsoft Teams by opting for a free trial for Microsoft 365 E5 (no Teams) and Teams Premium - Microsoft Teams Premium.
However, this did not restore access to Microsoft Teams despite waiting multiple hours after I added the above licenses.
posts
Deletion of company-wide and anonymous sharing links with PowerShell
Sharing is a powerful feature for collaboration. However depending on how items, files or folders are shared, a sharing link might be created or unique permissions on these items are created. The sharing link is created when the copy links is clicked from the sharing pop up options when people other those already have existing access are picked.
However by default, if sharing options have not been configured, links to “People in ” or “Anyone” (if external sharing is allowed) is selected
posts
PowerShell: Fetch Files with Retention or Sensitivity Labels in SharePoint Online
Introduction Understanding the sensitivity and retention labels applied to files in your SharePoint Online sites is essential for maintaining data security and compliance. These labels enable you to manage and protect your data by defining retention periods and handling sensitive information appropriately. This is particularly important for initiatives like the Microsoft 365 Copilot rollout, ensuring that the correct files are stored within the appropriate SharePoint sites. For example, if a SharePoint site is a public Team site, files labeled as confidential should be moved to a private Team site or existing Team site updated from public to private.
posts
Get SharePoint site sharing Settings with PowerShell
Managing sharing settings for SharePoint sites is crucial for maintaining a secure and well-governed environment. With the help of PowerShell, administrators can efficiently retrieve and manage these settings across their SharePoint Online tenant. This ensures that sensitive information is not overshared and that your organisation’s data remains secure.
Importance of Reviewing Sharing Settings Reviewing sharing settings is essential to prevent oversharing, which can lead to data breaches and unauthorized access to sensitive information.
posts
Empowering Secure Collaboration: Configuring SharePoint Tenant and Site Settings with PowerShell to prevent oversharing
Sharing lies at the heart of collaboration within SharePoint, facilitating seamless communication and teamwork. However, effective management of sharing settings is crucial to maintain data security and prevent unintended exposure. This is particularly important in light of tools like M365 Copilot.
An extract from Announcing SharePoint advanced management innovations for the AI and Copilot era
“With Copilot and AI, security has become a concern. Not because Copilot allows people to access anything more than they could previously; it just allows them to find information they have access to faster.
posts
Teams Chats - default Sharing Links to 'People Currently in this Chat
Have you ever wondered how to default the default sharing link in Teams chats to ‘People currently in this chat’? By default, if “Anyone” is disabled within the tenant, the sharing link is set to “People in my organization”. This can be a challenge when you want to limit access to only those in the current chat. All files uploaded to a Teams Chat are stored in the uploader’s OneDrive for Business.
posts
SharePoint Portals Site collections Inventory
As part of the M365 Copilot rollout , questions were raised on the /portals/Community and /portals/hub as both ‘Everyone Except External Users’ was granted access raising concerns on the content on the site. These are legacy sites and are currently inaccessible. Historically, these sites were accessible via the legacy SharePoint admin centre, however, they are not available through the modern SharePoint admin centre interface.
Thanks to Gregory Zelfond’s blog post What are all these site collections in SharePoint?
posts
Empowering Secure Collaboration: Configuring OneDrive Tenant and Site Settings
Empowering Secure Collaboration: Configuring OneDrive Tenant Settings with PowerShell OneDrive makes it easy to collaborate by sharing files and folders with others. OneDrive is the storage space for personal productivity and not meant for collaboration. Data stored within OneDrive are
Files shared to chats within Teams Files shared with end user by other OneDrive users. OneNote Personal lists and Document storage Shortcuts to SharePoint sites/libraries Favourites Loops within chats Streams In this article, we’ll explore into how PowerShell can empower SharePoint administrators to configure OneDrive sharing settings proactively at the tenant level, addressing oversharing concerns for the M365 Copilot rollout.
posts
Deletion of sharing links with PowerShell
Deletion of sharing links with PowerShell As organisations look to deploy Copilot for Microsoft 365, ensuring the security and proper governance of shared content is important. The rollout of Copilot introduces advanced AI capabilities across Microsoft 365 apps using content from SharePoint/OneDrive, making it even more essential to manage sharing links judiciously to tackle the issue of oversharing.
Sharing is a powerful feature for collaboration. However depending on how items, files or folders are shared, a sharing link might be created or unique permissions on these items are created.
posts
Manage SharePoint Premium - SharePoint Advanced Management Settings Using PowerShell to protect data in M365 Copilot Rollout
Manage SharePoint Premium - SharePoint Advanced Management Settings Using PowerShell to protect data in M365 Copilot Rollout SharePoint Premium - SharePoint Advanced Management offers features to help prevent data oversharing and accidental leaks, which is crucial for a successful rollout of M365 Copilot. This guide will show you how to manage these settings using PowerShell.
For an overview, read the Microsoft SharePoint Premium - SharePoint Advanced Management overview.
This post covers how to manage SharePoint Premium - SharePoint Advanced Management settings at both the tenant and site level using PowerShell.
posts
Restrict certain SharePoint sites from tenant search and M365 Copilot using PowerShell
Excluding certain SharePoint sites from search would mean the contents from the excluded sites won’t be available to M365 tenant search and M365 Copilot using Restricted SharePoint Search feature.
The downsides using this feature are:
Limited Findability: By excluding certain SharePoint sites from search, you limit the findability of data. Users would need to know the specific sites where the data resides in order to search for it. This can hinder efficient data retrieval and records management.
posts
Empowering Secure Collaboration: Configuring Microsoft Loop Sharing Tenant and Site Settings with PowerShell
Empowering Secure Collaboration: Configuring Microsoft Loop Sharing SharePoint Tenant and Site Settings with PowerShell Guest users can be invited to collaborate within Microsoft Loop in the tenant. Refer How to work with guest users using Microsoft Loop how sharing within Loop works.
This post focuses on using PowerShell to control the Microsoft Loop sharing settings to help securing data especially with M365 Copilot which can expose data not previously accessible by other means.
posts
PowerShell Script to Query Unique Permissions in SharePoint
Query Unique Permissions in SharePoint using CSOM and PnP PowerShell Managing permissions in SharePoint is a critical aspect of maintaining data security and compliance within organisations. However, as SharePoint environments grow in complexity, manually auditing and managing permissions becomes increasingly challenging. To address this challenge, PowerShell scripts can be leveraged to automate the auditing process, providing administrators with valuable insights into permission structures across SharePoint sites and libraries.
What do SharePoint permissions have to do with Copilot for Microsoft 365?