# Tips for Microsoft 365 | SeanShares > Have questions about Microsoft 365? Get tips and tricks for working with Copilot, Teams, SharePoint, Outlook and more here. Public Ghost content for AI and LLM tooling. This file includes a bounded export of public pages first, then recent public posts. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages ### About URL: https://seanshares.com/about/ Last updated: 2026-05-04T02:31:55.000Z Sean Shares is an independent blog dedicated to helping users and administrators get more from Microsoft 365\. Drawing on nearly 20 years of real-world experience managing Microsoft environments, I share practical tips, tutorials, and insights to make tools like Copilot, Teams, Outlook, SharePoint and other M365 services easier to use and more effective in daily work. ## My Background I’m Sean, a seasoned Microsoft Administrator with almost two decades of hands-on experience supporting, training, and guiding users across a wide range of Microsoft products. I hold Microsoft and security certifications, and my passion for technology drives me to keep learning as the Microsoft ecosystem evolves. Throughout my career, I have helped hundreds of users, from new employees learning the basics to IT professionals tackling advanced configurations. Whether it’s troubleshooting a stubborn SharePoint sync, optimizing Teams collaboration, or demonstrating new Copilot features, my goal has always been the same: to help people work smarter and make technology less frustrating. Here on SeanShares, I combine that experience with a clear, no-nonsense writing style to deliver actionable guidance for Microsoft 365 users and administrators alike. [You can follow me on X here](https://x.com/FollowSean?ref=seanshares.com) ## Stay Connected Want to stay current on the latest Microsoft 365 updates and time-saving tricks? Subscribe to SeanShares and get new tips delivered straight to your inbox. [Subscribe here](https://seanshares.com/about/#/portal/) Thanks for reading! ### Privacy Policy URL: https://seanshares.com/privacy-policy/ Last updated: 2026-06-03T15:08:37.000Z *Last updated: June 3, 2026* Your privacy is important. This Privacy Policy explains how SeanShares (“SeanShares,” “we,” “us,” or “our”) collects, uses, and shares information when you visit [https://SeanShares.com](https://seanshares.com/) (the “Site”) or otherwise interact with us. SeanShares is operated by an individual based in New York, United States. --- ## 1\. Information We Collect ### 1.1 Information you provide to us We collect personal information that you voluntarily provide when you: - Subscribe to receive email updates or newsletters - Contact us by email or through any forms on the Site The personal information you may provide includes: - **Email address** - **First name and last name** ### 1.2 Information collected automatically When you visit the Site, certain information is collected automatically through cookies and similar technologies, including: - IP address - Browser type and version - Device identifiers - Pages visited, time and date of visit, time spent on pages, and other usage information - Referring URLs and general location information (e.g., country or city level, where available) This information is primarily collected for analytics and advertising purposes, as described below. --- ## 2\. How We Use Your Information We use the information we collect for the following purposes: - To provide, operate, and maintain the Site - To respond to your inquiries and communications - To send you email updates, newsletters, or other communications you have opted in to receive - To analyze how visitors use the Site and to improve content and user experience - To display ads and measure the performance of advertising campaigns - To detect, prevent, and address technical or security issues - To comply with legal obligations and protect our rights --- ## 3\. Legal Bases for Processing (EEA/UK Users) If you are in the European Economic Area (EEA) or the United Kingdom, we process your personal data under one or more of the following legal bases: - **Consent** – e.g., when you subscribe to emails or accept cookies for analytics/advertising. - **Legitimate interests** – e.g., to operate and improve the Site, prevent fraud, and secure our services, where these interests are not overridden by your data-protection rights. - **Legal obligations** – where processing is necessary to comply with applicable laws. --- ## 4\. Cookies and Similar Technologies We use cookies and similar technologies to: - Recognize your browser or device - Remember your preferences - Understand how visitors use the Site - Serve and measure advertisements You can manage cookies through your browser settings and, where available, through any consent or preference tools presented on the Site. Disabling certain cookies may affect some features or functionality. --- ## 5\. Analytics We use Google Analytics to help us understand how visitors find and use the Site, measure traffic and performance, identify popular content, and improve the Site. Google Analytics may collect information such as the pages you visit, the time and date of your visit, how long you spend on pages, links you click, the site or search terms that referred you to the Site, your browser and device information, your general location, your IP address, and other usage information. Google Analytics may collect this information through cookies, device identifiers, browser identifiers, IP addresses, and similar technologies. Google may use the information collected through Google Analytics to provide analytics services, maintain and improve Google services, measure activity and performance, and share information with other Google services in accordance with Google’s policies. You can learn more about how Google uses information from sites and apps that use Google services here: [How Google uses information from sites or apps that use our services](https://policies.google.com/technologies/partner-sites?ref=seanshares.com). You can also learn more about Google Analytics privacy controls and the Google Analytics opt-out browser add-on here: [Google Analytics opt-out browser add-on](https://support.google.com/analytics/answer/181881?ref=seanshares.com). We may also use Cloudflare Web Analytics to understand traffic and performance without relying on third-party advertising cookies. You can learn more about Cloudflare’s privacy practices here: [Cloudflare Privacy Policy](https://www.cloudflare.com/privacypolicy/?ref=seanshares.com). --- ## 6\. Advertising We may use Google AdSense and other Google advertising services to display advertisements on the Site, measure ad performance, prevent fraud and abuse, and, where permitted, personalize advertising content. As a result of ad serving on the Site, Google and other third-party advertising partners may use cookies, web beacons, IP addresses, device identifiers, browser identifiers, and similar technologies to collect or receive information from the Site and elsewhere on the internet. These third parties may place and read cookies on your browser, use web beacons, or use IP addresses and other identifiers to collect information about your visits to this Site and other websites in order to provide, measure, and improve ads. Google may use information from the Site and other sites and apps that use Google services to deliver its services, maintain and improve them, measure the effectiveness of advertising, protect against fraud and abuse, and personalize content and ads. For more information, see [How Google uses information from sites or apps that use our services](https://policies.google.com/technologies/partner-sites?ref=seanshares.com). You may be able to manage personalized advertising through Google’s ad settings and other industry opt-out mechanisms, depending on your region and the choices available to you. --- ## 7\. Email Communications We may send you emails if you have subscribed or otherwise opted in to receive them. For sending emails, we use: - **Mailgun** – an email delivery and management service. Mailgun’s Privacy Policy is available at: [https://www.mailgun.com/legal/privacy-policy/](https://www.mailgun.com/legal/privacy-policy/?ref=seanshares.com) Mailgun processes your email address and relevant metadata (such as delivery and open rates) to send and analyze email performance on our behalf. You can unsubscribe from our emails at any time by using the unsubscribe link in the email or contacting us using the form in the “Contact” section. --- ## 8\. Payments We do **not** sell products or services through the Site and we do not process any payment information on or through the Site. --- ## 9\. How We Share Your Information We may share your information with: - **Service providers** who perform services on our behalf, such as email delivery, content delivery and analytics - **Advertising partners** (such as Google) that provide ad services on the Site - **Authorities or other parties** when required by law, legal process, or to protect our rights, safety, or property, or that of others We do not sell your personal information in the conventional sense. However, some of the data sharing that occurs through analytics and advertising cookies may be considered a “sale” or “sharing” under certain privacy laws (such as the CCPA/CPRA). See the “CCPA/CPRA Privacy Rights” section for more information. --- ## 10\. International Transfers The Site is operated from the United States. Your information may be transferred to, stored, and processed in countries other than your own, including the United States. These countries may have data-protection laws that are different from those in your country. Where required, we take steps to ensure that appropriate safeguards are in place for such transfers. --- ## 11\. Data Retention We retain personal information for as long as necessary to fulfill the purposes described in this Privacy Policy, unless a longer retention period is required or permitted by law. The specific retention period may depend on the type of data and the context in which it was collected. --- ## 12\. Your Rights and Choices ### 12.1 General rights Depending on your location, you may have the right to: - Access the personal information we hold about you - Request correction of inaccurate or incomplete information - Request deletion of your personal information - Object to or request restriction of certain processing - Withdraw consent where processing is based on consent - Receive your data in a portable format, where technically feasible To exercise these rights, contact us using the contact form on the Contact page. --- ## 13\. CCPA/CPRA Privacy Rights (California Residents) If you are a resident of California, you may have the following rights with respect to your “personal information” as defined under the **California Consumer Privacy Act (CCPA), as amended by the California Privacy Rights Act (CPRA)**: - **Right to know/access** – to request information about the categories and specific pieces of personal information we have collected, used, disclosed, “sold,” or “shared” about you. - **Right to deletion** – to request that we delete personal information we have collected from you, subject to certain exceptions. - **Right to correct** – to request correction of inaccurate personal information. - **Right to opt out of “sale” or “sharing”** – to opt out of the “sale” or “sharing” of your personal information for cross-context behavioral advertising, to the extent our use of cookies, analytics, and advertising constitutes such “sale” or “sharing.” - **Right to non-discrimination** – we will not discriminate against you for exercising your rights under the CCPA/CPRA. To submit a request or to exercise your rights, contact us using the contact form on the Contact page and specify that your request relates to your CCPA/CPRA rights. If our use of cookies or third-party advertising constitutes a “sale” or “sharing” of personal information, you may also have access to additional tools on the Site to manage these choices. We collect the categories of personal information listed earlier in this Policy (such as identifiers and internet/usage information) for the purposes described above. We may disclose such information to service providers and business partners as described in the “How We Share Your Information” section. --- ## 14\. GDPR / EEA & UK Privacy Rights If you are located in the EEA or UK, you have additional rights under the **General Data Protection Regulation (GDPR)** and equivalent UK legislation, including: - The right to lodge a complaint with a supervisory authority - The right to object to processing based on legitimate interests, including profiling - The right to data portability for information you provided to us To exercise these rights, contact us using the contact form on the Contact page. --- ## 15\. CalOPPA (California Online Privacy Protection Act) As required by **CalOPPA**, we state the following: - You can visit the Site anonymously. - This Privacy Policy is accessible via a link on our home page or other clear location on the Site. - Our Privacy Policy link includes the word “Privacy” and can be easily found on the pages described above. - We will notify you of material changes to this Privacy Policy by updating the “Last updated” date at the top of this page and, where appropriate, by additional notice (such as via prominent notice on the Site). ### Do Not Track Signals Some browsers offer a “Do Not Track” (DNT) feature. At this time, we do not respond to DNT signals or similar mechanisms. You can manage cookie-related preferences through your browser settings and other tools described in this Policy. --- ## 16\. Children’s Privacy The Site is not directed to children under the age of 13, and we do **not** knowingly collect personal information from children under 13\. If we learn that we have collected such information, we will take steps to delete it promptly. If you believe that a child under 13 has provided us with personal information, please contact us using the contact form on the Contact page. --- ## 17\. Third-Party Links The Site may contain links to third-party websites or services (such as external articles, tools, or service providers). We are not responsible for the privacy practices or content of those third parties. We encourage you to review the privacy policies of any third-party sites you visit. --- ## 18\. Hosting, Security, and Performance We use Cloudflare to help provide, secure, and improve the Site. Cloudflare may process information from visitors to the Site, such as IP addresses, device and browser information, traffic metadata, and other information necessary to provide security, content delivery, performance, DNS, fraud prevention, and related services. Cloudflare processes this information on our behalf as a service provider. You can learn more about Cloudflare’s privacy practices here: [Cloudflare Privacy Policy](https://www.cloudflare.com/privacypolicy/?ref=seanshares.com). We use reasonable technical and organizational measures to protect the personal information we collect. However, no method of transmission over the internet or method of electronic storage is completely secure, and we cannot guarantee absolute security. --- ## 19\. Changes to This Privacy Policy We may update this Privacy Policy from time to time. When we do, we will revise the “Last updated” date at the top of this page and may provide additional notice where appropriate. --- ## 20\. Contact Us If you have any questions about this Privacy Policy or our privacy practices, contact us using the contact form on the Contact page. Please include “Privacy Policy” in the subject line of your email so we can direct your inquiry appropriately. ### Contact URL: https://seanshares.com/contact/ Last updated: 2025-11-20T04:33:44.000Z ## Contact Form Thanks for stopping by and spending some of your time here. If you have a question, an idea for a post, feedback on something you’ve read, or just want to say hello, I’d love to hear from you. Drop a note in the form below and I’ll get back to you as soon as I can. --- Your name Your email Subject Message Send message --- Your message helps shape the future of this blog, so thank you in advance for reaching out! ### Disclaimer URL: https://seanshares.com/disclaimer/ Last updated: 2026-05-04T02:26:47.000Z This Disclaimer applies to all content published on SeanShares.com. Please read it carefully. ## Independent Blog, Not Affiliated with Microsoft SeanShares.com is an independent blog run by an individual Microsoft 365 practitioner. This Site is not affiliated with, endorsed by, authorized by, or sponsored by Microsoft Corporation in any way. All opinions, tips, and recommendations expressed on this Site are those of the author based on personal experience and are not the official position of Microsoft. Microsoft, Microsoft 365, SharePoint, Teams, Outlook, Copilot, OneDrive, and all related product names and logos are registered trademarks of Microsoft Corporation. Their use on this Site is for descriptive and educational purposes only. ## For Informational Purposes Only All content published on SeanShares.com is provided for informational and educational purposes only. It is not intended to be a substitute for professional IT consulting, Microsoft Certified training, or formal enterprise architecture guidance. The author has nearly 20 years of hands-on experience with Microsoft products, but technology changes rapidly. Features, user interfaces, admin settings, and best practices described on this Site may change after publication as Microsoft releases product updates. Always refer to Microsoft's current official documentation for the most up-to-date information on any product or feature. ## No Guarantee of Results Following any tutorial, guide, or tip published on SeanShares.com does not guarantee a specific outcome in your Microsoft 365 environment. Technology environments vary significantly between organizations based on tenant configuration, licensing, policies, third-party integrations, and many other factors. A setting or procedure that works correctly in one tenant may behave differently or not at all in another. SeanShares accepts no responsibility for any outcome, intended or unintended, that results from following instructions or guidance published on this Site. ## Test Before You Deploy Content on this Site may describe changes to tenant settings, admin center configurations, PowerShell commands, or other system-level actions. Some of these changes can affect many users or services if applied incorrectly. SeanShares strongly encourages a test-first approach for any administrative task you discover through this Site. ## Accuracy and Currency of Information Reasonable care is taken to ensure that content published on SeanShares.com is accurate at the time of writing. However, Microsoft 365 is a rapidly evolving platform. Screenshots, step-by-step instructions, admin center navigation paths, and feature descriptions may become outdated as Microsoft updates its products. If you notice outdated or incorrect content, please let us know through the Contact page. ## No Professional or Legal Advice Nothing on this Site constitutes professional IT consulting, legal advice, compliance advice, or security advice. If your organization has specific regulatory compliance requirements (such as HIPAA, FedRAMP, GDPR, or others), you should work with qualified professionals who specialize in those areas and with Microsoft's compliance and security documentation for your specific environment. Advice about features like Microsoft Purview, Microsoft Defender, Conditional Access, or data governance should be reviewed and validated by your organization's security and compliance teams before implementation. ## Affiliate Links and Advertising SeanShares.com may from time to time display advertising or include links to third-party products or services. If advertising is present, it will be clearly disclosed. Any product recommendations or links to external resources are based on the author's judgment and experience and do not represent paid endorsements unless explicitly stated otherwise. If affiliate links are used, this will be disclosed in accordance with FTC guidelines. Clicking affiliate links and making purchases through them may earn SeanShares a small commission at no additional cost to you. ## External Links This Site contains links to external websites, including Microsoft's official documentation. These links are provided as a convenience for additional reference. SeanShares does not control external sites and is not responsible for their content, accuracy, or availability. Linking to an external site does not imply endorsement of its content. ## Limitation of Liability To the maximum extent permitted by applicable law, SeanShares and its operator shall not be held liable for any damages, losses, or negative outcomes of any kind arising from your use of, or reliance on, any content published on this Site. This includes direct, indirect, incidental, consequential, or punitive damages, and applies whether the claim is based in contract, tort, negligence, or any other legal theory. ## Contact If you have questions about this Disclaimer, or if you have identified content that appears to be inaccurate or outdated, please reach out through the Contact page at SeanShares.com. Feedback is always welcome. ### Terms of Use URL: https://seanshares.com/terms-of-use/ Last updated: 2026-05-04T02:26:19.000Z ## 1\. About This Site SeanShares.com ("the Site") is an independent blog operated by Sean, an individual based in New York, United States. The Site provides tips, tutorials, and informational content related to Microsoft 365, including Microsoft Teams, SharePoint, Outlook, Copilot, and related products and services. This Site is not affiliated with, endorsed by, or sponsored by Microsoft Corporation. All Microsoft product names, trademarks, and logos are the property of Microsoft Corporation. ## 2\. Acceptance of Terms By visiting, reading, or otherwise using any part of SeanShares.com, you agree to comply with and be bound by these Terms of Use. These terms apply to all visitors, subscribers, and anyone else who accesses or uses the Site. SeanShares reserves the right to modify these Terms of Use at any time. Changes will be effective immediately upon posting to the Site. Your continued use of the Site following any changes constitutes your acceptance of the updated terms. We recommend reviewing this page periodically. ## 3\. Permitted Use You may use this Site for personal, non-commercial purposes, including reading articles, following tutorials, and subscribing to the newsletter. You are welcome to share links to content on this Site and to quote brief excerpts with appropriate attribution. You may not: - Copy, reproduce, republish, or redistribute articles or content from this Site in full without prior written permission. - Scrape, crawl, or systematically download content from this Site for any purpose. - Use this Site in any way that violates applicable local, national, or international laws or regulations. - Use this Site to transmit any unsolicited or unauthorized advertising or promotional material. - Attempt to gain unauthorized access to any part of the Site or its related systems or networks. ## 4\. Intellectual Property Unless otherwise noted, all content on SeanShares.com, including but not limited to text, images, screenshots, graphics, and the overall site design, is owned by or licensed to SeanShares and is protected by applicable copyright and intellectual property laws. Microsoft product names, screenshots of Microsoft products, and Microsoft logos referenced on this Site are the property of Microsoft Corporation and are used for descriptive and informational purposes only under principles of nominative fair use. SeanShares makes no claim of ownership over any Microsoft intellectual property. ## 5\. User-Submitted Content If you contact us, leave feedback, or otherwise submit content to SeanShares (for example, through the Contact form or Comments), you grant SeanShares a non-exclusive, royalty-free, perpetual license to use, reproduce, and publish that content as appropriate, such as quoting feedback in a future article or responding publicly to a question. We will not publish personally identifiable information without your consent. ## 6\. Disclaimer of Warranties This Site and its content are provided on an "as is" and "as available" basis without any warranties of any kind, express or implied. SeanShares makes no warranty that: - The Site will be available at all times or free from errors or interruptions. - The content on this Site is accurate, complete, up to date, or suitable for any particular purpose. - Following the guidance on this Site will produce any specific result in your own Microsoft 365 environment. Technology environments vary significantly between organizations and individual setups. Content that works correctly in one environment may behave differently in another. ## 7\. Limitation of Liability To the fullest extent permitted by law, SeanShares and its operator shall not be liable for any direct, indirect, incidental, consequential, or special damages arising from your use of this Site or reliance on any content published here. This includes, but is not limited to: - Data loss or corruption resulting from following instructions on this Site. - Service disruptions or outages in your Microsoft 365 environment caused by configuration changes you make based on content from this Site. - Any financial loss, loss of business, or loss of revenue connected to the use of or reliance on this Site. This limitation of liability applies regardless of the legal theory under which a claim is brought and even if SeanShares has been advised of the possibility of such damages. ## 8\. External Links This Site may contain links to third-party websites, including Microsoft's official documentation and support pages. These links are provided for your convenience and informational purposes only. SeanShares does not control, endorse, or take responsibility for the content, privacy practices, or terms of any third-party site. Visiting external links is at your own risk. ## 9\. Email Newsletter If you subscribe to the SeanShares newsletter, you agree to receive periodic email updates containing new articles, tips, and other Microsoft 365-related content. You can unsubscribe at any time by using the unsubscribe link in any newsletter email or by contacting us through the Contact page. We do not sell or share your email address with third parties for marketing purposes. ## 10\. Governing Law These Terms of Use are governed by and construed in accordance with the laws of the State of New York, United States, without regard to its conflict of law provisions. Any disputes arising under these terms shall be subject to the exclusive jurisdiction of the courts located in New York. ## 11\. Contact If you have questions about these Terms of Use, please reach out through the Contact page at SeanShares.com. We are happy to address any concerns. ### Microsoft 365 / Office 365 Tenant Name Check URL: https://seanshares.com/microsoft-365-tenant-name-check/ Last updated: 2026-07-04T00:09:04.000Z Before you can create a new Microsoft 365 tenant, you have to pick a name, and that name becomes your permanent `yourname.onmicrosoft.com` address. The catch is that every tenant name has to be unique across all of Microsoft 365, so the one you want may already be taken by another organization. This tool checks that for you in a second. Type in a name and it tells you whether the `.onmicrosoft.com` domain is still available or already in use. It's handy when you're setting up a brand-new Microsoft 365 or Office 365 tenant, planning a tenant rename, or just confirming whether a company already has an Entra ID (Azure AD) tenant under a given name. There's no sign-in and no setup. Just enter a name and check. Microsoft 365 tenant name .onmicrosoft.com Check Letters and numbers only, no spaces or symbols. Must start with a letter, 27 characters max. How this works Every Microsoft 365 tenant gets a globally unique `name.onmicrosoft.com` domain, so a name can exist only once across all of Microsoft 365. When you check a name, your browser asks a public Microsoft sign-in endpoint whether that tenant exists. If Microsoft returns the tenant's configuration, the name is **taken**; if it reports the tenant was not found, the name is **available**. No sign-in, password, or private data is involved. This only reveals whether a tenant *name* is registered, which is public information. The check runs entirely in your browser, directly against Microsoft. Reads only public Microsoft sign-in metadata. Not affiliated with or endorsed by Microsoft. ### Microsoft 365 Email Header Analyzer URL: https://seanshares.com/microsoft-365-email-header-analyzer/ Last updated: 2026-08-09T04:20:48.000Z ## Trace Email Delivery and Authentication Email headers contain detailed information about how a message was delivered, which mail servers handled it, and whether it passed important authentication checks. This free browser-based tool organizes that information into a readable summary, helping Microsoft 365 administrators review the delivery path, identify delays between mail servers, and examine SPF, DKIM, and DMARC results. Paste the raw message headers below to begin. ### Paste Message Headers Paste the complete raw headers from an email to analyze its delivery path, hop-by-hop timing, and available SPF, DKIM, and DMARC authentication results. The analyzer organizes the header information into separate summary, authentication, delivery path, and complete header views. Paste the raw headers from an email to see its delivery path, hop-by-hop delays, and SPF, DKIM, and DMARC authentication results. Everything is parsed in your browser, nothing is uploaded. Paste message headers Analyze headers Clear Load example Tip: in Outlook open the message, then File › Properties › Internet headers. In Outlook on the web, open the message › (•••) › View › View message details. Summary Authentication Delivery path | # | From | By | With | Time | Delay | | - | ---- | -- | ---- | ---- | ----- | All headers (0) Runs entirely in your browser. Headers you paste are never sent anywhere. Not affiliated with or endorsed by Microsoft. ### How the Email Header Analyzer Works Every email includes a set of message headers containing technical details about its delivery. As a message travels from its source to its destination, mail systems add routing and processing information to the header. This analyzer takes the raw header data and presents the available information in a more readable format. The results are separated into a summary, email authentication details, the message delivery path, and a complete view of the parsed headers. ### Review the Delivery Path The delivery path shows the mail systems recorded in the message headers. Each available hop includes the sending system, receiving system, transfer method, recorded time, and calculated delay. Reviewing the path can help an administrator see how a message moved between mail systems and locate a hop where an unusual delay may have occurred. It can also make lengthy `Received` headers easier to review by presenting the recorded information in chronological, structured rows. ### Examine SPF, DKIM, and DMARC Results The authentication section displays available SPF, DKIM, and DMARC results found in the message headers. - **SPF** results indicate whether the sending mail system was permitted to send mail for the domain being evaluated. - **DKIM** results relate to the cryptographic signature included with the message. - **DMARC** results reflect the available DMARC evaluation recorded in the headers. The analyzer reports the authentication information contained in the pasted headers. The presence and level of detail available will depend on the headers added by the mail systems that processed the message. ### Understand Message Delays Email delivery is not always immediate. A message may pass through several mail systems, filtering services, security platforms, or routing points before reaching its final destination. The delivery path calculates the available time difference between recorded hops, making potential delays easier to find. This can be useful when investigating a message that arrived later than expected or when determining where time was spent during delivery. A delay shown between two header entries identifies a time difference in the recorded data. It does not necessarily prove that either mail system malfunctioned. Additional investigation may be required to determine the reason for the delay. ### View the Complete Header The **All Headers** section provides access to the complete set of parsed header fields. This is useful when the information needed is not included in the summary or dedicated authentication and delivery sections. Complete headers may include message identifiers, timestamps, routing information, authentication results, content details, security filtering data, and other fields added during delivery. The exact fields vary depending on the sending service, receiving service, and systems that handled the message. ### Privacy and Local Processing The analyzer runs entirely in your browser. Headers pasted into the tool are not uploaded or sent to SeanShares. Email headers may contain email addresses, mail server names, IP addresses, message identifiers, tenant-related information, and other details associated with the sender, recipient, or mail environment. Even though this tool processes headers locally, review and remove sensitive information before sharing header data or analysis results with other people. ### Intended Use This tool provides a more accessible way to review the technical information contained in email headers. It can assist Microsoft 365 administrators, security teams, support personnel, and application owners when investigating message delivery and authentication results. The analyzer presents information recorded in the supplied headers. Results should be considered alongside Microsoft 365 message tracing, mail flow configuration, security platform data, and other available diagnostic information when conducting a broader investigation. SeanShares is not affiliated with or endorsed by Microsoft. ### Microsoft 365 Tools URL: https://seanshares.com/microsoft-365-tools/ Last updated: 2026-08-09T04:42:59.000Z ## Simplifying Everyday Microsoft 365 Tasks Microsoft 365 administrators and users often need quick answers to questions that would normally require searching through documentation, opening an admin center, or running PowerShell. This page brings together a growing collection of free, browser-based tools designed to make those everyday tasks faster and easier. Built from real-world administrative experience, each tool provides clear information without requiring access to your Microsoft 365 tenant. ## Microsoft 365 Tenant Name Check Every Microsoft 365 tenant is assigned a permanent, globally unique `yourname.onmicrosoft.com` address, and that name can only exist once across the entire Microsoft 365 ecosystem. This tool checks a proposed tenant name against Microsoft's public sign-in metadata and reports, in about a second, whether the name is still available or already in use. It is useful when provisioning a new Microsoft 365 or Office 365 tenant, planning a tenant rename, or confirming whether an organization already has an Entra ID tenant registered under a given name. [**Check a tenant name →**](https://seanshares.com/microsoft-365-tenant-name-check/) ## M365 License SKU Lookup Microsoft identifies the same license three different ways: a friendly name in the admin center, such as Microsoft 365 E5, a string ID in PowerShell and Graph output, such as `SPE_E5`, and a GUID. Outside the admin center, matching those identifiers to a plain English product name is not always simple. This tool translates between friendly names, string IDs, and GUIDs for both license SKUs and the individual service plans inside them, covering Microsoft's full published licensing reference. It also supports bulk lookups, useful for translating exports, scripts, or tenant audit reports in one pass. [**Look up a license SKU →**](https://seanshares.com/m365-license-sku-lookup/) ## M365 Graph Permissions Lookup App manifests, consent grants, and access tokens identify Microsoft Graph permissions by GUID or by terse scope names such as `Mail.Read`. This tool translates those identifiers into what they actually allow, covering Microsoft's full published reference of delegated scopes, application permissions, and Entra built-in roles. It distinguishes delegated permissions, which act on behalf of a signed-in user, from application permissions, which let an app act on its own with no user present, and flags which ones require admin consent. It also decodes the `wids` claim from a token to show which Entra directory roles a user holds. [**Look up a Graph permission →**](https://seanshares.com/graph-permissions-lookup/) ## Microsoft 365 Email Header Analyzer Raw email headers record the full delivery path of a message, including every mail server that handled it, how long each hop took, and the SPF, DKIM, and DMARC results returned along the way. That information is accurate but nearly unreadable in its raw form. This tool parses pasted headers and organizes them into a summary, an authentication breakdown, and a hop-by-hop delivery timeline. It is useful for tracing where a delayed message lost time, confirming whether a message actually passed SPF, DKIM, and DMARC, and reviewing the complete parsed header set when the summary is not enough. Everything is parsed locally in the browser, so nothing pasted into it is ever uploaded. [**Analyze email headers →**](https://seanshares.com/microsoft-365-email-header-analyzer/) ## AADSTS Error Code Lookup Microsoft Entra sign-in and authentication failures return as AADSTS codes, usually buried inside a much longer error message from a sign-in log, an application response, or a PowerShell session. This tool matches those codes, or a full pasted error message, against Microsoft's published error code reference and adds practical fix notes for the ones administrators run into most often. It also supports keyword search, so a term such as `consent`, `redirect`, or `MFA` surfaces matching error descriptions without knowing the exact code. Everything runs from data embedded in the page, so nothing pasted in, including usernames or app IDs, is sent anywhere. [**Look up an AADSTS error →**](https://seanshares.com/aadsts-error-code-lookup/) ## Why these tools exist Most Microsoft 365 questions can be answered from documentation. Some can only be answered by checking directly, and the official paths to that answer often require signing in, opening an admin center, or writing a PowerShell script. These tools exist for the moments when a direct answer is all that is needed. Each one runs entirely in the browser against publicly available data. No tenant is accessed and no input is stored. This list will grow as more of these internal utilities are cleaned up for public use. ### M365 License SKU Lookup URL: https://seanshares.com/m365-license-sku-lookup/ Last updated: 2026-07-08T04:09:07.000Z Microsoft 365 licensing data can be surprisingly hard to read once you get outside of the admin center. A license that appears as “Microsoft 365 E5” in the admin center might show up as \`SPE\_E5\` in PowerShell or Microsoft Graph, and sometimes all you have is a GUID. This tool helps translate those Microsoft 365 license identifiers into something easier to understand. Use it to quickly look up a license SKU, GUID, product name, or service plan and see the matching friendly name. You can also paste multiple values at once to bulk translate license data from reports, scripts, exports, or tenant audits. Search Bulk translate SKU, GUID, or product name Searches string IDs, GUIDs, and friendly names across both license SKUs and service plans. Results appear as you type. | Friendly name | String ID | GUID | Type | | ------------- | --------- | ---- | ---- | Paste SKUs or GUIDs, one per line or comma separated Translate Copy as CSV | Input | Friendly name | Type | | ----- | ------------- | ---- | How this works Microsoft identifies the same license three different ways: a friendly name in the admin center (like *Microsoft 365 E5*), a string ID in PowerShell and Graph output (like `SPE_E5`), and a GUID (like `06ebc4ee-1bb5-47dd-8120-11324bc54e06`). This tool translates between all three, in either direction. It covers both top-level license SKUs and the individual service plans inside them, using Microsoft's published licensing reference (619 products and 796 service plans). Everything runs in your browser from data embedded in this page. Nothing is sent anywhere. Data from Microsoft's [product names and service plan identifiers reference](https://learn.microsoft.com/entra/identity/users/licensing-service-plan-reference?ref=seanshares.com). Not affiliated with or endorsed by Microsoft. ## ### M365 Graph Permissions Lookup URL: https://seanshares.com/graph-permissions-lookup/ Last updated: 2026-07-16T03:42:45.000Z ## Lookup Graph Permissions Easily Turn cryptic Microsoft Graph permission GUIDs and scope names into clear, readable descriptions. Search for a single permission by name, GUID, or keyword, or use **Bulk decode** to paste multiple entries from an app manifest, consent grant, or token—including a token’s `wids` array. The results identify each permission or Entra role, distinguish delegated from application access, and show when admin consent is required. Everything is processed locally in your browser, so nothing you paste is uploaded or sent elsewhere. Search Bulk decode Permission name, GUID, or keyword Searches Microsoft Graph delegated scopes, application permissions, and Entra role template IDs (the `wids` claim in tokens). Results appear as you type. Paste GUIDs or scope names Decode Copy as CSV Data from Microsoft's [Graph permissions reference](https://learn.microsoft.com/graph/permissions-reference?ref=seanshares.com) and [Entra built-in roles](https://learn.microsoft.com/entra/identity/role-based-access-control/permissions-reference?ref=seanshares.com). Not affiliated with or endorsed by Microsoft. ### How the Graph Permissions Lookup Tool Works App manifests, consent grants, and tokens identify Microsoft Graph permissions by GUID or by terse scope names. This tool translates them into what they actually allow, using Microsoft's published permission definitions (598 delegated scopes and 534 application permissions), and flags which ones need admin consent. It also decodes Entra built-in role template IDs (135 roles), so you can paste the `wids` array from a token and see which directory roles the user holds. Delegated permissions act on behalf of a signed-in user; application permissions let an app act on its own with no user present, which is why the application variants are the ones to scrutinize. Everything runs in your browser from data embedded in this page. Nothing you paste is sent anywhere. ### Microsoft Entra AADSTS Error Code Lookup URL: https://seanshares.com/aadsts-error-code-lookup/ Last updated: 2026-08-09T04:03:31.000Z ## Troubleshoot Microsoft 365 and Entra Sign-In Errors Microsoft 365 sign-in and authentication failures often appear as Microsoft Entra AADSTS codes buried inside lengthy error messages, sign-in logs, and application output. This free browser-based tool helps you quickly identify those codes, understand what they mean, and review practical guidance for resolving common authentication and authorization issues. Paste a single code, multiple codes, or a complete error message to begin. ### AADSTS Error Code or Full Error Message Paste a single AADSTS code, multiple codes, or a complete error message from a Microsoft 365 sign-in log, application response, PowerShell session, or stack trace. You can also enter a term such as `consent`, `redirect`, or `MFA` to search the error descriptions. Matching results appear as you type. AADSTS error code or full error message Paste one code, several codes, or a whole error blob from sign-in logs or a stack trace. You can also type a keyword like "consent" or "redirect" to search descriptions. Results appear as you type. How this works Microsoft Entra sign-in failures come back as AADSTS codes buried in error messages. This tool matches them against Microsoft's published error code reference (350 codes embedded in this page) and adds practical fix notes for the codes admins hit most often. Everything runs in your browser from data embedded in this page. Nothing you paste is sent anywhere, so error messages containing usernames or app IDs are safe to drop in. Descriptions from Microsoft's [Entra authentication error code reference](https://learn.microsoft.com/entra/identity-platform/reference-error-codes?ref=seanshares.com). Not affiliated with or endorsed by Microsoft. ### How the AADSTS Error Lookup Works Microsoft 365 relies on Microsoft Entra ID for identity and access management. When an authentication or authorization request fails, Microsoft Entra frequently returns an AADSTS error code within a much longer response. This tool identifies those codes and matches them against Microsoft’s published authentication and authorization error reference. It provides a faster way to understand Microsoft 365 and Entra sign-in failures without manually searching through a lengthy documentation page. For commonly encountered errors, the lookup also includes practical troubleshooting notes to help Microsoft 365 administrators and application owners determine what to review next. Depending on the error, this may include an application registration, redirect URI, consent configuration, Conditional Access policy, user account, tenant selection, certificate, or authentication request. ### Where You May Encounter AADSTS Errors AADSTS errors can appear in several areas of a Microsoft 365 environment, including: - Microsoft 365 application and admin portal sign-ins - Microsoft Entra sign-in logs - Microsoft Graph applications and scripts - Exchange Online and Microsoft Graph PowerShell connections - Enterprise application authentication - OAuth and OpenID Connect responses - App registrations and consent requests - Applications using Microsoft identities for sign-in Although these errors frequently appear while administering Microsoft 365, the codes themselves come from the Microsoft Entra authentication and authorization platform. ### Search More Than One Error at a Time You can paste a single code, several codes, or an entire error response into the lookup. This is particularly useful when working with Microsoft Entra sign-in logs, Microsoft 365 administration scripts, application logs, PowerShell output, or stack traces where the AADSTS code may be surrounded by additional diagnostic information. The lookup also supports descriptive searches. If you do not know the exact error code, enter a keyword related to the problem, such as: - `consent` - `redirect` - `certificate` - `tenant` - `MFA` - `Conditional Access` - `user disabled` - `invalid client` Matching error descriptions appear as you type. ### Privacy and Local Processing The lookup runs entirely in your browser using error reference data embedded in the page. Information entered into the tool is not submitted to SeanShares or stored by the lookup. This makes it possible to paste a complete Microsoft 365 or Entra error message without sending its contents to another service. However, it is still a good practice to review diagnostic data before sharing it with anyone. Error responses may contain usernames, application IDs, tenant details, correlation IDs, trace IDs, and other information associated with your environment. ### About the Error Information Error descriptions are based on Microsoft’s published Microsoft Entra authentication and authorization error code reference. Microsoft may update its error codes, descriptions, and recommended resolutions as the identity platform changes. This tool is intended to provide Microsoft 365 administrators, developers, and application owners with a convenient starting point for troubleshooting. Complex authentication problems may still require a review of the associated Microsoft Entra sign-in event, Conditional Access results, application configuration, or diagnostic logs. SeanShares is not affiliated with or endorsed by Microsoft. ### M365 Certification Study Hub URL: https://seanshares.com/study-hub/ Last updated: 2026-08-12T00:18:54.000Z _This post is for subscribers only._ ### Microsoft Certification Study Guides, Flashcards and Practice Quizzes URL: https://seanshares.com/microsoft-certification-study-guides/ Last updated: 2026-08-12T03:08:53.000Z Prepare for Microsoft certification exams with interactive flashcards, knowledge quizzes, focused lessons, exam objective reviews, and progress tracking. The SeanShares Microsoft Certification Study Hub helps IT professionals, Microsoft 365 administrators, business users, and certification candidates organize their exam preparation in one convenient place. Create a free member account to access study tools for Microsoft 365, Copilot, artificial intelligence, Azure, security, compliance, and identity certification exams. **Study for** AB-900, AB-730, AB-731, AB-100, AZ-900, AI-900, and SC-900 at your own pace. [Create a Free Account and Start Studying](https://seanshares.com/#/portal/signup) **Already a SeanShares member?** [Sign In to the Study Hub](https://seanshares.com/study-hub/) ![](https://seanshares.com/content/images/2026/08/Screenshot-2026-08-11-195551.png) *Choose an exam and study with flashcards, quizzes, focused lessons, and progress tracking.* ## Study Smarter for Microsoft Certification Exams Preparing for a Microsoft certification exam can involve study guides, Microsoft Learn modules, documentation, videos, notes, and practice questions. Keeping everything organized can become a challenge. The SeanShares Microsoft Certification Study Hub provides an interactive way to review important exam concepts and reinforce what you have learned. **Choose a supported Microsoft certification exam and use:** - Interactive certification flashcards - Knowledge-check quizzes - Focused concept lessons - Exam objective breakdowns - Progress tracking - Short study sessions that fit your schedule The Study Hub is designed to supplement your official Microsoft Learn training and give you another way to review important concepts before exam day. ## Microsoft Certification Study Tools ### Interactive Exam Flashcards Review Microsoft terminology, products, services, administrative concepts, and exam-related topics with interactive flashcards. Flashcards provide a quick way to reinforce important information through repetition. Use them for a full study session or a brief review when you only have a few minutes available. ![](https://seanshares.com/content/images/2026/08/image-7.png) ### Microsoft Certification Practice Quizzes Test your knowledge with quizzes based on the subject areas associated with each supported exam. Practice quizzes can help you identify concepts you already understand and topics that may require more study. They also provide a more active alternative to simply rereading notes or documentation. ![](https://seanshares.com/content/images/2026/08/image-8.png) ### Focused Certification Lessons Work through short lessons that divide larger Microsoft certification subjects into manageable sections. These lessons focus on understanding important concepts, services, and use cases rather than relying entirely on memorization. ![](https://seanshares.com/content/images/2026/08/image-9.png) ### Exam Objective Review Each certification is organized around its major exam subject areas. This makes it easier to review individual objectives, focus on weaker topics, and plan study sessions around the subjects that deserve additional attention. ![](https://seanshares.com/content/images/2026/08/image-10.png) ### Study Progress Tracking Track your activity as you complete lessons, review study material, and work through an exam. Progress tracking lets you return to the Study Hub and continue your preparation without losing sight of what you have already completed. ![](https://seanshares.com/content/images/2026/08/image-11.png) ## Microsoft Certification Exams in the Study Hub The Study Hub currently provides study resources for the following Microsoft certification exams. ## AB-900 Study Guide: Microsoft 365 Copilot and Agent Administration Fundamentals Prepare for Exam AB-900 by reviewing Microsoft 365 administration, security, identity and access, data protection, governance, Microsoft 365 Copilot, and agents. AB-900 is intended for candidates who want to demonstrate an understanding of how to support, secure, and protect an AI-enabled Microsoft 365 environment. **The AB-900 section includes:** - Microsoft 365 features and objects - Data protection and governance - Microsoft 365 Copilot administration - Agent administration concepts - AB-900 flashcards - AB-900 practice quizzes - Focused AB-900 lessons [Start Studying for AB-900](https://seanshares.com/study-hub/) ## AB-730 Study Guide: Microsoft Certified: AI Business Professional Prepare for Exam AB-730 with study material covering generative AI, prompts, conversations, Microsoft 365 Copilot, and AI-assisted business content. The certification is intended for candidates who use generative AI productivity tools and Microsoft 365 applications to improve business outcomes without needing to develop applications or write code. **The AB-730 section includes:** - Generative AI fundamentals - Prompts and AI conversations - Microsoft 365 Copilot concepts - Drafting and analyzing business content - AB-730 flashcards - AB-730 practice quizzes - Focused AB-730 lessons [Start Studying for AB-730](https://seanshares.com/study-hub/) ## AB-731 Study Guide: Microsoft Certified: AI Transformation Leader Prepare for Exam AB-731 by studying the business value of generative AI, Microsoft AI applications and services, responsible AI, and organizational AI adoption. This certification is intended for business decision-makers who guide AI transformation and innovation without requiring coding skills. **The AB-731 section includes:** - Business value of generative AI - Microsoft AI applications and services - AI implementation strategies - Responsible AI concepts - Organizational AI adoption - AB-731 flashcards - AB-731 practice quizzes - Focused AB-731 lessons [Start Studying for AB-731](https://seanshares.com/study-hub/) ## AB-100 Study Guide: Microsoft Certified: Agentic AI Business Solutions Architect Prepare for Exam AB-100 with study material covering the planning, design, and deployment of AI-powered business solutions. **The AB-100 section includes:** - Planning AI-powered solutions - Designing AI business solutions - Agentic solution concepts - Deploying AI-powered solutions - AB-100 flashcards - AB-100 practice quizzes - Focused AB-100 lessons [Start Studying for AB-100](https://seanshares.com/study-hub/) ## AZ-900 Study Guide: Microsoft Certified: Azure Fundamentals Prepare for Exam AZ-900 by building a foundation in cloud computing and Microsoft Azure. AZ-900 is a useful starting point for people who are new to Microsoft Azure or want to validate their understanding of cloud concepts and Azure services. **The AZ-900 section includes:** - Cloud concepts - Azure architecture and services - Azure compute and networking - Azure storage - Azure management tools - Azure governance - AZ-900 flashcards - AZ-900 practice quizzes - Focused AZ-900 lessons [Start Studying for AZ-900](https://seanshares.com/study-hub/) ## AI-900 Study Guide: Microsoft Certified: Azure AI Fundamentals Prepare for Exam AI-900 with study tools covering artificial intelligence workloads and Microsoft Azure AI services. AI-900 can help technical and nontechnical candidates build a foundational understanding of AI concepts and related Microsoft Azure services. **The AI-900 section includes:** - Artificial intelligence workloads - Responsible AI considerations - Machine learning on Azure - Computer vision - Natural language processing - Generative AI on Azure - AI-900 flashcards - AI-900 practice quizzes - Focused AI-900 lessons [Start Studying for AI-900](https://seanshares.com/study-hub/) ## SC-900 Study Guide: Microsoft Security, Compliance, and Identity Fundamentals Prepare for Exam SC-900 by reviewing Microsoft security, compliance, and identity concepts. SC-900 is designed for candidates who want to understand the fundamentals of security, compliance, identity, and related Microsoft cloud services. **The SC-900 section includes:** - Security, compliance, and identity concepts - Microsoft Entra - Identity and access management - Microsoft security solutions - Microsoft compliance solutions - SC-900 flashcards - SC-900 practice quizzes - Focused SC-900 lessons [Start Studying for SC-900](https://seanshares.com/study-hub/) ## Why Use the SeanShares Microsoft Certification Study Hub? ### Study at Your Own Pace There is no required study schedule. Choose the exam and topic you want to review, then work through the material at a pace that fits your availability. ### Keep Your Exam Preparation Organized Instead of keeping separate flashcards, notes, and lesson checklists, use one study dashboard to access the available resources for each supported exam. ### Review Material in Different Ways Reading alone does not work equally well for everyone. The Study Hub combines lessons, flashcards, quizzes, objective reviews, and progress tracking so that you can interact with the material in several ways. ### Fit Studying Into a Busy Schedule Use the Study Hub for a longer study session or a quick review between other responsibilities. - Review flashcards before starting work - Complete a short lesson during a break - Take a quiz after studying a Microsoft Learn module - Revisit a difficult exam objective - Refresh essential concepts before exam day - Track which topics you have already reviewed ### Use It Alongside Microsoft Learn The Study Hub is intended to supplement official Microsoft training and documentation, not replace them. Microsoft recommends training and hands-on experience before taking certification exams and provides self-paced learning, classroom training, documentation, community resources, and videos. Use the SeanShares Study Hub for additional review and always consult the current official Microsoft exam page for the latest skills measured. ## Who Is the Microsoft Certification Study Hub For? - Microsoft 365 administrators - IT professionals - Help desk and technical support professionals - Security and compliance professionals - Microsoft Copilot administrators - Azure beginners - Business professionals using generative AI - Technology leaders planning AI adoption - Candidates preparing for their first Microsoft certification - Experienced administrators expanding into Copilot and AI - Anyone who wants an organized way to review Microsoft exam topics You do not need to study every exam. Create an account, choose the certification that matches your goals, and focus on the material most relevant to you. ## Frequently Asked Questions ### Is the Microsoft Certification Study Hub free? Access to the Study Hub is currently available at no cost to registered SeanShares members. ### Which Microsoft certification exams are included? The Study Hub currently includes AB-900, AB-730, AB-731, AB-100, AZ-900, AI-900, and SC-900\. Additional certification study material may be added as the hub develops. ### Does the Study Hub include practice questions? The Study Hub includes knowledge-check quizzes designed to help members review concepts associated with supported Microsoft certification exams. The questions are independent study material and are not actual Microsoft certification exam questions. ### Does the Study Hub include exam dumps? No. The Study Hub does not provide exam dumps, stolen exam content, or claims of actual certification questions. The purpose of the Study Hub is to help members understand concepts through lessons, flashcards, quizzes, and structured review. ### Is the Study Hub affiliated with Microsoft? No. SeanShares and the SeanShares Microsoft Certification Study Hub are independent resources and are not affiliated with, endorsed by, or sponsored by Microsoft. ### Can the Study Hub guarantee that I will pass? No study resource can guarantee a passing result. Exam performance depends on your preparation, experience, understanding of the material, and performance during the assessment. Use the Study Hub alongside current Microsoft Learn training, hands-on practice, and official exam documentation. ### How do I access the Study Hub? Create a SeanShares member account or sign in to an existing account. After signing in, open the Microsoft Certification Study Hub and select the exam you want to study. ## Start Studying for Your Microsoft Certification Microsoft certifications can help you demonstrate knowledge across Microsoft 365, Copilot, AI, Azure, security, compliance, and identity technologies. The SeanShares Microsoft Certification Study Hub gives you an organized place to review exam concepts, practice with flashcards and quizzes, complete focused lessons, and track your study progress. Create your member account, choose an exam, and start preparing today. [Create a Free Account and Start Studying](https://seanshares.com/#/portal/signup) **Already have an account?** [Sign In to the Microsoft Certification Study Hub](https://seanshares.com/#/portal/signin) > **Disclaimer:** The SeanShares Microsoft Certification Study Hub is an independent study resource and is not affiliated with, endorsed by, or sponsored by Microsoft. Microsoft, Microsoft 365, Azure, Copilot, Microsoft Entra, Microsoft Purview, and related certification names and trademarks belong to Microsoft. Study materials are provided for educational purposes and do not contain actual Microsoft exam questions. Exam objectives, certification names, and requirements may change. Always review the current official Microsoft exam page before preparing for, scheduling, or taking an exam. ## Posts ### PSHistory: Search and Manage Your PowerShell Command History URL: https://seanshares.com/automation/powershell-command-history-manager/ Last updated: 2026-08-11T22:22:21.000Z If you spend a lot of time working in PowerShell, your command history can become a valuable reference. The problem is that finding a specific command from days or weeks ago is not always convenient, especially when your history file contains hundreds or thousands of entries. PSHistory provides a searchable graphical interface for managing your PowerShell command history. It runs quietly in the Windows system tray and can be opened at any time by pressing `Ctrl+Shift+H`. The script version requires no installer and does not require any additional PowerShell modules. Run the script, leave it running in the system tray, and use the keyboard shortcut whenever you need to find an earlier command. ![](https://seanshares.com/content/images/2026/08/image-6.png) ## What PSHistory Can Do PSHistory reads your local PSReadLine command history and provides several ways to search, organize, and manage it. - Search your PowerShell command history in real time - Copy a previous command to the Windows clipboard - Open PSHistory using `Ctrl+Shift+H` - Pin frequently used commands to the top of the list - Hide common commands such as `cls`, `dir`, `exit`, and `cd` - Identify commands that were used multiple times - Preview complete commands, including multiline commands - Delete commands from the PowerShell history file - Export the currently displayed commands to a .ps1 or .txt file - View command-history statistics and the most frequently used commands - Reload the history file without restarting the script - Run quietly from the Windows system tray - Prevent multiple copies of PSHistory from running simultaneously Pinned commands are saved separately, allowing them to remain pinned the next time PSHistory is started. ## Requirements - Windows 10 or Windows 11 - Windows PowerShell 5.1 - PSReadLine command history - Windows Forms support - Permission to read and modify your PowerShell history file The script uses Windows Forms, the Windows notification area, and a Windows global keyboard shortcut. > **Note:** The default history path used by the script is for Windows PowerShell. If you primarily use PowerShell 7, you may need to update the history file path in the script. ## How PSHistory Works By default, Windows PowerShell stores PSReadLine command history in the following location: ``` %APPDATA%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt ``` PSHistory reads this file and creates a searchable list of unique commands. If a command appears more than once, PSHistory displays the number of occurrences next to it. ``` [5x] Get-Mailbox -ResultSize Unlimited ``` Pinned commands appear at the top of the results: ``` [PIN] Connect-ExchangeOnline ``` If a pinned command has been used multiple times, both indicators are displayed: ``` [PIN] [12x] Get-MgUser -All ``` PSHistory also rebuilds multiline PowerShell commands saved using continuation backticks, allowing the complete command to be previewed, copied, and exported. ## Download or Copy the Script Copy the complete script below and save it with a `.ps1` extension. A suitable filename is: ``` PSHistory.ps1 ``` ```powershell # PSHistory - search and manage your PowerShell command history # In plain PowerShell. No installs needed. # Hotkey: Ctrl+Shift+H to open. Lives in the system tray. Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing # ---------------- Native helper form (global hotkey) ---------------- $csharp = @' using System; using System.Runtime.InteropServices; using System.Windows.Forms; public class PSHistHotkeyForm : Form { public event EventHandler HotkeyPressed; public bool AllowShow = false; private const int WM_HOTKEY = 0x0312; [DllImport("user32.dll")] private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk); [DllImport("user32.dll")] private static extern bool UnregisterHotKey(IntPtr hWnd, int id); public void InitHooks() { IntPtr h = this.Handle; // forces handle creation even while hidden // 0x0002 = MOD_CONTROL, 0x0004 = MOD_SHIFT, 0x48 = 'H' RegisterHotKey(h, 1, 0x0002 | 0x0004, 0x48); } protected override void SetVisibleCore(bool value) { base.SetVisibleCore(AllowShow && value); } protected override void WndProc(ref Message m) { if (m.Msg == WM_HOTKEY && m.WParam.ToInt32() == 1) { if (HotkeyPressed != null) HotkeyPressed(this, EventArgs.Empty); } base.WndProc(ref m); } protected override void OnFormClosed(FormClosedEventArgs e) { try { UnregisterHotKey(this.Handle, 1); } catch {} base.OnFormClosed(e); } } '@ Add-Type -TypeDefinition $csharp -ReferencedAssemblies 'System.Windows.Forms','System.Drawing' # ---------------- Single instance guard (shared with PSHistory.exe) ---------------- $script:mutex = New-Object System.Threading.Mutex($false, 'PSHistory_SingleInstance') if (-not $script:mutex.WaitOne(0, $false)) { [System.Windows.Forms.MessageBox]::Show('PSHistory is already running (exe or script). Press Ctrl+Shift+H to open it.', 'PSHistory') | Out-Null exit } # ---------------- Paths and state ---------------- $appData = [Environment]::GetFolderPath('ApplicationData') $script:histPath = Join-Path $appData 'Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt' $dataDir = Join-Path $appData 'PSHistory' if (-not (Test-Path $dataDir)) { New-Item -ItemType Directory -Path $dataDir | Out-Null } $script:pinsFile = Join-Path $dataDir 'pins.json' # Hashtable keys are case-insensitive in PowerShell, which suits us fine here $script:junk = @{} foreach ($j in @('cls','clear','exit','quit','dir','ls','pwd','cd','cd..','cd ..','cd ~','gci','q','h','history')) { $script:junk[$j] = $true } $script:pins = @{} $script:raws = New-Object System.Collections.ArrayList $script:entries = New-Object System.Collections.ArrayList $script:view = @() $script:reallyExit = $false $script:lastWrite = [DateTime]::MinValue function Load-Pins { if (Test-Path $script:pinsFile) { try { $loaded = Get-Content $script:pinsFile -Raw -Encoding UTF8 | ConvertFrom-Json foreach ($p in @($loaded)) { if ($p) { $script:pins[[string]$p] = $true } } } catch { } } } function Save-Pins { try { $arr = @($script:pins.Keys | ForEach-Object { [string]$_ }) if ($arr.Count -eq 0) { $json = '[]' } elseif ($arr.Count -eq 1) { $json = '["' + ($arr[0] -replace '\\','\\\\' -replace '"','\"') + '"]' } else { $json = ConvertTo-Json $arr } Set-Content -Path $script:pinsFile -Value $json -Encoding UTF8 } catch { } } function Load-History { $script:raws = New-Object System.Collections.ArrayList $script:entries = New-Object System.Collections.ArrayList if (-not (Test-Path $script:histPath)) { return } $script:lastWrite = (Get-Item $script:histPath).LastWriteTimeUtc try { $lines = [System.IO.File]::ReadAllLines($script:histPath) } catch { $lines = @(Get-Content $script:histPath) } # Rebuild multiline commands: a trailing backtick means the command continues on the next line $i = 0 $n = $lines.Length while ($i -lt $n) { $raw = $lines[$i] $cmd = '' $cur = $lines[$i] while ($cur.EndsWith('`') -and ($i + 1) -lt $n) { $cmd += $cur.Substring(0, $cur.Length - 1) + "`n" $i++ $cur = $lines[$i] $raw += "`n" + $cur } $cmd = ($cmd + $cur).Trim() if ($cmd.Length -gt 0) { [void]$script:raws.Add([PSCustomObject]@{ Raw = $raw; Command = $cmd }) } $i++ } $map = @{} for ($k = 0; $k -lt $script:raws.Count; $k++) { $c = $script:raws[$k].Command $en = $map[$c] if ($null -eq $en) { $en = [PSCustomObject]@{ Command = $c; Count = 0; LastIndex = 0; Pinned = $script:pins.ContainsKey($c) } $map[$c] = $en [void]$script:entries.Add($en) } $en.Count = $en.Count + 1 $en.LastIndex = $k } } function Save-HistoryFile { try { $sb = New-Object System.Text.StringBuilder foreach ($r in $script:raws) { [void]$sb.Append($r.Raw).Append("`r`n") } $enc = New-Object System.Text.UTF8Encoding($false) [System.IO.File]::WriteAllText($script:histPath, $sb.ToString(), $enc) return $true } catch { [System.Windows.Forms.MessageBox]::Show("Could not write the history file:`r`n$($_.Exception.Message)", 'PSHistory', 'OK', 'Warning') | Out-Null return $false } } # ---------------- UI ---------------- $form = New-Object PSHistHotkeyForm $form.Text = 'PSHistory (script)' $form.Size = New-Object System.Drawing.Size(760, 640) $form.MinimumSize = New-Object System.Drawing.Size(480, 360) $form.StartPosition = 'CenterScreen' $form.KeyPreview = $true $form.TopMost = $true $form.ShowInTaskbar = $false $form.Icon = [System.Drawing.SystemIcons]::Application $topPanel = New-Object System.Windows.Forms.Panel $topPanel.Dock = 'Top' $topPanel.Height = 34 $topPanel.Padding = New-Object System.Windows.Forms.Padding(2) $junkBox = New-Object System.Windows.Forms.CheckBox $junkBox.Text = 'Hide junk (cls, dir, exit...)' $junkBox.Checked = $true $junkBox.AutoSize = $true $junkBox.Dock = 'Right' $junkBox.Padding = New-Object System.Windows.Forms.Padding(6, 4, 4, 0) $search = New-Object System.Windows.Forms.TextBox $search.Dock = 'Fill' $search.Font = New-Object System.Drawing.Font('Segoe UI', 11) $topPanel.Controls.Add($search) $topPanel.Controls.Add($junkBox) $list = New-Object System.Windows.Forms.ListBox $list.Dock = 'Fill' $list.Font = New-Object System.Drawing.Font('Consolas', 10) $list.HorizontalScrollbar = $true $list.IntegralHeight = $false $preview = New-Object System.Windows.Forms.TextBox $preview.Dock = 'Bottom' $preview.Height = 110 $preview.Multiline = $true $preview.ReadOnly = $true $preview.ScrollBars = 'Both' $preview.WordWrap = $false $preview.Font = New-Object System.Drawing.Font('Consolas', 10) $preview.BackColor = [System.Drawing.SystemColors]::Window $btnPanel = New-Object System.Windows.Forms.FlowLayoutPanel $btnPanel.Dock = 'Bottom' $btnPanel.Height = 40 $btnPanel.Padding = New-Object System.Windows.Forms.Padding(4) function New-Btn([string]$label) { $b = New-Object System.Windows.Forms.Button $b.Text = $label $b.AutoSize = $true $b.Font = New-Object System.Drawing.Font('Segoe UI', 9) return $b } $btnCopy = New-Btn 'Copy' $btnPin = New-Btn 'Pin / Unpin' $btnDelete = New-Btn 'Delete from history' $btnExport = New-Btn 'Export...' $btnStats = New-Btn 'Stats' $btnReload = New-Btn 'Reload' $btnPanel.Controls.AddRange(@($btnCopy, $btnPin, $btnDelete, $btnExport, $btnStats, $btnReload)) $form.Controls.Add($list) $form.Controls.Add($preview) $form.Controls.Add($btnPanel) $form.Controls.Add($topPanel) $notify = New-Object System.Windows.Forms.NotifyIcon $notify.Icon = [System.Drawing.SystemIcons]::Application $notify.Text = 'PSHistory (script) - Ctrl+Shift+H' $notify.Visible = $true $trayMenu = New-Object System.Windows.Forms.ContextMenuStrip [void]$trayMenu.Items.Add('Open PSHistory') [void]$trayMenu.Items.Add('Exit') $notify.ContextMenuStrip = $trayMenu # ---------------- Behavior ---------------- function Refresh-List { $q = $script:search.Text $items = @() foreach ($en in $script:entries) { if ($script:junkBox.Checked) { if (-not $en.Pinned) { if ($script:junk.ContainsKey($en.Command) -or $en.Command.Length -le 2) { continue } } } if ($q) { if ($en.Command.IndexOf($q, [System.StringComparison]::OrdinalIgnoreCase) -lt 0) { continue } } $items += $en } $pinnedPart = @($items | Where-Object { $_.Pinned } | Sort-Object LastIndex -Descending) $restPart = @($items | Where-Object { -not $_.Pinned } | Sort-Object LastIndex -Descending) $script:view = @($pinnedPart) + @($restPart) $script:list.BeginUpdate() $script:list.Items.Clear() foreach ($en in $script:view) { $p = ($en.Command -replace '\s+', ' ').Trim() if ($p.Length -gt 200) { $p = $p.Substring(0, 200) + '...' } $prefix = '' if ($en.Pinned) { $prefix += '[PIN] ' } if ($en.Count -gt 1) { $prefix += '[' + $en.Count + 'x] ' } [void]$script:list.Items.Add($prefix + $p) } $script:list.EndUpdate() if ($script:list.Items.Count -gt 0) { $script:list.SelectedIndex = 0 } elseif (-not (Test-Path $script:histPath)) { $script:preview.Text = "No PSReadLine history file found at:`r`n$($script:histPath)" } else { $script:preview.Text = '' } $script:form.Text = 'PSHistory (script) - {0:n0} shown / {1:n0} unique / {2:n0} total' -f $script:view.Count, $script:entries.Count, $script:raws.Count } function Get-Selected { $i = $script:list.SelectedIndex if ($i -ge 0 -and $i -lt $script:view.Count) { return $script:view[$i] } return $null } function Update-Preview { $en = Get-Selected if ($en) { $script:preview.Text = $en.Command.Replace("`n", "`r`n") } else { $script:preview.Text = '' } } function Use-Selected { $en = Get-Selected if (-not $en) { return } try { [System.Windows.Forms.Clipboard]::SetText($en.Command) } catch { } Hide-Form } function Toggle-Pin { $en = Get-Selected if (-not $en) { return } $en.Pinned = -not $en.Pinned if ($en.Pinned) { $script:pins[$en.Command] = $true } else { $script:pins.Remove($en.Command) } Save-Pins Refresh-List } function Delete-Selected { $en = Get-Selected if (-not $en) { return } if ($en.Count -gt 1) { $msg = "Remove all $($en.Count) occurrences of this command from the history file?" } else { $msg = 'Remove this command from the history file?' } $r = [System.Windows.Forms.MessageBox]::Show($msg, 'PSHistory', 'YesNo', 'Question') if ($r -ne 'Yes') { return } $cmd = $en.Command $keep = New-Object System.Collections.ArrayList foreach ($x in $script:raws) { if ($x.Command -ne $cmd) { [void]$keep.Add($x) } } $script:raws = $keep if (Save-HistoryFile) { $script:pins.Remove($cmd) Save-Pins } Load-History Refresh-List } function Export-View { if ($script:view.Count -eq 0) { return } $dlg = New-Object System.Windows.Forms.SaveFileDialog $dlg.Filter = 'PowerShell script (*.ps1)|*.ps1|Text file (*.txt)|*.txt' $dlg.FileName = 'history-export.ps1' if ($dlg.ShowDialog($script:form) -ne 'OK') { return } try { $sb = New-Object System.Text.StringBuilder foreach ($en in $script:view) { [void]$sb.Append($en.Command.Replace("`n", "`r`n")).Append("`r`n") } $enc = New-Object System.Text.UTF8Encoding($false) [System.IO.File]::WriteAllText($dlg.FileName, $sb.ToString(), $enc) } catch { [System.Windows.Forms.MessageBox]::Show("Export failed: $($_.Exception.Message)", 'PSHistory', 'OK', 'Warning') | Out-Null } } function Show-Stats { $sb = New-Object System.Text.StringBuilder [void]$sb.AppendLine(('Total commands typed : {0:n0}' -f $script:raws.Count)) [void]$sb.AppendLine(('Unique commands : {0:n0}' -f $script:entries.Count)) if (Test-Path $script:histPath) { $fi = Get-Item $script:histPath [void]$sb.AppendLine(('History file size : {0:n0} KB' -f [math]::Floor($fi.Length / 1024))) [void]$sb.AppendLine('History file : ' + $script:histPath) } [void]$sb.AppendLine('') [void]$sb.AppendLine('Top 10 most used:') $rank = 1 foreach ($en in @($script:entries | Sort-Object Count -Descending | Select-Object -First 10)) { $p = ($en.Command -replace '\s+', ' ').Trim() if ($p.Length -gt 80) { $p = $p.Substring(0, 80) + '...' } [void]$sb.AppendLine(('{0,2}. [{1}x] {2}' -f $rank, $en.Count, $p)) $rank++ } $f = New-Object System.Windows.Forms.Form $f.Text = 'PSHistory - Stats' $f.Size = New-Object System.Drawing.Size(680, 420) $f.StartPosition = 'CenterParent' $f.MinimizeBox = $false $f.MaximizeBox = $false $f.ShowInTaskbar = $false $f.Icon = [System.Drawing.SystemIcons]::Application $tb = New-Object System.Windows.Forms.TextBox $tb.Dock = 'Fill' $tb.Multiline = $true $tb.ReadOnly = $true $tb.ScrollBars = 'Both' $tb.WordWrap = $false $tb.Font = New-Object System.Drawing.Font('Consolas', 10) $tb.Text = $sb.ToString() $tb.BackColor = [System.Drawing.SystemColors]::Window $f.Controls.Add($tb) [void]$f.ShowDialog($script:form) } function Show-Form { $script:form.AllowShow = $true # Only re-parse the file if it changed since last load if ((Test-Path $script:histPath) -and ((Get-Item $script:histPath).LastWriteTimeUtc -ne $script:lastWrite)) { Load-History } Refresh-List $script:form.Show() $script:form.Activate() $script:search.SelectAll() $script:search.Focus() } function Hide-Form { $script:form.Hide() } function Exit-App { $script:reallyExit = $true $script:notify.Visible = $false $script:notify.Dispose() $script:form.Close() } # Events $form.add_HotkeyPressed({ if ($script:form.Visible) { Hide-Form } else { Show-Form } }) $form.add_FormClosing({ param($s, $e) if (-not $script:reallyExit) { $e.Cancel = $true; Hide-Form } }) $form.add_KeyDown({ param($s, $e) if ($e.KeyCode -eq 'Escape') { Hide-Form; $e.Handled = $true } }) $search.add_TextChanged({ Refresh-List }) $search.add_KeyDown({ param($s, $e) if ($e.KeyCode -eq 'Down') { $script:list.Focus(); $e.Handled = $true } elseif ($e.KeyCode -eq 'Enter') { Use-Selected; $e.Handled = $true; $e.SuppressKeyPress = $true } }) $junkBox.add_CheckedChanged({ Refresh-List }) $list.add_SelectedIndexChanged({ Update-Preview }) $list.add_KeyDown({ param($s, $e) if ($e.KeyCode -eq 'Enter') { Use-Selected; $e.Handled = $true; $e.SuppressKeyPress = $true } elseif ($e.KeyCode -eq 'Delete') { Delete-Selected; $e.Handled = $true } }) $list.add_DoubleClick({ Use-Selected }) $btnCopy.add_Click({ Use-Selected }) $btnPin.add_Click({ Toggle-Pin }) $btnDelete.add_Click({ Delete-Selected }) $btnExport.add_Click({ Export-View }) $btnStats.add_Click({ Show-Stats }) $btnReload.add_Click({ Load-History; Refresh-List }) $notify.add_DoubleClick({ Show-Form }) $trayMenu.Items[0].add_Click({ Show-Form }) $trayMenu.Items[1].add_Click({ Exit-App }) # ---------------- Startup ---------------- Load-Pins Load-History $form.InitHooks() Refresh-List $notify.ShowBalloonTip(3000, 'PSHistory', 'Running in the tray. Press Ctrl+Shift+H to open.', 'Info') [System.Windows.Forms.Application]::Run($form) $script:mutex.ReleaseMutex() ``` ## Running PSHistory Open Windows PowerShell and navigate to the folder where you saved the script. ``` cd "C:\Scripts\PSHistory" ``` Run the script: ``` .\PSHistory.ps1 ``` When the script starts, a notification should appear indicating that PSHistory is running in the Windows system tray. Press `Ctrl+Shift+H` to open it. Press the same shortcut again to hide the window. You can also open PSHistory by double-clicking its icon in the Windows system tray. Alternatively, right-click the tray icon and select **Open PSHistory**. ## If PowerShell Blocks the Script Depending on your PowerShell execution policy, Windows may prevent the script from running. View the execution policies currently applied to your system with: ``` Get-ExecutionPolicy -List ``` To temporarily allow the script to run in the current PowerShell session, use: ``` Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass ``` Then run PSHistory: ``` .\PSHistory.ps1 ``` The Process scope applies only to the current PowerShell session. Closing that PowerShell window removes the temporary execution-policy change. If Windows marked a downloaded copy of the script as originating from the internet, you can remove that mark with: ``` Unblock-File -Path ".\PSHistory.ps1" ``` > **Important:** Only unblock and run a script after reviewing its contents and confirming that you trust its source. ## Searching Your PowerShell History Start typing in the search box to filter your command history. Searches are not case-sensitive. For example, searching for `mailbox` could return commands such as: ``` Get-Mailbox -ResultSize Unlimited Get-MailboxPermission -Identity user@contoso.com Set-Mailbox -Identity user@contoso.com ``` Use the arrow keys to move through the results. Press Enter to copy the selected command to the Windows clipboard and hide PSHistory. You can then paste it into PowerShell, Windows Terminal, Visual Studio Code, or another editor. Double-clicking a command performs the same action. > **Important:** PSHistory copies the selected command to your clipboard. It does not automatically execute the command. ## Pinning Frequently Used Commands Select a command and click **Pin / Unpin** to pin it. Pinned commands appear at the top of the results, which is useful for commands you regularly reuse but do not want to save in a separate script. Pinned command information is stored in: ``` %APPDATA%\PSHistory\pins.json ``` Unpinning a command removes it from the pinned list but does not remove it from your PowerShell command history. ## Hiding Common Commands The **Hide junk** option filters out short or commonly used commands that may not be useful in search results, including: ``` cls, clear, exit, quit, dir, ls, pwd, cd, gci, history ``` Pinned commands remain visible even if they would normally be excluded by this filter. Clear the **Hide junk** checkbox to display all available history entries. ## Copying a Command Select a command and click **Copy** to copy it to the Windows clipboard. You can also double-click the command or select it and press Enter. After copying the command, PSHistory hides its window but continues running in the Windows system tray. ## Deleting Commands from Your History Select a command and click **Delete from history**, or press the Delete key while the command list is selected. If the command appears multiple times, PSHistory asks whether you want to remove all occurrences. Deleting a command updates the underlying PSReadLine history file. This cannot be undone unless you have a backup. Before removing entries, consider backing up your history: ``` Copy-Item ` -Path "$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt" ` -Destination "$env:USERPROFILE\Desktop\ConsoleHost_history_backup.txt" ``` It is also a good idea to close other PowerShell sessions first. Another session could write new commands to the history file while PSHistory is modifying it. ## Exporting Commands The **Export** button exports the commands currently displayed in the PSHistory window. Results can be saved as a PowerShell script using `.ps1` or as a standard text file using `.txt`. Because PSHistory exports the current view, you can search for a term first and export only the matching commands. For example, search for `ExchangeOnline` and save the results as: ``` exchange-commands.ps1 ``` Always review exported commands before running the resulting script. Command history may contain incomplete commands, commands that depend on previous session state, or commands intended to be run individually. ## Viewing Command Statistics Click **Stats** to view: - Total commands typed - Number of unique commands - History file size - History file location - Ten most frequently used commands This information can help identify commands that you use frequently enough to convert into functions, aliases, or reusable PowerShell scripts. ## Reloading the History File PSHistory checks whether the history file changed whenever its window is opened. You can also click **Reload** to immediately read the file again. This is useful after entering additional commands while PSHistory is running. ## Closing PSHistory Closing the PSHistory window hides it and leaves the script running in the Windows system tray. To exit completely: 1. Locate the PSHistory icon in the Windows system tray. 2. Right-click the icon. 3. Select **Exit**. The script includes a single-instance check. If PSHistory is already running and you launch it again, a message directs you to press `Ctrl+Shift+H` to open the existing instance. ## Starting PSHistory Automatically To start PSHistory when you sign in to Windows, create a shortcut in the Windows Startup folder. Press `Windows key + R`, enter the following command, and press Enter: ``` shell:startup ``` Create a shortcut with a target similar to: ``` powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Scripts\PSHistory\PSHistory.ps1" ``` Change the script path to match where you saved PSHistory.ps1\. The `-WindowStyle Hidden` argument prevents the PowerShell console window from remaining visible while the utility runs in the system tray. > **Security note:** Review your organization's security policies before configuring a script to run automatically or using an execution-policy bypass. ## Using PSHistory with PowerShell 7 PowerShell 7 may use a different PSReadLine history location than Windows PowerShell 5.1\. To determine the history file used by your current environment, run: ``` (Get-PSReadLineOption).HistorySavePath ``` The default history path in PSHistory is configured with: ``` $script:histPath = Join-Path $appData 'Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt' ``` To use the history path reported by the current PowerShell environment, replace that line with: ``` $script:histPath = (Get-PSReadLineOption).HistorySavePath ``` Run PSHistory from the PowerShell environment whose history you want to manage. ## Changing the Keyboard Shortcut The default shortcut is `Ctrl+Shift+H`. It is registered in the embedded C# section of the script: ``` RegisterHotKey(h, 1, 0x0002 | 0x0004, 0x48); ``` - `0x0002`: Control - `0x0004`: Shift - `0x48`: H Changing the shortcut requires updating the modifier values or virtual-key code. Make sure the new shortcut is not already registered by another application. ## Privacy and Security Considerations PSHistory processes the PowerShell command history stored locally on your computer. It does not intentionally upload your history or send it to an external service. PowerShell history can contain sensitive information, including: - Usernames and email addresses - Tenant names and internal server names - File paths and IP addresses - Administrative commands - Access tokens - Credentials, secrets, or API keys entered directly into commands - Information copied from production environments Avoid entering passwords, access tokens, client secrets, API keys, or other sensitive values directly into PowerShell commands. If sensitive information already exists in your history, consider removing it and rotating the affected credential. You can search for some potentially sensitive terms with: ``` Select-String ` -Path "$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt" ` -Pattern "password|secret|token|credential|apikey" ``` This can help identify entries that should be reviewed, but it cannot detect every type of sensitive information. ## Known Limitations - PSHistory is designed for Windows. - The default history path targets Windows PowerShell. - PowerShell 7 may use a different PSReadLine history location. - The script requires Windows Forms support. - Another application may already be using `Ctrl+Shift+H`. - Deleting a command removes every matching occurrence of the selected command. - Commands copied from history are not automatically validated. - Exported commands may not run correctly outside their original session. - Multiple open PowerShell sessions may write to the history file independently. - Commands executed with history saving disabled will not appear. - Commands used in noninteractive or remote sessions may be stored elsewhere or may not be stored at all. - The script manages only the history file associated with the configured path. ## Final Thoughts PowerShell history is useful for more than recalling the last few commands. Over time, it becomes a record of administrative work, troubleshooting steps, configuration changes, and commands that may be needed again. PSHistory makes that information easier to search and reuse without requiring a separate database, PowerShell module, or installation package. It can be especially useful for administrators, developers, help desk technicians, and anyone who regularly works from a PowerShell console. Once the script is running, press `Ctrl+Shift+H`, find the command you need, and press Enter to copy it. > **Disclaimer:** This script is provided as-is for informational and administrative use, without warranty of any kind. Review and test it in a safe environment before using it with important PowerShell history. You are responsible for any changes made to your files or system. ### How to Back Up and Restore Outlook Signatures with PowerShell URL: https://seanshares.com/automation/backup-restore-outlook-signatures-powershell/ Last updated: 2026-08-09T05:32:55.000Z ### Why Outlook Signatures Need to Be Backed Up Separately Outlook signatures can be overlooked during device migrations because they are stored differently from much of a user’s other Microsoft 365 data. Mailbox content synchronizes with Exchange Online, documents may be protected through OneDrive, and some settings can follow the user between devices. Classic Outlook signatures, however, are stored as local files within the user’s AppData folder. Because these signature files are stored locally, they may not be preserved when a computer is replaced, reimaged, or reset. Outlook can be reinstalled and the user’s mailbox can reconnect successfully while locally stored signatures remain on the previous Windows installation. The missing signature may not become apparent until the user begins composing a new message and notices that the expected name, title, contact information, formatting, or images are no longer available. This creates an important consideration for IT teams managing device refreshes and migrations. Signature files should be included in the migration process when locally stored Outlook signatures need to be retained. Otherwise, users may need to recreate them manually after moving to the new device. The underlying signature data is stored as a collection of files, which makes it relatively straightforward to preserve. This script automates the process by packaging the contents of the current user’s Outlook signature folder into a single portable ZIP archive. The archive can be created before a device is wiped or replaced and then used to restore the signatures afterward. This avoids the need to manually locate and copy files from a hidden folder within the user’s Windows profile. ### Prerequisites The script has only a few requirements: - Windows PowerShell 5.1, which is included with Windows 10 and Windows 11 - Classic Outlook for Windows, with at least one locally stored signature already created when performing a backup - No administrator rights are required because the script works only with files inside the current user’s Windows profile - No Microsoft Graph or Exchange Online PowerShell modules are required because the script does not connect to a Microsoft 365 tenant Because the script does not require elevated permissions or a connection to Microsoft 365, it can be provided directly to users as a self-service backup and restore utility before a scheduled device refresh. All files accessed by the script remain within the current user’s profile. ## The Script ``` <# .SYNOPSIS Backup-OutlookSignatures - GUI tool to back up and restore Outlook signatures. .DESCRIPTION Outlook email signatures live in a single per-user folder. This tool backs them up to a timestamped .zip (great before a PC refresh or migration) and restores them onto a new machine. Covers all signature components - HTML, RTF, plain text, and the images folder. Backup folder: %APPDATA%\Microsoft\Signatures No admin rights or modules required. .NOTES Run: right-click > Run with PowerShell. #> if ([System.Threading.Thread]::CurrentThread.ApartmentState -ne 'STA') { Start-Process powershell.exe -ArgumentList @('-NoProfile','-ExecutionPolicy','Bypass','-STA','-File',"`"$PSCommandPath`"") return } Add-Type -AssemblyName System.Windows.Forms; Add-Type -AssemblyName System.Drawing Add-Type -AssemblyName System.IO.Compression.FileSystem [System.Windows.Forms.Application]::EnableVisualStyles() $sigFolder=Join-Path $env:APPDATA 'Microsoft\Signatures' $desktop=[Environment]::GetFolderPath('Desktop') $form=New-Object System.Windows.Forms.Form $form.Text='Outlook Signature Backup & Restore'; $form.Size=New-Object System.Drawing.Size(560,420) $form.StartPosition='CenterScreen'; $form.FormBorderStyle='FixedSingle'; $form.MaximizeBox=$false $form.Font=New-Object System.Drawing.Font('Segoe UI',9) $lbl=New-Object System.Windows.Forms.Label; $lbl.Text='Outlook Signature Backup & Restore' $lbl.Font=New-Object System.Drawing.Font('Segoe UI',13,[System.Drawing.FontStyle]::Bold) $lbl.Location=New-Object System.Drawing.Point(15,12); $lbl.Size=New-Object System.Drawing.Size(520,28); $form.Controls.Add($lbl) $status=New-Object System.Windows.Forms.Label; $status.Location=New-Object System.Drawing.Point(15,44); $status.Size=New-Object System.Drawing.Size(525,22); $form.Controls.Add($status) $txt=New-Object System.Windows.Forms.TextBox; $txt.Multiline=$true; $txt.ScrollBars='Vertical'; $txt.ReadOnly=$true $txt.Location=New-Object System.Drawing.Point(15,74); $txt.Size=New-Object System.Drawing.Size(525,250) $txt.Font=New-Object System.Drawing.Font('Consolas',9); $txt.BackColor=[System.Drawing.Color]::White; $form.Controls.Add($txt) $btnBackup=New-Object System.Windows.Forms.Button; $btnBackup.Text='Back Up'; $btnBackup.Location=New-Object System.Drawing.Point(150,336); $btnBackup.Size=New-Object System.Drawing.Size(110,34) $btnBackup.BackColor=[System.Drawing.Color]::FromArgb(15,108,189); $btnBackup.ForeColor=[System.Drawing.Color]::White; $btnBackup.FlatStyle='Flat'; $form.Controls.Add($btnBackup) $btnRestore=New-Object System.Windows.Forms.Button; $btnRestore.Text='Restore...'; $btnRestore.Location=New-Object System.Drawing.Point(265,336); $btnRestore.Size=New-Object System.Drawing.Size(110,34); $btnRestore.FlatStyle='Flat'; $form.Controls.Add($btnRestore) $btnClose=New-Object System.Windows.Forms.Button; $btnClose.Text='Close'; $btnClose.Location=New-Object System.Drawing.Point(430,336); $btnClose.Size=New-Object System.Drawing.Size(100,34); $btnClose.FlatStyle='Flat' $btnClose.Add_Click({ $form.Close() }); $form.Controls.Add($btnClose) $Log={ param($m) $txt.AppendText($m+[Environment]::NewLine); [System.Windows.Forms.Application]::DoEvents() } if (Test-Path $sigFolder) { $n=(Get-ChildItem $sigFolder -Filter *.htm -ErrorAction SilentlyContinue).Count $status.ForeColor=[System.Drawing.Color]::FromArgb(0,110,0); $status.Text="Signatures folder found ($n HTML signature(s))." } else { $status.ForeColor=[System.Drawing.Color]::FromArgb(170,0,0); $status.Text='No signatures folder found - nothing to back up yet.'; $btnBackup.Enabled=$false } $btnBackup.Add_Click({ $btnBackup.Enabled=$false $zip=Join-Path $desktop "OutlookSignatures-$env:USERNAME-$(Get-Date -Format 'yyyyMMdd-HHmmss').zip" & $Log 'Backing up signatures...' try { if (Test-Path $zip) { Remove-Item $zip -Force } [System.IO.Compression.ZipFile]::CreateFromDirectory($sigFolder,$zip) & $Log " Saved: $zip" [System.Windows.Forms.MessageBox]::Show("Signatures backed up to your Desktop:`r`n$([System.IO.Path]::GetFileName($zip))",'Backup Complete','OK','Information')|Out-Null } catch { & $Log " Backup failed: $($_.Exception.Message)" } $btnBackup.Enabled=$true }) $btnRestore.Add_Click({ $dlg=New-Object System.Windows.Forms.OpenFileDialog; $dlg.Filter='Signature backup (*.zip)|*.zip'; $dlg.InitialDirectory=$desktop if ($dlg.ShowDialog() -ne 'OK') { return } $r=[System.Windows.Forms.MessageBox]::Show('This will merge the backup into your current signatures (existing files with the same name are overwritten). Continue?','Confirm Restore',[System.Windows.Forms.MessageBoxButtons]::YesNo,[System.Windows.Forms.MessageBoxIcon]::Question) if ($r -ne 'Yes') { return } & $Log 'Restoring signatures...' try { if (-not (Test-Path $sigFolder)) { New-Item -ItemType Directory -Path $sigFolder -Force | Out-Null } $tmp=Join-Path $env:TEMP ("sigrestore-"+[guid]::NewGuid()) [System.IO.Compression.ZipFile]::ExtractToDirectory($dlg.FileName,$tmp) Get-ChildItem -LiteralPath $tmp -Recurse -Force | Where-Object { -not $_.PSIsContainer } | ForEach-Object { $rel=$_.FullName.Substring($tmp.Length).TrimStart('\') $dest=Join-Path $sigFolder $rel $dd=Split-Path $dest -Parent; if (-not (Test-Path $dd)) { New-Item -ItemType Directory -Path $dd -Force | Out-Null } Copy-Item -LiteralPath $_.FullName -Destination $dest -Force } Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue & $Log ' Restore complete.' [System.Windows.Forms.MessageBox]::Show('Signatures restored. Restart Outlook to see them.','Restore Complete','OK','Information')|Out-Null } catch { & $Log " Restore failed: $($_.Exception.Message)" } }) [void]$form.ShowDialog(); $form.Dispose() ``` ## How It Works The first block checks whether the script is running on an STA thread. Windows Forms requires this to render a GUI, and PowerShell does not default to it, so the script relaunches itself with the **\-STA** flag when needed. This happens transparently; the window simply opens as expected rather than throwing a threading error. From there it builds a small form with a status label, a log box, and three buttons: **Back Up**, **Restore...**, and **Close**. On load, it checks whether the signatures folder exists and counts the HTML signature files inside it, giving an immediate read on whether there is anything worth backing up. The **Back Up** button zips the entire signatures folder using .NET's built-in compression class and writes the archive to the desktop with a timestamp embedded in the filename, for example `OutlookSignatures-jsmith-20260703-143012.zip`. That timestamp becomes relevant when comparing an older backup against a more recent one, or confirming which capture corresponds to which device state. The **Restore...** button opens a file picker, requires confirmation before proceeding since it will overwrite any file with a matching name, then extracts the archive into a temporary folder and copies its contents into the live signatures folder. Extracting through an intermediate temp directory rather than directly into the target folder avoids partial overwrites if the process is interrupted mid-extraction. ## Sample Output ![](https://seanshares.com/content/images/2026/08/image-2.png) Initial Load Screen ![](https://seanshares.com/content/images/2026/08/image-3.png) After pressing the Back Up button ![](https://seanshares.com/content/images/2026/08/image-4.png) When restoring previous backed up signatures ![](https://seanshares.com/content/images/2026/08/image-5.png) Restored ## Why Signature Data Stays Local The architectural reason signatures remain local rather than cloud-synced comes down to how Outlook has historically treated per-device rendering settings versus mailbox content. Signatures are inserted client-side at compose time, referencing local HTML, RTF, and plain-text files plus an associated images subfolder for embedded logos or headshots. Because insertion happens entirely within the desktop client rather than the server, there has never been a strict architectural requirement for the data to live anywhere other than the local machine. Newer sync mechanisms exist for signatures created through the Outlook web app or through centrally managed signature tools, which do store their data server-side. But the classic desktop Outlook signature, the kind created through File, Options, Mail, Signatures, remains local-only on most installations, which means the millions of desktop Outlook users relying on that path are all exposed to the same gap this script addresses. Organizations that manage signatures centrally, through a mail flow rule or a third-party signature management platform, sidestep this problem entirely, since the signature is applied server-side or injected at send time rather than stored per-device. For everyone else, backing up the local signature folder before a hardware transition remains the most direct way to prevent the data from being lost silently. ## Gotchas & Safety The restore path includes its own safeguard: a confirmation dialog before anything gets overwritten. Anyone adapting this into a scripted, non-interactive version for mass deployment should reintroduce an equivalent check before running it against a whole department. Testing on a spare machine or throwaway profile first is advisable, particularly before pushing the restore step out silently. Restoring merges files into the existing signatures folder rather than wiping it first, so anything with a different filename survives. Anything with the same filename is overwritten with no undo available. Because this runs entirely within the user's own profile, with no admin rights and no tenant connection, the blast radius is limited by design. The worst-case outcome is a bad restore overwriting a signature, not a mistake that reaches other users' mailboxes or a shared system resource. ## FAQ & Variations ### Can this run without the GUI? Yes. The backup half is effectively one line: `[System.IO.Compression.ZipFile]::CreateFromDirectory($sigFolder, $zip)`. Stripping out the Windows Forms code and wrapping that line in a scheduled task produces silent, automatic backups ahead of a device refresh. ### How should multiple users' signatures on a shared machine be backed up? Loop through each profile under `C:\Users` and point `$sigFolder` at `C:\Users\\AppData\Roaming\Microsoft\Signatures` for each one. Admin rights are required to read other users' profile folders, which is the one scenario where this script's "no admin required" property does not hold. ### Can backups be directed to OneDrive or a network share instead of the desktop? Yes; changing the `$desktop` variable to any target path is sufficient. Pointing it at a synced OneDrive folder means the archive survives even if the desktop itself is wiped during the refresh. ### Does this back up Outlook rules or mailbox settings too? No. This covers only the signature files: HTML, RTF, plain text, and the accompanying images folder. Rules and mailbox settings live in a separate part of the profile and would require a different script. **Disclaimer:** This script is provided as-is for informational and administrative use, without warranty of any kind. Review and test it in a non-production environment before use. You are responsible for any changes, results, data loss, or other consequences arising from its use. SeanShares is not affiliated with or endorsed by Microsoft. ### Find What Is Using OneDrive Storage with PowerShell URL: https://seanshares.com/automation/find-onedrive-storage-usage-powershell/ Last updated: 2026-08-09T05:14:56.000Z OneDrive storage issues often begin with a sync error or a notification that the user’s available storage is full. The first challenge is determining exactly what is consuming the space. Windows Storage settings can report overall usage for a drive, but they do not provide a detailed breakdown of OneDrive content. Searching for large files through File Explorer can also be slow and unreliable, particularly when the location of the user’s OneDrive root folder is not immediately clear. In many cases, most of the storage is being consumed by a relatively small number of files located in unexpected folders. These may include old videos, photo backups, installation files, or project archives that are no longer actively used. Finding them manually requires checking individual folder properties throughout what may be a deeply nested directory structure. A script that scans the complete OneDrive folder, calculates usage by top-level folder, and identifies the largest files provides a much faster and more consistent way to locate the primary sources of storage consumption. Known Folder Move adds another important consideration. When an organization redirects the Desktop, Documents, and Pictures folders to OneDrive, files that users consider local may actually be included in OneDrive’s synchronization scope. As a result, local storage habits can directly affect OneDrive capacity and synchronization. This report checks the redirection status of these folders, making it clear whether content stored in Desktop, Documents, or Pictures is being protected and synchronized through OneDrive. ## Prerequisites This script reads from folders that already exist on the local machine. - Windows PowerShell 5.1, included with Windows 10 and 11 - OneDrive installed and at least one OneDrive folder synced (personal, work/school, or both) - No admin rights required, since everything read here lives inside the current user's own profile - No PowerShell modules and no connection to your tenant The script discovers OneDrive folders automatically rather than requiring you to specify a path. It checks the `OneDrive`, `OneDriveCommercial`, and `OneDriveConsumer` environment variables, which Windows sets for personal and work/school accounts respectively, and also scans the user profile folder for anything matching the `OneDrive*` naming pattern as a fallback, so it works whether someone has one account synced or several. ## The Script ``` <# .SYNOPSIS Get-OneDriveStorageReport - GUI report of OneDrive folders and largest files. .DESCRIPTION Maps the local OneDrive (personal and Work/School) folders, totals their size, shows whether Known Folder Move is active (Desktop/Documents/Pictures redirected to OneDrive), and lists the 25 largest files. Helps users find what is eating their OneDrive storage. Read-only. Saves an HTML report to the Desktop. PowerShell 5.1+, no modules. .NOTES Run: right-click > Run with PowerShell. #> if ([System.Threading.Thread]::CurrentThread.ApartmentState -ne 'STA') { Start-Process powershell.exe -ArgumentList @('-NoProfile','-ExecutionPolicy','Bypass','-STA','-File',"`"$PSCommandPath`"") return } Add-Type -AssemblyName System.Windows.Forms; Add-Type -AssemblyName System.Drawing [System.Windows.Forms.Application]::EnableVisualStyles() $desktop=[Environment]::GetFolderPath('Desktop') $reportPath=Join-Path $desktop ("OneDriveStorage-$env:USERNAME-$(Get-Date -Format 'yyyyMMdd-HHmmss').html") function Enc { param($s) if($null -eq $s){return ''}; return [System.Security.SecurityElement]::Escape([string]$s) } # Discover OneDrive roots from environment + known folders. $roots=@() if ($env:OneDrive) { $roots+=$env:OneDrive } if ($env:OneDriveCommercial) { $roots+=$env:OneDriveCommercial } if ($env:OneDriveConsumer) { $roots+=$env:OneDriveConsumer } Get-ChildItem $env:USERPROFILE -Directory -Filter 'OneDrive*' -ErrorAction SilentlyContinue | ForEach-Object { $roots+=$_.FullName } $roots = @($roots | Where-Object { $_ -and (Test-Path -LiteralPath $_) } | Select-Object -Unique) $form=New-Object System.Windows.Forms.Form $form.Text='OneDrive Storage Report'; $form.Size=New-Object System.Drawing.Size(560,420) $form.StartPosition='CenterScreen'; $form.FormBorderStyle='FixedSingle'; $form.MaximizeBox=$false $form.Font=New-Object System.Drawing.Font('Segoe UI',9) $lbl=New-Object System.Windows.Forms.Label; $lbl.Text='OneDrive Storage Report' $lbl.Font=New-Object System.Drawing.Font('Segoe UI',13,[System.Drawing.FontStyle]::Bold) $lbl.Location=New-Object System.Drawing.Point(15,12); $lbl.Size=New-Object System.Drawing.Size(520,28); $form.Controls.Add($lbl) $txt=New-Object System.Windows.Forms.TextBox; $txt.Multiline=$true; $txt.ScrollBars='Vertical'; $txt.ReadOnly=$true $txt.Location=New-Object System.Drawing.Point(15,52); $txt.Size=New-Object System.Drawing.Size(525,270) $txt.Font=New-Object System.Drawing.Font('Consolas',9); $txt.BackColor=[System.Drawing.Color]::White; $form.Controls.Add($txt) $btnGo=New-Object System.Windows.Forms.Button; $btnGo.Text='Generate Report'; $btnGo.Location=New-Object System.Drawing.Point(200,336); $btnGo.Size=New-Object System.Drawing.Size(120,34) $btnGo.BackColor=[System.Drawing.Color]::FromArgb(15,108,189); $btnGo.ForeColor=[System.Drawing.Color]::White; $btnGo.FlatStyle='Flat'; $form.Controls.Add($btnGo) $btnOpen=New-Object System.Windows.Forms.Button; $btnOpen.Text='Open Report'; $btnOpen.Location=New-Object System.Drawing.Point(325,336); $btnOpen.Size=New-Object System.Drawing.Size(110,34); $btnOpen.FlatStyle='Flat'; $btnOpen.Enabled=$false $btnOpen.Add_Click({ Start-Process $reportPath }); $form.Controls.Add($btnOpen) $btnClose=New-Object System.Windows.Forms.Button; $btnClose.Text='Close'; $btnClose.Location=New-Object System.Drawing.Point(440,336); $btnClose.Size=New-Object System.Drawing.Size(100,34); $btnClose.FlatStyle='Flat' $btnClose.Add_Click({ $form.Close() }); $form.Controls.Add($btnClose) $Log={ param($m) $txt.AppendText($m+[Environment]::NewLine); [System.Windows.Forms.Application]::DoEvents() } $btnGo.Add_Click({ $btnGo.Enabled=$false; $txt.Clear() if ($roots.Count -eq 0) { & $Log 'No OneDrive folders found for this user.'; [System.Windows.Forms.MessageBox]::Show('No OneDrive folders were found.','OneDrive','OK','Information')|Out-Null; $btnGo.Enabled=$true; return } $html=@" OneDrive Storage Report

OneDrive Storage Report

User: $env:USERNAME | Generated: $(Get-Date)
"@ foreach ($root in $roots) { & $Log "Scanning $root ..." $all=Get-ChildItem -LiteralPath $root -Recurse -Force -File -ErrorAction SilentlyContinue $tot=($all | Measure-Object Length -Sum).Sum $html+="

$(Enc $root)

" $html+="

Total: $([math]::Round($tot/1GB,2)) GB in $($all.Count) files

" # Top-level folders $html+='' Get-ChildItem -LiteralPath $root -Directory -Force -ErrorAction SilentlyContinue | ForEach-Object { $s=(Get-ChildItem -LiteralPath $_.FullName -Recurse -Force -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum [pscustomobject]@{ Name=$_.Name; GB=[math]::Round(($s/1GB),2) } } | Sort-Object GB -Descending | ForEach-Object { $html+="" } $html+='
Top-level folderSize (GB)
$(Enc $_.Name)$($_.GB)
' # Largest files $html+='

25 largest files

' $all | Sort-Object Length -Descending | Select-Object -First 25 | ForEach-Object { $html+="" } $html+='
FileSize (MB)Folder
$(Enc $_.Name)$([math]::Round($_.Length/1MB,1))$(Enc $_.DirectoryName)
' } # Known Folder Move status & $Log 'Checking Known Folder Move...' $html+='

Known Folder Move (redirection to OneDrive)

' $kf=@{Desktop=[Environment]::GetFolderPath('Desktop');Documents=[Environment]::GetFolderPath('MyDocuments');Pictures=[Environment]::GetFolderPath('MyPictures')} foreach ($k in $kf.Keys) { $inOd=($kf[$k] -like '*OneDrive*'); $html+="" } $html+='
FolderPathIn OneDrive?
$k$(Enc $kf[$k])$(if($inOd){'Yes'}else{'No'})
' $html | Out-File -FilePath $reportPath -Encoding UTF8 & $Log ''; & $Log "Report saved to Desktop: $([System.IO.Path]::GetFileName($reportPath))" $btnOpen.Enabled=$true; $btnGo.Enabled=$true }) [void]$form.ShowDialog(); $form.Dispose() ``` ## How It Works Discovery happens before the GUI even opens. The script builds a list of candidate OneDrive roots from environment variables first, then supplements that with a directory scan, and finally filters down to only the paths that actually exist and de-duplicates the list. This matters because a machine with both a personal and a work/school OneDrive account will have two completely separate sync folders, often named something like `OneDrive` and `OneDrive - Company Name`, and the report needs to handle both without the user having to tell it where to look. For each discovered root, the script does a full recursive file enumeration with **Get-ChildItem -Recurse -Force -File**, which is the one part of this script that can take a noticeable amount of time on a OneDrive folder with tens of thousands of files. The `-Force` flag matters here because OneDrive placeholder files (the "files on demand" feature, where a file shows as available but is not actually downloaded locally) still need to be counted by their reported size even though their content is not physically present on disk. From that full file list, the script builds two views. The first is a per-top-level-folder size breakdown, calculated by running a second recursive size calculation scoped to just each folder directly under the OneDrive root, then sorting descending so the biggest folders show up first. The second is a simple top-25 list of the largest individual files across the entire OneDrive root, sorted by size, which is usually where the real "aha" moment happens when someone finds the one video or archive file responsible for half their usage. The Known Folder Move check at the end is a straightforward comparison: it reads the actual current paths for Desktop, Documents, and Pictures using **\[Environment\]::GetFolderPath**, which returns wherever Windows currently has those folders pointed, and checks whether the string "OneDrive" appears in each path. If redirection is active, these folders will resolve to somewhere inside the OneDrive tree instead of the traditional `C:\Users\username\Desktop` location, and the report flags this clearly so there is no confusion about whether "my Desktop files" and "my OneDrive files" are the same thing on this particular machine. ## Sample Output ![](https://seanshares.com/content/images/2026/08/image.png) After pressing the Generate Report button ![](https://seanshares.com/content/images/2026/08/image-1.png) The report generated can be viewed by clicking Open Report button ## Why Known Folder Move Can Complicate OneDrive Troubleshooting Known Folder Move often causes confusion because its effect is largely transparent to the user. When an organization enables it, Windows redirects the Desktop, Documents, and Pictures folders from their traditional local locations to corresponding folders within OneDrive. The user experience remains largely unchanged. Desktop icons stay in place, files open normally, and everyday workflows continue as before. The important difference is that content stored in those redirected folders becomes part of the user’s OneDrive synchronization scope and contributes to OneDrive storage usage. A user may reach the storage limit without intentionally saving files directly to OneDrive because existing desktop content, documents, and pictures may already be synchronized. This can also explain sync errors involving files that the user has not recently opened or modified. When the Desktop folder is redirected, for example, files stored there are managed as OneDrive content rather than as local-only files. Confirming whether Known Folder Move is active is therefore an important part of investigating OneDrive storage problems. If the folders are redirected, removing unnecessary files from Desktop, Documents, or Pictures can reduce OneDrive usage. If they are not redirected, content in those local folders does not contribute to the user’s OneDrive storage, and the investigation can focus on files stored within the OneDrive folder structure. This report checks the redirection status of Desktop, Documents, and Pictures directly. That provides a clear view of which folders are included in OneDrive synchronization without requiring an administrator to inspect each folder location manually. ## Gotchas & Safety The script reads folder sizes and file properties, then writes an HTML report. The most it does is trigger OneDrive to resolve some file metadata during enumeration, which is a normal read operation and not something that changes sync state. The one performance note worth knowing ahead of time: on a OneDrive folder with a very large number of files, particularly if many are cloud-only placeholder files that OneDrive needs to fetch metadata for, the scan can take a noticeable amount of time, sometimes a minute or more on a heavily used account. This is normal and not a sign anything is stuck. The log window updates as each root folder starts and finishes scanning, so there is visible progress rather than a frozen-looking window. Test this on your own machine first before handing it out broadly, particularly to see how long the scan takes against a typical user's OneDrive size in your organization, since that gives you a realistic expectation to set when you hand this to end users. ## Why Not Just Use Windows Storage Settings? Settings, System, Storage does give you a "OneDrive" category with a total size, and on newer Windows builds it will even let you drill in somewhat. The gap is that it groups by broad category rather than by your actual folder structure, and it does not give you a ranked list of your specific largest files with their names and locations. When the goal is "what folder or file should I clean up," a category total does not answer the question. This report is built specifically to answer it: which top-level folder is the heaviest, and which individual files are actually worth deleting or moving. ## FAQ & Variations ### Does this download cloud-only files to check their size? No. OneDrive reports the correct file size for cloud-only placeholder files without needing to download their content, so this script sees accurate sizes across the board regardless of which files are actually stored locally versus available on demand. ### How do I scope this to just one OneDrive account if I have two synced? The report already runs against every discovered root and labels each section with its folder path, so if you have both a personal and work/school account synced, you will see two separate sections in the same report. If you specifically want to check just one, you could hardcode the `$roots` array to a single path instead of relying on auto-discovery. ### Why does the top-level folder breakdown not match the file system's own folder sizes exactly? It should match closely, but small differences can appear if files are being actively synced or modified during the scan, since the script takes two separate passes (one for the full file list, one for per-folder sizes) a few moments apart. For a stable snapshot, close OneDrive sync activity before running the report, though this is rarely necessary in practice. ### Can I have this alert me automatically when OneDrive usage crosses a threshold? Yes, with some rework. Strip out the Windows Forms interface, keep the collection and sizing logic, and add a check comparing the total against a threshold you define, then trigger a notification or email if it is exceeded. This would turn the script from an on-demand report into a proactive storage monitor you could run on a schedule. ### Does this affect OneDrive's Files On-Demand settings? No. This script only reads file and folder metadata. It does not change which files are set to always be available locally, does not pin or unpin anything, and does not touch OneDrive's sync configuration. **Disclaimer:** This script is provided as-is for informational and administrative use, without warranty of any kind. Review and test it in a non-production environment before use. You are responsible for any changes, results, data loss, or other consequences arising from its use. SeanShares is not affiliated with or endorsed by Microsoft. ### How to Clear the Microsoft Teams Cache on Windows with PowerShell URL: https://seanshares.com/automation/clear-microsoft-teams-cache-script/ Last updated: 2026-08-09T05:15:18.000Z Teams cache problems show up in a predictable pattern: the app gets slow, chat messages stop loading, the app freezes on the splash screen, or notifications stop coming through even though everything looks fine on the server side. This is one of the more common categories of Teams support tickets, and also one of the most consistently misdiagnosed. People assume a real outage or a network problem before anyone checks the one thing that is actually responsible: a bloated or corrupted local cache. The pattern tends to cluster around a specific trigger: weeks of back-to-back meetings pile up chat history, meeting artifacts, and call logs in the local cache without it ever getting cleared, and Teams eventually chokes trying to load all of it at launch. Clearing that cache resolves the large majority of these tickets in under ten seconds, without a reinstall, a support escalation, or any real troubleshooting beyond running the right cleanup. The complication is that Microsoft has been running two versions of Teams in parallel for a while now: Classic Teams, an Electron app that stores its cache under `%APPDATA%\Microsoft\Teams`, and New Teams, an MSIX-packaged app that stores its cache in a completely different location under `%LOCALAPPDATA%\Packages`. A script that only knows how to clear one of them is only half useful in an organization that is mid-migration between the two, which is most organizations right now. So this version detects and handles both. ## Prerequisites - Windows PowerShell 5.1, built into Windows 10 and 11 - Microsoft Teams installed, either Classic or New (or both, during a migration window) - No admin rights required, since both cache locations live in the current user's profile - No PowerShell modules and no tenant connection The one soft dependency is **Get-AppxPackage**, which the script uses to look up New Teams and relaunch it afterward. This cmdlet ships with Windows by default, so there is nothing extra to install, but it is worth knowing it is there if you are trimming this script down for a locked-down environment where AppX cmdlets have been restricted. ## The Script ``` <# .SYNOPSIS Clear-TeamsCache - A lightweight GUI tool to clear the Microsoft Teams cache. .DESCRIPTION Safely clears the local cache for Microsoft Teams. Supports both: - Classic Teams (%APPDATA%\Microsoft\Teams) - New Teams (MSIX/Store) (%LOCALAPPDATA%\Packages\MSTeams_8wekyb3d8bbwe\LocalCache) The script auto-detects which version(s) are present, closes Teams, deletes only cache/temp folders (settings & sign-in are preserved where possible), and can optionally relaunch Teams afterward. No admin rights or external modules required - uses only built-in Windows Forms. Safe to send directly to an end user to double-click/run. .NOTES Run with: Right-click > "Run with PowerShell" or: powershell -ExecutionPolicy Bypass -File .\Clear-TeamsCache.ps1 #> #------------------------------------------------------------------------------ # Make sure we're running in STA mode (required for Windows Forms). # If not, relaunch ourselves in STA. #------------------------------------------------------------------------------ if ([System.Threading.Thread]::CurrentThread.ApartmentState -ne 'STA') { Start-Process powershell.exe -ArgumentList @( '-NoProfile', '-ExecutionPolicy', 'Bypass', '-STA', '-File', "`"$PSCommandPath`"" ) return } Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing [System.Windows.Forms.Application]::EnableVisualStyles() #------------------------------------------------------------------------------ # Teams definitions #------------------------------------------------------------------------------- # Classic Teams: clear these subfolders inside %APPDATA%\Microsoft\Teams. # We intentionally do NOT delete the whole folder so that settings survive. $classicRoot = Join-Path $env:APPDATA 'Microsoft\Teams' $classicSubFolders = @( 'Cache', 'blob_storage', 'databases', 'GPUCache', 'IndexedDB', 'Local Storage', 'tmp', 'Code Cache', 'Service Worker\CacheStorage', 'Application Cache', 'Network' ) # New Teams (MSIX): the entire LocalCache folder under the package is safe to clear. $newTeamsPackage = 'MSTeams_8wekyb3d8bbwe' $newTeamsRoot = Join-Path $env:LOCALAPPDATA "Packages\$newTeamsPackage\LocalCache" # Process names to stop before clearing. $teamsProcessNames = @('Teams', 'ms-teams', 'msteams') #------------------------------------------------------------------------------- # Helper functions #------------------------------------------------------------------------------- function Test-ClassicTeams { Test-Path -LiteralPath $classicRoot } function Test-NewTeams { Test-Path -LiteralPath $newTeamsRoot } function Get-FolderSizeMB { param([string]$Path) if (-not (Test-Path -LiteralPath $Path)) { return 0 } try { $bytes = (Get-ChildItem -LiteralPath $Path -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum if (-not $bytes) { return 0 } return [math]::Round($bytes / 1MB, 1) } catch { return 0 } } function Stop-Teams { param([scriptblock]$Log) $stopped = $false foreach ($name in $teamsProcessNames) { $procs = Get-Process -Name $name -ErrorAction SilentlyContinue if ($procs) { & $Log "Closing $name ($($procs.Count) process(es))..." $procs | Stop-Process -Force -ErrorAction SilentlyContinue $stopped = $true } } if ($stopped) { Start-Sleep -Seconds 3 } return $stopped } function Remove-FolderContents { param([string]$Path, [scriptblock]$Log) if (-not (Test-Path -LiteralPath $Path)) { return } try { Get-ChildItem -LiteralPath $Path -Force -ErrorAction SilentlyContinue | ForEach-Object { try { Remove-Item -LiteralPath $_.FullName -Recurse -Force -ErrorAction Stop } catch { & $Log " Skipped (in use): $($_.Name)" } } } catch { & $Log " Could not access: $Path" } } function Get-NewTeamsAumid { # Returns the Application User Model ID used to relaunch New Teams, if installed. try { $pkg = Get-AppxPackage -Name 'MSTeams' -ErrorAction SilentlyContinue if ($pkg) { $app = Get-AppxPackageManifest $pkg -ErrorAction SilentlyContinue $appId = @($app.Package.Applications.Application)[0].Id if ($appId) { return "$($pkg.PackageFamilyName)!$appId" } } } catch {} return $null } function Start-Teams { param([scriptblock]$Log) # Prefer New Teams if present. $aumid = Get-NewTeamsAumid if ($aumid) { try { Start-Process "shell:AppsFolder\$aumid" -ErrorAction Stop & $Log 'Relaunched New Teams.' return } catch {} } # Fall back to Classic Teams. $classicExe = Join-Path $env:LOCALAPPDATA 'Microsoft\Teams\Update.exe' if (Test-Path -LiteralPath $classicExe) { try { Start-Process $classicExe -ArgumentList '--processStart','Teams.exe' -ErrorAction Stop & $Log 'Relaunched Classic Teams.' return } catch {} } & $Log 'Could not auto-launch Teams - please start it manually.' } #------------------------------------------------------------------------------- # Build the GUI #------------------------------------------------------------------------------- $form = New-Object System.Windows.Forms.Form $form.Text = 'Teams Cache Cleaner' $form.Size = New-Object System.Drawing.Size(540, 460) $form.StartPosition = 'CenterScreen' $form.FormBorderStyle = 'FixedSingle' $form.MaximizeBox = $false $form.Font = New-Object System.Drawing.Font('Segoe UI', 9) # --- Header --- $lblHeader = New-Object System.Windows.Forms.Label $lblHeader.Text = 'Microsoft Teams Cache Cleaner' $lblHeader.Font = New-Object System.Drawing.Font('Segoe UI', 13, [System.Drawing.FontStyle]::Bold) $lblHeader.Location = New-Object System.Drawing.Point(15, 12) $lblHeader.Size = New-Object System.Drawing.Size(500, 28) $form.Controls.Add($lblHeader) # --- Detection status --- $lblStatus = New-Object System.Windows.Forms.Label $lblStatus.Location = New-Object System.Drawing.Point(15, 44) $lblStatus.Size = New-Object System.Drawing.Size(500, 40) $form.Controls.Add($lblStatus) # --- Options --- $chkClose = New-Object System.Windows.Forms.CheckBox $chkClose.Text = 'Close Teams before clearing (recommended)' $chkClose.Location = New-Object System.Drawing.Point(15, 88) $chkClose.Size = New-Object System.Drawing.Size(500, 22) $chkClose.Checked = $true $form.Controls.Add($chkClose) $chkRestart = New-Object System.Windows.Forms.CheckBox $chkRestart.Text = 'Restart Teams when finished' $chkRestart.Location = New-Object System.Drawing.Point(15, 112) $chkRestart.Size = New-Object System.Drawing.Size(500, 22) $chkRestart.Checked = $true $form.Controls.Add($chkRestart) # --- Log box --- $txtLog = New-Object System.Windows.Forms.TextBox $txtLog.Multiline = $true $txtLog.ScrollBars = 'Vertical' $txtLog.ReadOnly = $true $txtLog.Location = New-Object System.Drawing.Point(15, 144) $txtLog.Size = New-Object System.Drawing.Size(500, 200) $txtLog.BackColor = [System.Drawing.Color]::White $txtLog.Font = New-Object System.Drawing.Font('Consolas', 9) $form.Controls.Add($txtLog) # --- Progress bar --- $progress = New-Object System.Windows.Forms.ProgressBar $progress.Location = New-Object System.Drawing.Point(15, 352) $progress.Size = New-Object System.Drawing.Size(500, 18) $progress.Style = 'Continuous' $form.Controls.Add($progress) # --- Buttons --- $btnClear = New-Object System.Windows.Forms.Button $btnClear.Text = 'Clear Cache' $btnClear.Location = New-Object System.Drawing.Point(300, 380) $btnClear.Size = New-Object System.Drawing.Size(105, 34) $btnClear.BackColor = [System.Drawing.Color]::FromArgb(98, 100, 167) $btnClear.ForeColor = [System.Drawing.Color]::White $btnClear.FlatStyle = 'Flat' $form.Controls.Add($btnClear) $btnClose = New-Object System.Windows.Forms.Button $btnClose.Text = 'Close' $btnClose.Location = New-Object System.Drawing.Point(410, 380) $btnClose.Size = New-Object System.Drawing.Size(105, 34) $btnClose.FlatStyle = 'Flat' $btnClose.Add_Click({ $form.Close() }) $form.Controls.Add($btnClose) #------------------------------------------------------------------------------- # Logging helper bound to the GUI #------------------------------------------------------------------------------- $script:Log = { param([string]$msg) $txtLog.AppendText(("{0} {1}{2}" -f (Get-Date -Format 'HH:mm:ss'), $msg, [Environment]::NewLine)) [System.Windows.Forms.Application]::DoEvents() } #------------------------------------------------------------------------------- # Detection on startup #------------------------------------------------------------------------------- function Update-Detection { $hasClassic = Test-ClassicTeams $hasNew = Test-NewTeams $parts = @() if ($hasClassic) { $parts += "Classic Teams ($(Get-FolderSizeMB $classicRoot) MB)" } if ($hasNew) { $parts += "New Teams ($(Get-FolderSizeMB $newTeamsRoot) MB)" } if ($parts.Count -gt 0) { $lblStatus.ForeColor = [System.Drawing.Color]::FromArgb(0, 110, 0) $lblStatus.Text = 'Detected: ' + ($parts -join ' | ') $btnClear.Enabled = $true } else { $lblStatus.ForeColor = [System.Drawing.Color]::FromArgb(170, 0, 0) $lblStatus.Text = 'No Teams cache folders found for the current user.' $btnClear.Enabled = $false } return @{ Classic = $hasClassic; New = $hasNew } } $detected = Update-Detection #------------------------------------------------------------------------------- # Clear action #------------------------------------------------------------------------------- $btnClear.Add_Click({ $btnClear.Text = 'Working...' $btnClear.Enabled = $false $progress.Value = 0 $txtLog.Clear() $det = @{ Classic = (Test-ClassicTeams); New = (Test-NewTeams) } & $script:Log 'Starting cache cleanup...' # 1. Close Teams if ($chkClose.Checked) { $progress.Value = 10 if (-not (Stop-Teams -Log $script:Log)) { & $script:Log 'Teams was not running.' } } else { & $script:Log 'WARNING: Clearing while Teams is open may skip in-use files.' } $progress.Value = 25 # 2. Classic Teams if ($det.Classic) { & $script:Log 'Clearing Classic Teams cache...' $step = [math]::Floor(40 / [math]::Max($classicSubFolders.Count,1)) foreach ($sub in $classicSubFolders) { $path = Join-Path $classicRoot $sub if (Test-Path -LiteralPath $path) { & $script:Log " Clearing $sub" Remove-FolderContents -Path $path -Log $script:Log } $progress.Value = [math]::Min($progress.Value + $step, 65) } & $script:Log 'Classic Teams cache cleared.' } $progress.Value = 70 # 3. New Teams if ($det.New) { & $script:Log 'Clearing New Teams cache...' Remove-FolderContents -Path $newTeamsRoot -Log $script:Log & $script:Log 'New Teams cache cleared.' } $progress.Value = 90 # 4. Restart if ($chkRestart.Checked) { & $script:Log 'Restarting Teams...' Start-Teams -Log $script:Log } $progress.Value = 100 & $script:Log 'Done! Cache cleanup complete.' Update-Detection | Out-Null [System.Windows.Forms.MessageBox]::Show( 'Teams cache cleared successfully.', 'Complete', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information) | Out-Null $btnClear.Text = 'Clear Cache' $btnClear.Enabled = $true }) #------------------------------------------------------------------------------- # Show the form #------------------------------------------------------------------------------- [void]$form.ShowDialog() $form.Dispose() ``` ## How It Works The script opens by defining what "cache" means for each Teams version, and this distinction matters more than it looks. For Classic Teams, it does not delete the entire `Microsoft\Teams` folder. Instead it targets a specific list of subfolders: `Cache`, `blob_storage`, `databases`, `GPUCache`, `IndexedDB`, `Local Storage`, `tmp`, `Code Cache`, the Service Worker cache storage folder, `Application Cache`, and `Network`. These are all Chromium/Electron cache mechanisms, the same kind of local storage a browser keeps. Deleting only these and leaving the rest of the Teams folder alone means sign-in tokens and app settings survive the cleanup, so the user does not have to log back in afterward. New Teams gets simpler treatment. Because it is an MSIX app, its entire `LocalCache` folder under the package directory is safe to clear as a unit, since MSIX apps are designed to rebuild their local cache from scratch without losing account state, which lives elsewhere in the package's protected storage. Before touching either cache, the **Stop-Teams** function looks for running processes named Teams, ms-teams, or msteams and force-stops them, then pauses three seconds. This is the same pattern used in the other cache-clearing scripts in this series: you cannot delete a file a running process has open, so closing the app first avoids a pile of "skipped, in use" messages. The detection logic runs both at startup and again right before clearing, through the **Update-Detection** function. It checks whether each Teams version's root folder exists and reports the size of what it found, which is what populates the status line at the top of the window: "Detected: Classic Teams (340 MB) | New Teams (128 MB)" or similar. This detection step means the tool never tries to clear a cache that is not there, and it tells you up front roughly how much you are about to reclaim. The most interesting piece is **Get-NewTeamsAumid**, which figures out the Application User Model ID needed to relaunch New Teams from a script, since New Teams does not have a simple .exe you can call the way Classic Teams does. It looks up the installed AppX package, reads its manifest, and builds an AUMID string in the form `PackageFamilyName!AppId`. If that lookup fails for any reason, wrapped safely in a try/catch, the script falls back to trying the Classic Teams launcher instead, and if that also fails, it tells the user to start Teams manually rather than leaving them wondering why nothing happened. ## Sample Output ![](https://seanshares.com/content/images/2026/07/image.png) ![](https://seanshares.com/content/images/2026/07/image-1.png) ![](https://seanshares.com/content/images/2026/07/image-2.png) ## Gotchas & Safety Check the detection status line, which shows you exactly what was found and how large it is before you click **Clear Cache**. If the status says nothing was detected, the button is disabled and there is nothing to accidentally clear. Test this against both Classic and New Teams in a dev environment before rolling it out broadly, especially if your organization is mid-migration between the two. Microsoft has changed the New Teams cache folder location before during the MSIX transition, and if your users are on an older or newer build than what this script expects, the `LocalCache` path may not match. Confirm the path on a representative machine first. The restart step is opt-in through the **Restart Teams when finished** checkbox, checked by default. If you are running this against a machine remotely or in an unattended context, consider unchecking the corresponding logic so Teams does not pop back up unexpectedly in front of a user who was not expecting it. Because Classic Teams' cache clearing deliberately excludes the folders holding sign-in tokens and settings, users should not need to sign back in after this runs. If you do see a forced re-authentication, that is a sign something outside the expected cache subfolders was cleared, and it is worth double-checking the subfolder list against what is on disk before running this more broadly. ## FAQ & Variations ### Will this sign me out of Teams? The script only clears cache and temporary data folders, not the folders holding authentication tokens or your account settings. You should see Teams reload your chats and channels from the server the same way it would after a normal restart. However, it may ask you to pick your account again when you start Teams up again. ### How do I scope this to only clear New Teams, or only Classic? Comment out the block you do not want. The script structure keeps Classic and New Teams handling in clearly separate sections gated by `$det.Classic` and `$det.New`, so removing one path is a matter of deleting or commenting out the relevant `if` block rather than rewriting anything. ### My organization is still on Classic Teams. Do I need the New Teams code at all? You can leave it in without any downside. The detection logic checks whether the New Teams folder exists before doing anything with it, so on a machine that only has Classic Teams installed, that entire section is a no-op. There is no harm in keeping both paths in case your organization migrates later. ### Can I run this without closing Teams first? Uncheck **Close Teams before clearing**, though the script will warn you that files currently open by Teams will be skipped rather than deleted. In practice this means you get a partial cleanup, which defeats a lot of the purpose. Leave this checked unless there is a specific reason not to. ### How do I add this to a logon script for a whole department? Strip out the Windows Forms interface and keep the detection and clearing functions, then wrap the core logic in a script that runs the clear silently and logs to a file instead of a GUI text box. Just be careful about the process kill step landing during active meetings. Trigger this at logon rather than mid-session, so nobody gets bumped out of an active Teams call. ### Does this affect meeting recordings or files shared in chat? No. Recordings and shared files live in OneDrive, SharePoint, or Stream, not in the local Teams cache. Clearing the cache only affects locally stored temporary data used to speed up the app, not anything stored in the cloud. **Disclaimer:** This script is provided as-is for informational and administrative use, without warranty of any kind. Review and test it in a non-production environment before use. You are responsible for any changes, results, data loss, or other consequences arising from its use. SeanShares is not affiliated with or endorsed by Microsoft. ### Microsoft Teams AI Policy: How to Control Voice Enrollment, Speaker Attribution, and Copilot Meeting Features URL: https://seanshares.com/microsoft-teams-ai-policy-guide/ Last updated: 2026-08-09T05:39:55.000Z A lot of the AI-powered meeting features in Teams that users notice, cleaner audio, more accurate speaker attribution in rooms, and better Copilot recaps, are improved by voice and face profiles. Voice isolation depends on a user’s voice profile. Speaker attribution in Teams Rooms and BYOD rooms also depends on enrolled profiles and the right room settings. Copilot recaps can still work without enrollment, but they are much more useful when the transcript knows who said what. This article covers what Teams AI Policy controls, how the different settings interact, how to configure them with PowerShell, and what to think through before Microsoft's Express voice enrollment feature rolls out more broadly in mid-2026. ## A Quick Overview for Users: What These Features Do and How to Turn Them On Before getting into the admin policy, here is the user side of this, because most people running into these features are not admins. They are just trying to get cleaner audio on a call or a useful summary after a meeting. If your tenant has these features enabled, you control most of them yourself from inside Teams, and turning them on takes a couple of minutes. Here is what each feature actually gives you: - Voice isolation filters a call down to your voice and cuts out background noise like a TV, a coffee shop, or family in the next room. It works better than standard noise suppression because it is trained on your specific voice. - Speaker attribution puts your name next to your words in live transcripts and AI meeting notes instead of labeling you "Speaker 2." This is what makes a post-meeting recap actually readable. - Intelligent recap and Copilot summaries give you a writeup after the meeting with key points, action items, and a speaker timeline you can click to jump to the moment someone spoke. All of this leans on one thing, a voice profile. Without it, Teams falls back to generic noise suppression and generic "Speaker 1, Speaker 2" labels. Enrolling a voice profile is what unlocks the better version of each feature. ### How to enroll your voice profile If your admin has enabled enrollment, you can set this up yourself in about 30 seconds: 1. In the Teams desktop app, click the **Settings and more** menu, the three dots near your profile picture, and choose **Settings**. 2. Open the **Recognition** tab. 3. Select **Create voice profile**, pick your microphone, then choose **Start voice capture** and read the short paragraph it shows you. 4. Select **Stop voice capture** when you are done. ![](https://seanshares.com/content/images/2026/06/image-1.png) That is the whole process. The same **Recognition** tab is also where you create a face profile, which is what powers people recognition and accurate attribution in Teams Rooms. Both profiles are opt-in, and you can delete either one from this same screen whenever you want. Even if your organization later changes the policy, you keep control of removing your own profiles. ### How to turn on voice isolation Once you have a voice profile, voice isolation shows up as a noise suppression option. Open your audio settings in Teams, find the noise suppression setting, and choose **Voice isolation**. You can set it before a call or switch to it in the middle of a meeting if the room around you gets loud. If you never enrolled a voice profile, this option stays unavailable, since Teams has nothing to match your voice against. ### Where to find your meeting recap After a meeting ends, look for the **Recap** tab on that meeting in your Teams calendar or in the meeting chat. That is where the summary, action items, transcript, and speaker timeline appear. The AI recap experience depends on licensing. Microsoft says intelligent recap is available with Teams Premium or Microsoft 365 Copilot, while audio recap specifically requires Microsoft 365 Copilot. If you do not see a **Recap** tab, it usually means the feature or the license is not turned on for you, which is the admin side covered in the rest of this article. ![](https://seanshares.com/content/images/2026/06/image-2.png) The short version for users is that these features are mostly opt-in and mostly in your hands once the tenant allows them. If something here is missing in your Teams, the rest of this guide explains the policy controls that decide what gets turned on. ## What Is CsTeamsAIPolicy? CsTeamsAIPolicy is the Teams PowerShell policy that controls AI-related capabilities tied to voice and face enrollment. It replaced the older `EnrollUserOverride` setting that used to live inside CsTeamsMeetingPolicy. Microsoft moved the controls here to give admins more granular control, splitting voice enrollment, face enrollment, Express enrollment, and BYOD speaker attribution into separate settings instead of one broad switch. The four settings you will spend the most time with are: - **EnrollVoice**: controls whether users can manually create a voice profile in Teams Settings - **PassiveVoiceEnrollment**: controls Express voice enrollment, where Teams builds a voice profile automatically from in-meeting speech when a user opts in - **EnrollFace**: controls whether users can create a face profile for Teams Rooms people recognition - **SpeakerAttributionBYOD**: controls whether speaker attribution is available in Bring Your Own Device room scenarios These settings are not about whether Copilot or transcription is on. They are specifically about whether users can register the biometric profiles that power speaker recognition, voice isolation, and room identification features. If those profiles do not exist, some AI meeting experiences either do not work or work with noticeably reduced accuracy. ## What These Settings Affect It helps to understand what each feature does before deciding how to configure the policy. ### Voice isolation Voice isolation uses a personalized AI model to separate a user's voice from background noise and other voices in calls and meetings. It requires voice enrollment. A user working from home with family members talking nearby can use voice isolation to keep their audio clean without needing a dedicated office. Without a voice profile, Teams uses a generic noise suppression model that is less effective at targeting a specific person's voice. ### Speaker attribution in transcripts How well this works depends on how people join the meeting. When someone joins from their own device, Teams already labels their speech by name in live transcriptions and AI-generated notes, using their sign-in identity, with no voice profile required. Voice profiles matter most for shared devices, meaning Teams Rooms and BYOD rooms where several people talk through one microphone. Without enrolled profiles in those rooms, Teams cannot tell the speakers apart and falls back to labels like "Speaker 1" and "Speaker 2," which makes Copilot's post-meeting recaps significantly less useful. If [you rely on Teams transcripts](https://seanshares.com/how-to-get-a-microsoft-teams-meeting-transcript/) for meeting follow-up or compliance records, accurate in-room attribution is the difference between a transcript that is genuinely useful and one that requires manual cleanup. ### Teams Rooms intelligent speaker and people recognition In Teams Rooms with intelligent speaker hardware or supported cameras, enrolled users can be identified by name in live transcription and AI notes. Without enrollment, in-room contributions are attributed to the room rather than the individual. This matters in hybrid meetings where the quality of the Copilot recap depends on knowing who in the room said what, not just who was on video. ### BYOD room speaker attribution In bring-your-own-device room setups, users who select room audio in pre-join can be attributed by name in transcription and AI notes if they have voice recognition set up and SpeakerAttributionBYOD is enabled. This extends the Teams Rooms-style experience to rooms that are not running full Teams Rooms hardware. There are also licensing and room requirements here. For Teams Rooms, the room resource account needs a Teams Rooms Pro license. For BYOD rooms, Microsoft says the room host needs either Teams Premium or a Copilot license. Users who should be identified also need to be invited to the scheduled meeting and have a voice profile enrolled. ### Copilot meeting summaries and intelligent recap Copilot's post-meeting outputs, including AI notes, recommended tasks, and personalized timeline markers, are significantly more useful when the underlying transcript correctly identifies speakers. A recap that says "Priya committed to sending the budget update by Friday" is actionable. One that says "Speaker 2 said something about a deadline" is not. Voice enrollment is what makes that attribution possible. ## Manual Enrollment vs. Express Enrollment There are now two distinct paths for voice enrollment, and they are controlled by separate settings. This is the most important thing to understand about the current policy structure. Manual enrollment is controlled by `EnrollVoice`. A user goes to **Teams Settings**, then **Recognition**, then **Create voice profile**. They select a microphone, start the capture, and read the provided text aloud. Microsoft recommends doing this in a quiet location with a good microphone. The profile is built from that session and is available immediately. Express voice enrollment, controlled by `PassiveVoiceEnrollment`, is a newer approach. Instead of asking users to navigate settings and read a script, Teams prompts users during a meeting to opt in, and then builds the voice profile passively from their normal speech over the course of a couple of meetings. Microsoft is rolling this out to commercial tenants (excluding Education) through mid-2026, and it is enabled by default for most enterprise tenants. The key administrative nuance: these two settings are independent. Disabling `EnrollVoice` does not disable Express enrollment, and disabling `PassiveVoiceEnrollment` does not prevent manual enrollment. If you want to block voice enrollment entirely, you need to disable both. This is something admins who set `EnrollVoice` to Disabled months ago may not have accounted for, because Express enrollment was not part of the picture at the time. ## How to Configure Teams AI Policy with PowerShell ### Getting started You need the Microsoft Teams PowerShell module. If it is not installed: ``` Install-Module -Name MicrosoftTeams -Force -AllowClobber Connect-MicrosoftTeams ``` ### Review your current settings Before making any changes, check what the Global policy currently looks like: ``` Get-CsTeamsAIPolicy Get-CsTeamsAIPolicy -Identity Global ``` This shows you the current values for `EnrollFace`, `EnrollVoice`, `PassiveVoiceEnrollment`, and `SpeakerAttributionBYOD`. If you have never touched this policy, expect all settings to be enabled by default in most commercial tenants. ![](https://seanshares.com/content/images/2026/06/image.png) ### Disable only Express voice enrollment If you want to allow manual enrollment but prevent Teams from building profiles passively from meeting speech: ``` Set-CsTeamsAIPolicy -Identity Global -PassiveVoiceEnrollment Disabled ``` ### Disable all voice enrollment If your organization wants to block voice profiles entirely, both settings must be off: ``` Set-CsTeamsAIPolicy -Identity Global -EnrollVoice Disabled -PassiveVoiceEnrollment Disabled ``` ### Disable face enrollment ``` Set-CsTeamsAIPolicy -Identity Global -EnrollFace Disabled ``` ### Disable BYOD speaker attribution ``` Set-CsTeamsAIPolicy -Identity Global -SpeakerAttributionBYOD Disabled ``` ### Create a custom policy for specific user groups If you want different settings for different parts of the organization, create a named policy and assign it: ``` New-CsTeamsAIPolicy -Identity "RestrictedEnrollment" -EnrollVoice Enabled -EnrollFace Enabled -SpeakerAttributionBYOD Enabled Set-CsTeamsAIPolicy -Identity "RestrictedEnrollment" -PassiveVoiceEnrollment Disabled Grant-CsTeamsAIPolicy -PolicyName "RestrictedEnrollment" -Identity user@contoso.com Grant-CsTeamsAIPolicy -PolicyName "RestrictedEnrollment" -Group "group-object-id" -Rank 1 ``` Group-based assignment is the cleanest approach for larger organizations, especially if you are restricting enrollment for a regulated department while keeping it open for everyone else. ## Do Not Confuse This With Copilot Policy or Transcription Policy CsTeamsAIPolicy is about biometric enrollment and speaker attribution. It is not the policy that controls whether Copilot runs in meetings. Copilot availability in meetings is managed through `CsTeamsMeetingPolicy` using the `-Copilot` parameter: ``` Set-CsTeamsMeetingPolicy -Identity -Copilot Enabled Set-CsTeamsMeetingPolicy -Identity -Copilot EnabledWithTranscriptDefaultOn Set-CsTeamsMeetingPolicy -Identity -Copilot Disabled ``` Voice isolation lives in CsTeamsMeetingPolicy too, even though it depends on voice enrollment from CsTeamsAIPolicy. If you want the full voice isolation experience, you need both policies configured: ``` Set-CsTeamsAIPolicy -Identity -EnrollVoice Enabled Set-CsTeamsAIPolicy -Identity -PassiveVoiceEnrollment Enabled Set-CsTeamsMeetingPolicy -Identity -VoiceIsolation Enabled ``` For a broader look at Copilot admin controls across Microsoft 365, the [Copilot admin settings governance article](https://seanshares.com/copilot-admin-settings-to-check-governance/) covers additional policy areas that overlap with these meeting features. ## Data Handling and Privacy Points for Admins Because voice and face profiles are biometric data, admins need to be able to answer questions from users, HR, legal, and compliance teams about how that data is handled. Users remain in control of their profiles. They can delete their voice and face profiles at any time from the Teams desktop app, even if enrollment is later disabled at the policy level. Deletion is under end-user control, not just admin control. Retention follows a predictable pattern. Microsoft removes profiles immediately when a user unenrolls, within 90 days after the organization deletes the user's Teams account, and automatically after one year of inactivity. There is a difference in export behavior between manual and Express enrollment. With manual enrollment, users can export an audio recording from **Settings**, then **Recognition**. With Express enrollment, no recording is retained because the process is continuous and passive, so the export option is not available. That distinction matters if your users or legal team ask about data portability. Admins can view enrollment status and delete enrollment data for users in the Teams Admin Center. Admins cannot export that data. Export stays with the end user. Voice isolation also stores a local encrypted copy of the voice profile on the user's device. That copy expires after 14 days and is replaced automatically when the user participates in meetings. ## What to Do Before the Express Enrollment Rollout Microsoft says Express voice enrollment begins rolling out to Targeted Release tenants in early June 2026 and is expected to reach general availability by late June 2026\. It is on by default for commercial tenants, excluding Education. Microsoft's Message Center post MC1197146 covers the specific rollout timeline and admin actions for this change. Before that rollout reaches your users, there are a few things worth checking. Run `Get-CsTeamsAIPolicy -Identity Global` and confirm the current state of `EnrollVoice` and `PassiveVoiceEnrollment`. If you previously disabled `EnrollVoice`, Microsoft says that state will be duplicated to `PassiveVoiceEnrollment` for consistency, but it is good to verify here. Decide whether Express enrollment fits your organization's posture. Keeping it enabled means broader adoption of speaker attribution and improved Copilot recaps with minimal friction for users. Disabling it while keeping manual enrollment available is a middle ground for organizations that want enrollment to be a deliberate user action rather than an in-meeting opt-in prompt. Update your help desk documentation. The most common questions to expect: "Why did I see a prompt to enroll my voice during a meeting?", "How do I delete my voice profile?", "Why does the transcript say Speaker 1 instead of my name?", and "Why is voice isolation not available for me?" If your organization is going to allow enrollment, consider running a pilot first. Frequent meeting hosts, Teams Rooms-heavy departments, and executives who rely on Copilot recaps are good candidates to start with. Once the experience is validated there, broader rollout goes more smoothly. ## Frequently Asked Questions ### Is CsTeamsAIPolicy the same as the Copilot policy for meetings? No. CsTeamsAIPolicy controls voice and face enrollment and speaker attribution settings. Copilot availability in Teams meetings is managed through `CsTeamsMeetingPolicy` using the `-Copilot` parameter. You may need to configure both depending on what you are trying to control. ### Does enabling Express enrollment mean users are automatically enrolled? No. Even when `PassiveVoiceEnrollment` is enabled, users are prompted to opt in and must actively agree before Teams starts building their voice profile. Enrollment does not happen silently. ### How do I disable only Express enrollment but keep manual enrollment available? Set PassiveVoiceEnrollment to Disabled while leaving EnrollVoice enabled: `Set-CsTeamsAIPolicy -Identity Global -PassiveVoiceEnrollment Disabled` ### How do I disable voice enrollment completely? Both settings must be off: `Set-CsTeamsAIPolicy -Identity Global -EnrollVoice Disabled -PassiveVoiceEnrollment Disabled`. Disabling only one leaves the other enrollment path still available to users. ### Can users delete their voice or face profiles? Yes. Users can delete their profiles at any time from the Teams desktop app under **Settings**, then **Recognition**. This remains under user control even if enrollment is later disabled by policy. ### Can admins export user voice or face enrollment data? No. Admins can view enrollment status and delete enrollment data in the Teams Admin Center, but they cannot export it. The export capability belongs to the end user. ### What happens to Copilot recaps if voice enrollment is disabled? Copilot still produces meeting summaries either way, so disabling enrollment does not switch recaps off. What changes is in-room attribution. For people who join from their own device, Teams labels their speech by name from their account, so disabling voice enrollment does not affect how they show up. The impact lands on shared-device meetings, like a Teams Room or a BYOD room where several people share one microphone. Without voice profiles there, Teams cannot tell those speakers apart and labels them generically, like "Speaker 1," which weakens AI-generated tasks and follow-ups because the AI cannot tell who committed to what. ### Does voice isolation require voice enrollment? Yes. Voice isolation uses a personalized AI model built from the user's voice profile. Without an enrolled voice profile, Teams falls back to a generic noise suppression model. Admins also need to enable VoiceIsolation in CsTeamsMeetingPolicy separately from the enrollment settings in CsTeamsAIPolicy. ### Does Express enrollment apply to Education tenants? No. The Express voice enrollment rollout currently excludes Education tenants. Education tenants have separate Teams policies and some features roll out differently or not at all depending on the license type. ### How to Create a SharePoint Approval Workflow in Microsoft 365 URL: https://seanshares.com/how-to-create-a-sharepoint-approval-workflow/ Last updated: 2026-05-26T12:30:00.000Z SharePoint approval workflows are one of those topics where the answer to "how do I set one up?" is almost always "it depends." Not because the tools are complicated, but because "approval workflow" means different things depending on what you actually need to happen after someone clicks Approve. Do you just need a notification that someone signed off? Do you need the item to disappear from view until it is approved? Do you need the file to become read-only so no one can change it afterward? Or are you dealing with something regulated where the approved document needs to be locked as an official record? The answer to those questions determines which method you should use, and they are not all the same thing. This article walks through every major option available in Microsoft 365 as of 2026, explains what each one actually does, and helps you pick the right approach for your situation. Note that classic SharePoint Designer workflows are not covered here. Microsoft retired SharePoint 2013 workflow for new tenants in April 2024 and removed it from existing tenants in April 2026\. If you are still running those, Power Automate is now the supported replacement. ## The Three Decisions You Need to Make First Before you build anything, you need to answer three questions, because they drive everything else. **Who needs to approve?** A single person? The first person to respond? Everyone on a list? Multiple people in sequence? Some workflows route to different approvers based on metadata, like a department or dollar amount. **What does "approved" mean for visibility?** Some teams want the item hidden from regular users until it is approved. Others just want a status column updated. Others want an email or Teams card. **What happens to the item after approval?** This is the one most people do not think about upfront. If the answer is "nothing, it can still be edited," your workflow is much simpler. If the answer is "it should become read-only," or "it needs to be retained as an official record," you are looking at a different set of tools. ## Option 1: Modern Approvals Built Into SharePoint Lists and Libraries This is the simplest starting point. SharePoint lists and document libraries have a built-in approvals feature that lets users request approval for a specific item or file without leaving SharePoint. The approval request shows up in the Teams Approvals app and in Outlook, and approvers can respond from either place. In the current SharePoint experience, approval settings may appear under **... > Integrate > Approvals**. In some tenants, Microsoft still shows the older path as **Automate > Configure Approvals**. Both paths lead to the same Modern Approvals configuration experience, depending on which SharePoint command bar version your tenant is running. ### How to enable Modern Approvals in the new SharePoint UX 1. Open the SharePoint list or document library. 2. In the command bar, select the ellipsis (**...**) menu. 3. Select **Integrate**. 4. Select **Approvals**. 5. Choose the option to enable or configure approvals. Once approvals are enabled, select a file or list item and choose **Request approval**. Add one or more approvers, choose whether any approver can approve or all must respond, add any relevant details, and send the request. The approval status changes to Requested once the request is created. If your tenant still shows the older command bar, the path is **Automate > Configure Approvals** instead. The result is the same either way. There are a few things worth knowing about how this works before you enable it. First, the approval request does not automatically grant the approver access to the underlying item. If the approver does not already have permission to view the list or library, they cannot see what they are being asked to approve. You need to handle that separately through SharePoint permissions. Second, if the file is edited while an approval is in progress, the approval gets canceled. Office web apps (Word, Excel, and PowerPoint for the web) will open the file in view-only mode during an active approval, and Windows desktop apps show the document as "Marked as final" to discourage changes. But the file is not locked. Someone with edit permissions can still overwrite it and the approval will be voided. What this option does not do: it does not make the item read-only after approval. Once the approval is complete, the item stays fully editable. If that is a requirement, you need one of the methods further down this article. One more thing worth being clear about: Modern Approvals are not the same as classic SharePoint content approval. Microsoft states that content approval and request sign-off are not integrated with Modern Approvals. They are separate features that serve different purposes, which the next section explains. Best for: simple business approvals, travel requests, lightweight content sign-off, Teams-integrated approval tracking. Not ideal for compliance-sensitive documents or anything that needs to be locked after approval. ## Option 2: SharePoint Content Approval SharePoint content approval is a list/library setting, not a workflow. The concept is simple: submitted items stay in "Pending" status and are only visible to the submitter and users with approval permission. Once an approver approves the item, it becomes visible to everyone with read access. Rejected items go back to the submitter. To configure it: - From your list click on the **List settings** gear icon. ![](https://seanshares.com/content/images/2026/05/image-38.png) - Open **Versioning settings**. ![](https://seanshares.com/content/images/2026/05/image-35.png) - Set **Require content approval for submitted items?** to **Yes**. While you are there, you can also set Draft Item Security, which controls who can see items in pending or draft status. Your options are: anyone with read access, only users with edit permission, or only approvers and the item's author. ![](https://seanshares.com/content/images/2026/05/image-36.png) One thing to know about versioning: if you enable major and minor versions in a document library along with content approval, uploaded documents will start as Draft rather than Pending. They only become Pending when promoted to a major version. If you only enable major versioning, they go straight to Pending on upload. This trips people up when they first set it up. Content approval is good for intranet pages, HR policy drafts, marketing materials, and knowledge base articles where the goal is "do not publish until reviewed." It is not an edit lock. Once an item is approved, users with edit permissions can still modify it, and the next version may go back into pending depending on your versioning setup. You can also combine content approval with a Power Automate flow so the approval request is automated rather than manual. The SharePoint connector has a **Set content approval status** action that works well for this. For files and pages, this action requires an ETag value, which you pull from the file metadata step earlier in the flow. ## Option 3: Power Automate Approval Flow Power Automate is the right tool when you need routing logic, dynamic approvers, multi-stage approvals, integration with other systems, or a detailed approval history. The core action is called **Start and wait for an approval**. The flow pauses at that step until all required approvers respond, then continues based on the outcome. - In the newer SharePoint interface, open the list or document library and select **Workflows** from the command bar. ![](https://seanshares.com/content/images/2026/05/image-39.png) - From there, you can create or manage workflows connected to that list or library. ![](https://seanshares.com/content/images/2026/05/image-40.png) From the workflow experience, you can choose a pre-built template or open Power Automate to build a custom approval flow. A common structure looks like this: a trigger fires when an item is created or modified, the flow gets the item metadata, starts the approval with one or more approvers, then branches based on whether the item was approved or rejected. On approval, the flow can update a status column, optionally set the SharePoint content approval status, and send a notification. On rejection, it can update the status to **Rejected** and notify the submitter with any comments the approver left. Power Automate supports several approval types. "First to respond" is useful when any approver can approve. "Everyone must approve" is for sequential or consensus-based processes. Custom response options let you add more than two outcomes if the business process requires it. One limitation people run into: the **Set content approval status** action works on lists, but for files and SharePoint pages it requires you to pass the file's ETag in the flow. You get this from a **Get file properties** or **Get item** step before the approval runs. A basic Power Automate approval flow does not lock the item after approval. It updates metadata and sends notifications. If you need locking, you need to add additional steps, which the next two sections cover. If you are managing Copilot's place in your Microsoft 365 environment, the article on [Copilot admin settings to review for governance](https://seanshares.com/copilot-admin-settings-to-check-governance/) is worth reading alongside this one. ## Option 4: Using Copilot to Build the Flow Faster Copilot in Power Automate lets you describe what you want in plain language and it generates a starting flow for you. For approval workflows, this can save a lot of time on the initial build. You describe the trigger, the approval routing, what happens on approval and rejection, and Copilot creates the flow structure with the appropriate connectors and actions. An example prompt for a basic approval: "Create a cloud flow for a SharePoint document library. When a file is created in the Policies library, start an approval assigned to the user in the Policy Owner column. Include a link to the file. If approved, set the Approval Status column to Approved and send the requester an email. If rejected, set the Approval Status column to Rejected and include the approver comments." ![](https://seanshares.com/content/images/2026/05/image-41.png) For a flow that locks the item using permissions after approval, you might prompt: "Create a Power Automate flow for a SharePoint list. When an item is submitted for approval, start and wait for an approval. If approved, update the Status column to Approved, stop sharing the item, grant read access to the submitter and department visitors group, and keep owners with full control." There are real limitations to keep in mind. Copilot does not support all connectors and is optimized for English. More importantly, whatever it generates still needs review. Copilot can scaffold a flow quickly, but it does not know your permission groups, your SharePoint site structure, your error handling requirements, or your governance rules. Treat it as a starting point, not a finished product. ## Option 5: Locking the Item After Approval Using Permissions If your requirement is "once approved, regular users cannot edit this item," you do it by changing permissions on the item after approval. Power Automate has SharePoint connector actions that make this possible without writing REST code. The most straightforward approach uses two actions after the approval completes: **Stop sharing an item or a file** (which removes all permissions on the item except site owners), followed by **Grant access to an item or a folder** to give specific users or groups read-only access. The item's owner group retains full control. Everyone else who had edit access through inherited permissions is locked out at the item level. For more granular control, like removing specific groups while keeping others, you can use SharePoint REST API calls in a flow to break permission inheritance and apply new role assignments. This gives you precise control but is more complex to set up and test. Before you go down this path, consider scale. Microsoft's supported limit for unique permissions on items in a list or library is 50,000, but the practical recommendation is to stay well under 5,000\. If you have a library where hundreds or thousands of items will go through this process, you will hit problems. Design the process so that uniquely permissioned items stay in a dedicated library separate from high-volume storage. The [SharePoint permissions overview](https://seanshares.com/sharepoint-online-permissions-explained-sites-libraries-and-files/) on this site covers how permissions inheritance works and is useful background reading before building this. This approach is a business lock, not a compliance lock. Site owners and admins can still modify permissions or edit the item. If you need a lock that even admins cannot override without a records management workflow, you need the next option. ## Option 6: Compliance Lock with Microsoft Purview Retention Labels For documents that need to become official records after approval, such as contracts, board-approved policies, audit evidence, or regulated content, the right tool is a Microsoft Purview retention label that marks the document as a record. This option usually requires involvement from a Microsoft 365 admin, compliance admin, or records management owner. Retention labels are created and published from the Microsoft Purview compliance portal, not directly from a normal SharePoint library setting. Before this can be used in an approval workflow, someone with the right admin permissions needs to configure the retention label, decide where it should be available, and publish it to the appropriate SharePoint sites or libraries. When a retention label marks a document as a locked record, editing and deletion are prevented. A regulatory record is even stricter: it cannot be edited or deleted regardless of user permissions. Users with Microsoft Purview Records Management access can unlock a record to make corrections, but the action is logged and controlled. There are three ways to apply a retention label after an approval workflow completes. 1. The simplest is manual: the approver or records manager applies the label from the document's properties after approving. 2. The second option uses Power Automate with the Microsoft Graph API to apply the label programmatically using the `driveItem: setRetentionLabel` endpoint. 3. The third is a Purview auto-apply policy that labels documents automatically based on keywords, sensitive information types, or trainable classifiers. For most organizations, the manual or Power Automate approach makes more sense for approval-triggered labeling. Auto-apply is better for broad content classification policies that run across the entire tenant. Keep in mind that using Purview for records management requires planning beyond just the workflow. Your Microsoft 365 admin or compliance team should help define the retention schedule, confirm licensing, publish the label to the right locations, and align with legal or records management stakeholders on what qualifies as a record and how long it must be retained. ## What About Checkout? Requiring checkout on a library is frequently mentioned alongside approval workflows, but it serves a different purpose. Checkout prevents two people from editing the same file at the same time. It is useful during the drafting phase of a controlled document process, but it is not a post-approval lock. Once a checked-out file is checked in, anyone with edit permissions can check it out again. There is no connection between checkout status and approval status. Also worth noting: requiring checkout breaks co-authoring, because co-authoring depends on files being open without a checkout in place. If your team collaborates in real time on documents, enabling required checkout will create friction. Use checkout when you have a library where only one person should edit a document at a time and co-authoring is not needed. Do not use it as a substitute for post-approval locking. ## SharePoint Page Approvals Modern SharePoint pages have their own page approval feature. When enabled, authors submit a page for approval before it is published to the site. The page shows as "Pending approval" until a reviewer approves or rejects it. Approved pages are published and become visible. Rejected pages go back to the author as drafts. This works well for intranet news, department landing pages, policy pages, and executive communications where you want editorial control before publishing. It does not lock the page from future edits after approval. If a page is later edited, the new version goes back into pending for review. ## Microsoft Teams Approvals The Teams Approvals app lets users create and manage approval requests without building a Power Automate flow. Approvers can review and respond from within Teams. For ad hoc approvals, purchasing sign-offs, or quick request tracking, this is often enough. The relationship to SharePoint is important to understand. Teams Approvals is the interface for making and responding to requests. If the item being approved lives in SharePoint, Teams Approvals does not automatically update that list item or document. You either use Modern Approvals (which integrates SharePoint and Teams Approvals together) or a Power Automate flow that both sends a Teams approval card and updates the SharePoint item based on the response. ## Picking the Right Approach Here are some ways to think through it: - If you need a quick, self-contained approval tied to a specific file or list item without building a flow, start with Modern Approvals in the list or library. - If the goal is controlling visibility (keeping items hidden until reviewed), use SharePoint content approval, optionally paired with a Power Automate flow for routing. - If you need routing logic, dynamic approvers, multi-stage sign-off, or integration with other systems, build a Power Automate flow. Use Copilot to speed up the initial build if available. - If approved items need to become read-only for business governance reasons, add permission-breaking steps to your Power Automate flow after approval. Watch the scale limits. - If approved items need to become immutable records for compliance, apply a Purview retention label after approval, either manually or through the Microsoft Graph API. For most organizations, the right answer is a combination: Power Automate for routing and notifications, SharePoint content approval or a status column for tracking, and either permission-based or Purview-based locking depending on the compliance requirements of the content type. ## Common Mistakes A few things consistently trip people up when building SharePoint approval workflows. 1. Assuming that "approved" means the item is read-only. Approval status by itself is just metadata. If you set a status column to "Approved" and send a notification, the item is still fully editable by anyone with edit permissions. You have to explicitly lock it if that is a requirement. 2. Forgetting that Modern Approvals do not automatically share the item with approvers. If an approver does not have existing access to the library, they will receive the approval request but will not be able to see the underlying file. Grant them access first, or build a sharing step into the flow. 3. Applying unique permissions to every item in a high-volume library. This can hit the recommended limit of 5,000 unique permissions faster than you expect, especially in a library with ongoing submissions. If you need per-item permission control at scale, move approved items to a separate archive library and manage permissions there. 4. Using checkout as the post-approval lock. Checkout controls editing during drafting. It has nothing to do with finalization. 5. Skipping testing on Copilot-generated flows. Copilot builds a working starting structure, but it does not know your specific environment. Triggers, connection references, column names, and error handling all need validation before you put a Copilot-generated flow into production. ## Frequently Asked Questions ### Can I require approval before a file appears in a SharePoint document library? Yes. Enable content approval in the library's versioning settings and configure Draft Item Security so that pending items are only visible to users with approval permission. New uploads will sit in Pending status until an approver approves them. ### Do I need Power Automate for SharePoint approval workflows? Not for basic approvals. SharePoint has built-in Modern Approvals that work without a flow. Power Automate is needed when you want routing logic, dynamic approvers, multi-stage approval, integration with other systems, or post-approval locking behavior. ### How do I make a SharePoint file read-only after it is approved? You do this through permissions, not approval status. In a Power Automate flow, after the approval completes, use the Stop sharing an item action followed by Grant access to an item to give specific users or groups read-only access. Alternatively, apply a Microsoft Purview retention label that marks the item as a locked record, which prevents editing at the platform level. ### Will editing a file cancel an in-progress SharePoint approval? Yes. If a file is saved with changes while a Modern Approval is in progress, the approval is canceled. Office web apps open the file in view-only mode during an active approval to discourage this, but the file is not technically locked. Someone with edit permissions can still overwrite it. ### Can I use Microsoft 365 Copilot to create an approval workflow? Yes. Copilot in Power Automate lets you describe the workflow in plain language and generates the flow structure. It is useful for getting a starting point quickly. You still need to review and test what it generates, especially around connection references, permission logic, and error handling. ### What is the difference between SharePoint content approval and a Power Automate approval? SharePoint content approval is a library/list setting that controls visibility. Items stay hidden from regular users until an approver approves them. A Power Automate approval is a routing and notification mechanism. The two can be combined: Power Automate can trigger the approval request and then set the SharePoint content approval status based on the outcome. ### How do I lock a SharePoint document as an official record after approval? Apply a Microsoft Purview retention label that marks the document as a record. This can be done manually, through a Power Automate flow using the Microsoft Graph API, or through a Purview auto-apply policy. A locked record label prevents editing and deletion. A regulatory record label is even stricter and cannot be unlocked by non-records-management administrators. ### What happened to SharePoint Designer approval workflows? Microsoft retired SharePoint Designer 2013 workflows. They were turned off for new tenants in April 2024 and removed from existing tenants in April 2026\. Power Automate is now the recommended replacement for any automation that previously ran through SharePoint Designer. ### How to Create and Manage Rules in Outlook URL: https://seanshares.com/how-to-create-and-manage-rules-in-outlook/ Last updated: 2026-05-18T12:30:56.000Z If you spend any meaningful amount of time in Outlook, rules are probably the single most useful thing you are not using. A rule is an automatic action Outlook runs on incoming messages when they match conditions you set. You define it once, and Outlook handles the sorting, flagging, categorizing, or deleting without you doing anything. This guide covers how to create and manage rules across every version of Outlook, including how to use Microsoft 365 Copilot to build rules with plain-language prompts. For more tips on getting your inbox organized, the [Outlook email management tips article](https://seanshares.com/tips-in-outlook-for-smarter-email-management/) is worth reading alongside this one. ## What Are Outlook Rules? An Outlook rule has three parts: a condition, an action, and optionally an exception. The condition is what Outlook looks for, like a specific sender, words in the subject, or messages with attachments. The action is what Outlook does when it finds a match, like moving the message to a folder, applying a category, or deleting it. Exceptions let you say "do this, unless..." so important messages do not get caught up. Some practical examples: move all emails from your manager into a dedicated folder, file anything with "Invoice" in the subject into an Invoices folder, delete newsletters from a sender you no longer read, categorize client emails automatically, or forward specific messages to a colleague. Most rules apply to incoming messages. If you want a rule to also work on email already sitting in your inbox, you need to run it manually after setting it up. ## What Outlook Rules Can Do Rules support a wide range of actions: move to folder, copy to folder, delete, mark as read, assign a category, flag for follow-up, forward, redirect, or stop processing additional rules. Forwarding and redirecting are easy to mix up. When you forward a message, it comes from you. When you redirect it, the original sender's address is preserved so replies go back to them rather than to you. ## Where to Find Rules in Each Outlook Version In **new Outlook for Windows** and **Outlook on the web**: go to **Settings**, then **Mail**, then **Rules**. In **classic Outlook for Windows**: go to **File**, then **Manage Rules & Alerts**. In **Outlook for Mac**: go to **Outlook** in the menu bar, then **Settings**, then under **Email**, select **Rules**. With **Microsoft 365 Copilot**: describe what you want in plain language and Copilot creates the rule for you. ## How to Create a Rule in New Outlook for Windows Video on how to create rules in new Outlook The fastest option is to right-click a message, select **Rules**, then **Create rule**. Outlook suggests moving messages from that sender to a folder. Select **OK** and you are done. For anything more advanced: 1. Go to **Settings**, then **Mail**, then **Rules**. 2. Select **Add new rule**. 3. Enter a name for the rule. 4. Choose a condition, such as the sender or words in the subject. 5. Choose an action, such as moving the message to a folder. 6. Add exceptions if needed. 7. Decide whether to enable **Stop processing more rules**. 8. Select **Save**. ![](https://seanshares.com/content/images/2026/05/image-20.png) New Outlook ## How to Create a Rule in Outlook on the Web 1. Open **Settings**, then **Mail**, then **Rules**. 2. Select **Add new rule**. 3. Enter a rule name, add a condition and an action, then add any exceptions. 4. Select **Save**. ![](https://seanshares.com/content/images/2026/05/image-21.png) Outlook on the Web Quick example: name the rule "Move invoices," set the condition to "Subject includes invoice," set the action to "Move to Invoices folder." Done in under a minute. ## How to Create a Rule in Classic Outlook for Windows Right-click a message, select **Rules**, then **Create Rule**. Pick your condition and action, select **OK**, and optionally run the rule on existing messages in the current folder. For more control, use the Rules Wizard: 1. Select **File** 2. Then **Manage Rules & Alerts**. 3. Select **New Rule**. 4. Choose a template or start from a blank rule. 5. Set conditions, actions, and exceptions. 6. Name the rule and select **Finish**. ![](https://seanshares.com/content/images/2026/05/image-33.png) One thing specific to classic Outlook: some rules are client-side rules that only run when Outlook is open on your computer. Server-side rules run in your mailbox on Microsoft's servers, so they work even when Outlook is closed. ## How to Create a Rule in Outlook for Mac 1. Select **Outlook** in the menu bar, then **Settings**. 2. Under **Email**, select **Rules**. 3. Select **Add new rule**, enter a name, add conditions, actions, and exceptions, then save. From the same area you can also edit, delete, enable, disable, reorder, and manually run any rule. ## How to Create Outlook Rules with Microsoft 365 Copilot If you have a Microsoft 365 Copilot license, you can describe a rule in plain language and Copilot sets it up. If you are not yet set up with Copilot in Outlook, the [guide to adding Copilot to Outlook](https://seanshares.com/how-to-add-copilot-to-outlook-and-license-differences/) explains the license requirements. Examples of prompts: - "Create a rule to move emails from Alex to the Read Later folder." - "Move emails with Invoice in the subject to my Invoices folder." - "Categorize emails from my manager as Important." - "Delete newsletters from newsletters@example.com." ![](https://seanshares.com/content/images/2026/05/image-23.png) Ask Copilot to create and manage rules for you Copilot shows you a summary before creating the rule. You confirm, and it appears in Outlook's regular Rules settings. If the folder or category does not exist yet, Copilot will ask whether to create it first. You can also ask Copilot to show your existing rules: "Show me my current Outlook rules" or "Do I have any rules that delete emails?" It gives a read-only view of your rules including conditions, actions, and whether they are enabled. Copilot cannot edit, delete, disable, or reorder rules. For those actions, use Outlook's Rules settings directly. ## How to Edit, Disable, and Delete Rules In new Outlook and Outlook on the web, go to **Settings**, then **Mail**, then **Rules**. Select the edit icon to change a rule, use the toggle to pause or resume it, or select the delete icon to remove it permanently. In classic Outlook, go to **File**, then **Manage Rules & Alerts**. Select a rule and choose **Change Rule** to edit, check or uncheck the box to enable or disable it, or select **Delete** to remove it. *Tip* \- Before deleting a rule, consider turning it off instead. Disabling preserves the setup without running it, and you can re-enable it any time. ![](https://seanshares.com/content/images/2026/05/image-24.png) Toggle switch to disable a rule ## How to Reorder Rules Rule order matters. Outlook checks rules from top to bottom. If two rules could apply to the same message, the one higher in the list runs first. To change the order, use the move-up and move-down controls in the Rules settings page. Put your most specific rules at the top and broader ones below. Check the order every time you add a new rule. ## What Does "Stop Processing More Rules" Mean? This tells Outlook to stop checking the rest of your rules once this one has run. Use it when a rule should be the final word on a message. For example, a rule that moves emails from your CEO to a "Leadership" folder should probably stop processing so no other rule can redirect that message elsewhere. Do not use it if you want multiple rules to apply to the same message. If the first rule stops processing, any rules below it never fire for that message. ![](https://seanshares.com/content/images/2026/05/image-26.png) Checkbox to stop other rules from applying to the email ## How to Run Rules on Existing Emails In new Outlook and Outlook on the web, find the rule in Settings and look for a **Run rule now** option. In classic Outlook, go to **File**, then **Manage Rules & Alerts**, then select **Run Rules Now**, choose the rule and folder, and run it. In Outlook for Mac, select the rule in Rules settings and choose the manual run option. ![](https://seanshares.com/content/images/2026/05/image-27.png) How to run a rule on existing emails ## How to Back Up Rules in Classic Outlook Classic Outlook can export rules to a .rwz file. Go to **File**, then **Manage Rules & Alerts**, then **Options**, then **Export Rules**. Use **Import Rules** to restore them. In new Outlook and Outlook on the web, rules are stored in your mailbox and do not need a separate backup. ![](https://seanshares.com/content/images/2026/05/image-31.png) ## Why Your Outlook Rule Is Not Working - The rule is turned off. Check the toggle or checkbox in your rules list. - Rule order is wrong. Another rule higher in the list may be acting on the same message first. Check for rules that match the same conditions. - "Stop processing more rules" is interrupting things. If an earlier rule has this enabled, rules below it never fire for the same message. - The condition is too broad or too narrow. The rule might be matching messages you did not intend, or missing messages because the condition wording does not quite match how emails arrive. - The rule is client-side only. Some classic Outlook rules only run while Outlook is open. Contact IT if you are unsure. - External forwarding is blocked. If a rule forwards messages outside your organization and it is not working, IT policy may be blocking that. Contact IT rather than trying to work around it. - You have hit the rules size limit. If you have many complex rules, delete or simplify older ones you no longer need. ## Outlook Rules Best Practices Give every rule a specific name. Keep conditions precise. Use exceptions to protect messages you always want to see, like anything marked high importance or sent directly to you. Put specific rules above general ones. Review rule order every time you add a new one. If unsure about a delete rule, move messages to a folder instead. It is much easier to recover a moved message than a deleted one. Turn off rules you are not sure about rather than deleting them right away. Review your rules periodically and clean up ones you no longer need. ## When to Contact IT About Rules Reach out to IT if a forwarding rule does not work and you suspect it is blocked by policy, if a rule appears to be deleting or moving messages unexpectedly, if you see a rule you did not create, if rules went missing after switching Outlook versions, or if you are hitting a rules size limit error. ## Frequently Asked Questions ### Can I create Outlook rules with Microsoft 365 Copilot? Yes. Copilot can create simple rules from natural-language prompts and show you your existing rules. You describe what you want, Copilot shows a summary, you confirm, and the rule is created. ### Can Copilot edit or delete my rules? No. Copilot can create and view rules, but editing, deleting, disabling, and reordering must be done in Outlook's Rules settings. ### Do rules apply to emails already in my inbox? Not automatically. Rules apply to new incoming messages. Run a rule manually from the Rules settings page to apply it to existing email. ### Why did my email end up in the wrong folder? Another rule probably ran first. Check your rule order and look for rules that match the same conditions. Also check whether "Stop processing more rules" is on for an earlier rule. ### Can I pause a rule without deleting it? Yes. Turn the rule off using the toggle or checkbox. It stays saved but stops running until you re-enable it. ### Do rules work when Outlook is closed? Server-side rules run in your mailbox and work even when Outlook is not open. Some classic Outlook rules are client-side and only run while Outlook is open. If reliability matters, confirm the rule is server-side. ### Can I use rules with Gmail or other non-Microsoft accounts in Outlook? New Outlook has limitations for rules with third-party accounts. For Gmail, Yahoo, or iCloud accounts, you may need to create rules directly in that provider's settings. ### What should I do if a forwarding rule is not working? If you are forwarding to an address outside your organization and the rule is not firing, your company's IT policy may be blocking external forwarding. Contact IT to find out what is allowed. ### Why is my rule catching emails it should not? The condition is probably too broad. Narrow it by adding the sender's address, using a more specific phrase, or adding an exception for messages where you are in the To line rather than CC. ### Microsoft 365 Targeted Release: What It Is, How to Enable It, and When to Use It URL: https://seanshares.com/microsoft-365-targeted-release-what-it-is/ Last updated: 2026-07-09T02:58:24.000Z Microsoft 365 Targeted Release What It Is How to Enable It and When to Use 0:00 /292.584 1× Microsoft 365 does not sit still. Features and service updates roll out continuously, and if you are running a mid-size or larger organization, the last thing you want is for users to open SharePoint one morning and find something changed with no warning. Targeted Release is Microsoft's answer to that problem. It is an opt-in program that gives admins and selected users earlier access to certain Microsoft 365 updates, so IT teams can validate changes, prepare support staff, update documentation, and communicate before the broader rollout reaches everyone. This article explains what Targeted Release actually does, how to turn it on, who should be in your pilot group, and the common mistakes that trip people up. ## What Is Microsoft 365 Targeted Release? Targeted Release is an early-access ring for supported Microsoft 365 cloud-service features. Admins can opt in either the whole organization or a selected group of users to receive certain updates before they reach the Standard Release population. Microsoft describes it as a way for users to be among the first to see the latest updates and to help shape the product by providing early feedback. If you come across older documentation or community posts that mention "First Release," that is the same thing. Microsoft renamed First Release to Targeted Release a few years ago, but the old name still shows up in scripts and forum threads. The key thing to understand upfront: Targeted Release is a best-effort program, not a precise deployment schedule. Microsoft explicitly says release options are "targeted, best effort" and cannot be guaranteed at all times or for every update. Do not treat it as a way to predict the exact day a feature lands. Think of it as a preview window, not a calendar. ## How Targeted Release Fits Into Microsoft's Release Process Before a feature reaches Targeted Release customers, Microsoft has already run it through internal validation: the feature team tests it first, then the broader Microsoft 365 team, and then across Microsoft as a whole. Targeted Release is the first external customer-facing ring after that internal validation passes. From there, Microsoft monitors usage metrics and collects feedback at each stage before expanding to broader rollout. This is why Targeted Release is genuinely useful for governance. You are getting real features in a real production environment, just earlier than most customers. ## Which Services Does Targeted Release Cover? Targeted Release applies to a specific set of Microsoft 365 services, not everything across the platform. As of Microsoft's current documentation, supported services include: - New Outlook - OneDrive - SharePoint in Microsoft 365 - Microsoft 365 for the web - Microsoft 365 admin center - Some components of Exchange Online - Microsoft Teams If you are seeing large UI changes roll out in SharePoint, like the [SharePoint Online redesign](https://seanshares.com/sharepoint-online-major-user-experience-redesign/), Targeted Release is one of the mechanisms that lets pilot users see those changes before the rest of the organization. One thing that catches people off guard: Targeted Release has nothing to do with desktop Office app updates. Word, Excel, PowerPoint, and classic Outlook desktop updates are controlled through Microsoft 365 Apps update channels like Current Channel, Monthly Enterprise Channel, and Semi-Annual Enterprise Channel. If you want to manage when those apps get new features, that is a separate admin setting entirely. Targeted Release only affects cloud-delivered service changes. Teams also has its own preview model. Microsoft Teams Public Preview is controlled through Teams update policies and gives users early access to unreleased Teams features. Importantly, Microsoft says the Teams Public Preview policy has no effect on users who are part of Microsoft 365 Targeted Release. They are separate controls, and you may need both depending on what you are trying to preview. ## Targeted Release vs Standard Release Standard Release is the default option for every Microsoft 365 tenant. Users on Standard Release get updates when Microsoft releases them broadly. There is no action required to stay on Standard Release, and it is the right setting for most production users. Targeted Release gives earlier access to the same updates for supported services. The gap between when something lands in Targeted Release and when it reaches Standard Release varies. For new Outlook specifically, Microsoft has documented that new features become available in Targeted Release for approximately 30 days before rolling out to Standard Release customers. Even Standard Release is staged, though. A feature does not appear for every Standard Release tenant at the exact same moment. Microsoft rolls things out progressively, which is part of why Message center posts cannot give you a precise date for when something will appear in your specific tenant. ## How to Enable Targeted Release You need to be a Global Administrator to change release preferences. Here are the steps: Video with steps to enable targeted release video 1. Sign in to the **Microsoft 365 admin center**. 2. Go to **Settings**, then **Org settings**. 3. Select the **Organization profile** tab. 4. Select **Release preferences**. 5. Choose your option: - **Standard release** — default, no early access - **Targeted release for everyone** — all users in the org get early access - **Targeted release for selected users** — only the users you choose get early access 6. If you choose selected users, use **Select users** to add them individually, or **Upload users** to add them in bulk via CSV. 7. Select **Save**. Microsoft says changes can take up to 24 hours to take effect. If you switch back to Standard Release after enabling Targeted Release, users may temporarily lose access to features that have not yet reached Standard Release. Because this setting lives in the admin center and requires Global Admin access, it is worth pairing with a review of your other admin-level Microsoft 365 settings. The [Microsoft 365 admin settings and governance article](https://seanshares.com/copilot-admin-settings-to-check-governance/) covers other controls worth auditing while you are in that area of the admin center. ## Which Option Should You Choose? For most organizations, the right answer is Targeted Release for selected users. You keep most of the tenant on Standard Release and give early access to the people who actually need it: IT, help desk, security reviewers, and change champions. ![](https://seanshares.com/content/images/2026/05/image-29.png) Release Options Microsoft recommends this approach and explicitly says to "only assign specific users." If you want to test with a larger group or the full org, Microsoft recommends using a test subscription rather than your production tenant. In fact, for organizations with more than 300 users, Microsoft specifically suggests a test subscription if you want the "Targeted release for entire organization" option. Good candidates for your Targeted Release pilot group include: - Microsoft 365 admins - Help desk and service desk staff - SharePoint and OneDrive owners - Teams workspace owners - Security and compliance reviewers - Training and communications owners - Department champions and power users who can test practical workflows One thing Microsoft specifically calls out: include help desk users. Your support staff should see changes before users ask about them, not after. If the help desk is on Standard Release and a Targeted Release feature starts generating tickets, your team will be behind from day one. Targeted release for the entire org makes sense for small organizations comfortable with frequent change, dedicated test tenants, IT consultancy lab tenants, or organizations that deliberately want to run ahead of Standard Release as a policy decision. ## What to Do With Early Access Getting early access to a Microsoft 365 change is only useful if your team does something with the preview window. The organizations that get the most out of Targeted Release treat it as a structured pilot, not just a curiosity. Pilot users should be expected to report more than just "it looks different." A useful pilot review covers UI changes that affect daily workflows, broken or changed integrations, admin setting implications, documentation that needs updating, training materials that need new screenshots, likely support questions, and any compliance or security concerns the change raises. A repeatable cadence helps. A practical model looks like: weekly review of Message center and the Microsoft 365 Roadmap; biweekly review of pilot feedback; monthly update of internal documentation and training materials; and a support brief and user communication prepared before any major change reaches Standard Release. ## How Targeted Release Connects to Message Center and the Roadmap Targeted Release works best when paired with the other Microsoft change-management tools, not as a standalone setting. The Microsoft 365 Roadmap shows features that are in development, rolling out, or launched. If Targeted Release is available for a feature, the Roadmap's rollout start date reflects when it begins appearing in Targeted Release, followed by Standard Release. That sequencing is useful for planning. Message center is where Microsoft communicates tenant-relevant timing for individual changes. Major updates are communicated at least 30 days in advance when action is required. Message center tags like "major update," "admin impact," and "user impact" help you triage what needs attention. The limitation is that Message center cannot tell you the exact date a change will appear in your specific tenant. Even with that limitation, it is your best source for upcoming change context. ![](https://seanshares.com/content/images/2026/05/image-30.png) Message Center Message with indicating Targeted Release time frame A workflow that works well: monitor the Roadmap for features coming up, watch Message center for timing and required actions, validate changes with your Targeted Release pilot users, document the user impact, prepare help desk and training materials, and communicate before Standard Release reaches most users. ## Targeted Release and the Newer Release Options Microsoft has been introducing additional release options alongside the classic Targeted/Standard model, particularly around Microsoft 365 Copilot and AI-related features. Standard Release remains the default for most organizations. Deferred Release can delay Copilot-related generally available features by up to 30 days for tenants that need more review time before adoption. Frontier provides pre-general availability access to emerging AI capabilities for organizations that want to stay ahead of those changes. Targeted Release continues to serve its role for supported Microsoft 365 services like SharePoint, OneDrive, new Outlook, and parts of Teams and Exchange. If you are using or considering Frontier for Copilot capabilities, the [Microsoft Frontier program explainer](https://seanshares.com/what-is-the-microsoft-frontier-program-and-how-do-you-use-it-in-microsoft-365/) covers how that works and what admins need to enable it. Targeted Release and Frontier address different parts of the Microsoft 365 change landscape, and depending on your organization, you may find both relevant. ## Common Mistakes to Avoid A few things consistently trip up admins who are new to Targeted Release. - Enabling Targeted Release for everyone in a large production tenant is the most common one. Microsoft recommends using a test subscription if you have more than 300 users and want the full-org experience. Exposing an entire production tenant to early-access changes without a structured pilot process is asking for a bad day. - Assuming selected users will preview every feature is another one. Some features roll out only at the organization level. When that happens, selected Targeted Release users do not get early access regardless of their individual setting. You need the whole org on Targeted Release, or a test tenant, to preview those changes. - Treating Targeted Release as a deployment schedule causes problems too. Microsoft does not guarantee exact timing for all releases, and Message center cannot tell you the specific date a change will appear in your tenant. Use the Roadmap and Message center for approximate timing, not Targeted Release as a precision tool. - Not including help desk users is one that bites organizations repeatedly. Include your service desk in the pilot group from the start. And do not confuse Targeted Release with Microsoft 365 Apps update channels. If you want to control when Word, Excel, or PowerPoint desktop apps get new features, that is a completely separate setting managed through Microsoft 365 Apps admin controls. Targeted Release does not touch those. ## Frequently Asked Questions ### Is Targeted Release enabled by default? No. Standard Release is the default for every Microsoft 365 tenant. You have to opt into Targeted Release manually through the Microsoft 365 admin center as a Global Administrator. ### Can I enable Targeted Release for only some users? Yes. Choose **Targeted release for selected users** in Release preferences and add users individually or upload them in bulk via CSV. This is the recommended approach for most organizations. ### How long does it take for the setting to take effect? Microsoft says release preference changes can take up to 24 hours to apply. Do not expect changes to be immediate. ### Will selected users see every upcoming Microsoft 365 feature early? Not necessarily. Some features only roll out at the organization level, so selected Targeted Release users may not receive them early. To preview all Targeted Release features, you need the full organization on Targeted Release or a dedicated test tenant. ### Does Targeted Release control Word, Excel, and PowerPoint desktop updates? No. Desktop Microsoft 365 Apps updates are managed through update channels: Current Channel, Monthly Enterprise Channel, and Semi-Annual Enterprise Channel. Targeted Release only affects cloud-delivered Microsoft 365 service experiences. ### Can I switch back to Standard Release after enabling Targeted Release? Yes, but there is a catch. If you switch back, users may temporarily lose access to features that have not yet reached Standard Release. Factor that in before making the switch mid-deployment. ### Is Targeted Release available in government cloud environments? Yes. Microsoft documents Targeted Release availability for customers on Office 365 GCC, GCC High, and DoD plans for supported services including new Outlook, OneDrive, SharePoint, Microsoft 365 for the web, the Microsoft 365 admin center, and some Exchange Online components. ### How is Targeted Release different from Microsoft Teams Public Preview? They are separate controls. Targeted Release is configured in the Microsoft 365 admin center and applies to supported Microsoft 365 services. Teams Public Preview is a per-user setting managed through Teams update policies. Microsoft specifically notes that Teams Public Preview policies have no effect on users who are part of Microsoft 365 Targeted Release. You may want both enabled for comprehensive early access to Teams changes. ### Managing Microsoft 365 Copilot Connectors: Synced, Federated, and the Admin Controls You Need to Know URL: https://seanshares.com/manage-microsoft-365-copilot-connectors/ Last updated: 2026-05-05T12:30:42.000Z As Copilot adoption spreads across organizations, connector management has quietly become one of the more important governance conversations for Microsoft 365 admins. Connectors determine what external systems Copilot can reason over, cite, and surface to users. Get the setup right and you extend Copilot's value significantly. Get it wrong and you either leave useful data inaccessible or expose content in ways your governance team would not approve. Microsoft now supports two distinct connector models: synced connectors, which index external content into Microsoft Graph, and federated connectors, which retrieve data live using Model Context Protocol without ever copying it into Microsoft 365\. Each model works differently, requires different admin controls, and suits different use cases. This article walks through both, including the newer PowerShell-based toggle that gives admins tenant-wide control over federated connectors. ![Connector Gallery in M365 Admin portal](https://seanshares.com/content/images/2026/05/image-7.png) Connector Gallery in M365 Admin portal ## What Are Microsoft 365 Copilot Connectors? Copilot connectors allow organizations to bring external data into Microsoft 365 so users can search, reason over, and act on content from systems outside the Microsoft 365 tenant. The connector content can surface in Microsoft 365 Copilot Chat, Microsoft Search, Copilot Search, Teams, Outlook, and other Microsoft 365 intelligent experiences. If you have been following Microsoft Search for a while, you will recognize this capability. What used to be called Microsoft Graph connectors, and before that Microsoft Search connectors, is now branded as Microsoft 365 Copilot connectors. The underlying technology evolved from powering search results to grounding Copilot answers, providing citations, and supporting multi-turn AI conversations with external content. Microsoft's connector gallery includes more than 100 prebuilt connectors for systems like ServiceNow, Salesforce, Confluence, Box, Azure services, and others. Organizations can also build custom connectors using the Microsoft Graph API. ## Synced vs. Federated Connectors: The Core Difference The two connector models are not interchangeable. Understanding the difference is the starting point for any connector governance conversation. Synced connectors crawl and index external content into Microsoft Graph. Once indexed, that content is available to Copilot and Microsoft Search, and it stays in Microsoft 365 until you remove the connection or the content changes. The admin configures the connector, sets up the crawl schedule, maps the schema, and the indexing runs in the background. Users never need to authenticate to the source system directly. Federated connectors work the opposite way. They use Model Context Protocol, or MCP, to retrieve content in real time from an external system at the moment a user asks a question. Nothing is indexed into Microsoft Graph. The data stays in the source system, and Copilot fetches only what the user has permission to see, using the user's own credentials. The admin enables the connector and manages availability, but authentication happens at the user level. Microsoft currently lists federated connectors for Canva, Google Calendar, Google Contacts, HubSpot, Intercom, Linear, LSEG, Moody's, and Notion, with more being added over time. These connectors surface in Microsoft 365 Copilot Chat, Copilot in Excel, and the Researcher agent. Synced connectors are better suited for knowledge repositories, document stores, wikis, ticketing systems, and CRM data where broad indexed discovery adds value. Federated connectors are better suited for live, dynamic, or regulated data that needs to stay in the source system and where real-time retrieval is more appropriate than indexing. ## How Synced Connectors Are Managed Synced connectors are managed from the Microsoft 365 admin center under **Copilot**, then **Connectors**. You need the AI Administrator role to access this area. Deploying a synced connector with the default configurations: 1. From the Microsoft 365 admin center, go to **Copilot**, then **Connectors**, then **Gallery**. 2. Select the data source you want to connect and click **Add**. 3. Enter a connection display name, the source URL, and the authentication method. 4. Select **Create** to start the connection and begin indexing. ![](https://seanshares.com/content/images/2026/05/image-8.png) Adding connection screen Most connectors use optimized defaults for permissions, schema, and sync frequency. You can also choose custom setup if the defaults do not fit your requirements. Custom setup lets you configure three areas in more detail. To see the Custom Tabs below, click the Custom Setup button ![](https://seanshares.com/content/images/2026/05/image-9.png) The Users tab controls who can see indexed content. You can restrict visibility to users who already have access to the content in the source system, or you can make it visible to everyone in the organization. The least-privilege approach is to start with "only users with access to the content" unless there is a clear business reason to open it more broadly. For more on how SharePoint and Microsoft 365 permissions intersect with content access, the [SharePoint permissions guide](https://seanshares.com/sharepoint-online-permissions-explained-sites-libraries-and-files/) covers useful background on how permission inheritance and access controls work. The Content tab is where you map schema properties. You can mark properties as searchable, queryable, retrievable, or refinable, assign semantic labels, and choose which property Copilot uses for full-text indexing. Semantic labels like title, url, lastModifiedBy, and lastModifiedDateTime matter more than most admins realize. They help Copilot understand, rank, cite, and attribute content correctly. If your Copilot answers are missing citations or returning generic results, schema mapping is usually where to look first. The Sync tab controls crawl schedules. You can configure both full and incremental crawl intervals. Incremental crawls sync only new or changed data, which is efficient, but they do not process permission updates. Full crawls are needed periodically to keep permissions and content aligned. ![Custom Setup Tabs](https://seanshares.com/content/images/2026/05/image-10.png) Custom Setup Tabs ### Controlling Copilot Visibility for Synced Connectors Once the synced connector is setup, one thing admins frequently overlook is you can configure a synced connector to keep crawling without making its data visible in Copilot. - In the Your Connections tab, click on the recently created connector. - At the button of the screen, there is a visibility toggle for partner connector data sources that controls whether indexed content appears in Copilot Search and Copilot Chat. If you turn visibility off, the connector continues indexing, but Copilot ignores it. Changes take up to 30 minutes to propagate. ![](https://seanshares.com/content/images/2026/05/image-11.png) This is useful during testing. You can run a full crawl and validate the indexed content before exposing it to Copilot users. ## Managing Synced Connections with PowerShell Microsoft Graph PowerShell gives admins programmatic access to external connection objects through the `Microsoft.Graph.Search` module. This is useful for building a connector inventory, checking connection states, or automating governance reporting. The basic commands for reading connection data look like this: ``` Import-Module Microsoft.Graph.Search Connect-MgGraph -Scopes "ExternalConnection.Read.All" # List all external connections Get-MgExternalConnection -All | Select-Object Id, Name, Description, State # Get a specific connection Get-MgExternalConnection -ExternalConnectionId "" ``` The connection state field tells you whether a connection is syncing, ready, paused, failed, or in a delete-failed state. The `contentCategory` property is worth noting too. It tells Microsoft Graph what type of content the connection contains, which helps with relevance ranking and semantic understanding in Copilot responses. Use read operations freely for reporting and inventory. Write operations like creating, updating, or deleting connections should go through change control, because schema changes and connection deletions directly affect what Copilot and Search can discover. The required permissions are `ExternalConnection.Read.All` for read-only access, or `ExternalConnection.ReadWrite.All` if your automation needs to create or modify connections. Personal Microsoft accounts are not supported. ## How Federated Connectors Work Federated connectors flip the operational model. Instead of crawling and indexing, they use Model Context Protocol to fetch live data from an external system when a user makes a request in Copilot. Nothing is copied into Microsoft 365\. The source system stays as the system of record. When an admin enables a federated connector, it becomes discoverable in the Sources menu in Copilot Chat or in Researcher. The user connects with their own credentials to the external system. From that point, Copilot can retrieve content from that source, but only what the user already has permission to see in the original system. OAuth 2.0 and encrypted communication handle authentication. Federated connectors are read-only. Copilot can search or fetch content, but it cannot write data back to the source. They are also auditable in Microsoft Purview, which matters for regulated industries. This model is a good fit for dynamic content, sensitive data where indexing into Microsoft 365 is not acceptable, or systems where the data changes frequently enough that a cached index would quickly become stale. ## Managing Federated Connector Availability with PowerShell The governance challenge with federated connectors is that Microsoft-published ones are enabled by default for a tenant. They appear in the admin center and become available to users without any admin action. For most organizations, that default-on posture deserves a second look. Microsoft provides a tenant-wide toggle through the `Connector.Cmd` PowerShell module that lets admins disable all default federated connectors in one operation. The setting also applies automatically to future Microsoft-published federated connectors, so organizations that want a review-first posture do not have to catch each new connector as it arrives. ### Prerequisites - Global Administrator or AI Administrator permissions - PowerShell running as administrator - Connector.Cmd module version 2.1 or later ### Install the module and run the toggle ``` Install-Module Connector.Cmd Set-FederatedConnectorToggle ``` When you run `Set-FederatedConnectorToggle`, it prompts you to authenticate with Global Administrator or AI Administrator credentials, asks you to approve the requested permissions, and then asks whether you want to disable or enable federated connectors. Running the command again shows you the current state before asking for any changes. ![](https://seanshares.com/content/images/2026/05/ToggleConnectors.png) Powershell Commands for adjusting federated connectors Changes can take up to 10 minutes to propagate across Microsoft 365 experiences. You may need to refresh the admin center, and users may see a brief delay before the change takes effect in Copilot. ### Selective enablement after disabling Disabling federated connectors globally does not prevent you from turning individual ones back on. You can go to **Copilot**, then **Connectors**, then **Your Connections** in the admin center to selectively enable specific connectors even while the global toggle is set to disabled. That gives you an opt-in governance model rather than the default opt-out one. ![](https://seanshares.com/content/images/2026/05/image-12.png) Option to Enable or Disable Federated MCP connector You can also use staged rollout to limit connector availability to specific Microsoft Entra ID groups, which is useful for running a pilot before broader enablement. ### The seven-day admin review window When a new Microsoft-published federated connector first appears in the admin center, it is available only to admins for seven calendar days before it opens up to users. That window exists for exactly this purpose: review it, decide whether to keep it enabled, configure staged rollout, or disable it before users can access it. Build that review window into your change management process so it does not go unnoticed. ## Governance and Security Considerations The governance picture for connectors has gotten more complex now that two fundamentally different data models are in play. Here is how to think through the key areas. Data movement is the most important distinction. Synced connectors move data into Microsoft Graph. That means your data governance, retention, and compliance policies need to account for external content now living inside Microsoft 365\. Federated connectors leave data where it is. For regulated industries, that distinction often determines which model is acceptable. Permission enforcement works differently across both models. Synced connectors index content with access control lists so Copilot only shows items to users who have access in the source system. Federated connectors enforce permissions at query time using the user's live credentials. Both models respect source-system permissions, but the mechanism and timing are different. Because Microsoft-published federated connectors are on by default, organizations with strict data governance requirements should consider using the PowerShell toggle to start from a disabled state and selectively enable only approved connectors. The [Copilot admin settings and governance article](https://seanshares.com/copilot-admin-settings-to-check-governance/) covers related admin controls worth reviewing alongside connector settings. If your organization is also managing which users have access to Copilot at all, the [guide to disabling Copilot as a Microsoft 365 admin](https://seanshares.com/disable-copilot-as-a-microsoft-365-admin/) walks through the license and policy controls that complement connector governance. Auditing is available for federated connectors through Microsoft Purview. Make sure your audit configuration is capturing connector activity if your compliance requirements call for it. ## Common Mistakes To Review Treating all connectors the same is probably the most common one. Synced and federated connectors have different data movement models, different authentication models, and different governance implications. The word "connector" now covers two very different things. Assuming a paused synced connector removes data from Copilot is another one. Pausing stops the crawl, but data from the connection stays searchable and visible in Copilot until you delete the connection or turn off visibility in the connector settings. Relying only on incremental crawls without periodic full crawls creates permission drift. Incremental crawls do not process permission updates. If permissions on source content change, those changes are not reflected in indexed content until a full crawl runs. Not using the federated connector toggle for governance-sensitive environments leaves the tenant in a default-on state where Microsoft-published connectors appear automatically. For most regulated organizations, a review-first posture is more appropriate. Poor schema mapping is one that hurts Copilot quality rather than governance directly. If you skip the semantic label configuration, Copilot may return correct content but cite it poorly or fail to attribute it to the right source. Map title, url, lastModifiedBy, and lastModifiedDateTime at minimum. ## Admin Checklist for Connector Governance - Inventory all existing synced connector connections using `Get-MgExternalConnection -All` - Identify which external systems should be available to Copilot and classify them by data sensitivity - Confirm user mapping and permission enforcement for each synced connection - Review schema labels, particularly title, URL, last modified by, and last modified date/time - Configure crawl schedules with periodic full crawls alongside incremental crawls - Decide whether each synced connector's content should be visible in Copilot - Run `Set-FederatedConnectorToggle` if your organization wants a review-first posture for federated connectors - Review each Microsoft-published federated connector during the seven-day admin window - Selectively enable approved federated connectors and configure staged rollout where appropriate - Monitor connector health, crawl failures, service health notifications, and user feedback - Audit federated connector activity in Microsoft Purview if your compliance requirements call for it ## Frequently Asked Questions ### What is the difference between a synced connector and a federated connector? A synced connector crawls and indexes external data into Microsoft Graph, making it persistently available to Copilot and Microsoft Search. A federated connector retrieves data in real time from an external system using Model Context Protocol without indexing anything into Microsoft 365\. Synced connectors suit broad discovery scenarios; federated connectors suit live, dynamic, or sensitive data that should stay in the source system. ### Are federated connectors enabled by default? Yes. Microsoft-published federated connectors are enabled by default for a tenant. Admins can use `Set-FederatedConnectorToggle` from the `Connector.Cmd` PowerShell module to disable them all tenant-wide, then selectively re-enable approved connectors through the Microsoft 365 admin center. ### What admin role do I need to manage Copilot connectors? You need the AI Administrator role to access and manage Microsoft 365 Copilot connectors in the Microsoft 365 admin center. The federated connector PowerShell toggle requires Global Administrator or AI Administrator credentials. ### If I pause a synced connector, does data disappear from Copilot? No. Pausing a connector stops the crawl, but indexed data from that connection remains searchable and visible in Copilot and Microsoft Search. To remove data from Copilot, you need to delete the connection or turn off the Copilot visibility setting for that connector. ### Do incremental crawls handle permission changes? No. Incremental crawls sync new or changed content but do not process permission updates from the source system. Full crawls are needed periodically to keep permissions and indexed content aligned. This is an important detail for any connector that indexes content with access controls. ### Can I limit which users see a federated connector? Yes. Admins can use staged rollout in the Microsoft 365 admin center to restrict federated connector availability to specific Microsoft Entra ID groups before enabling it more broadly. ### Is there a review window for new federated connectors? Yes. When a new Microsoft-published federated connector first appears in the admin center, it is visible only to admins for seven calendar days before becoming available to users. Use that window to review the connector, configure staged rollout, or disable it before general availability. ### Can federated connectors write data back to external systems? No. Federated connectors are read-only. Copilot can search and retrieve content from connected external systems, but it cannot write data back through the federated connector model. ### How is federated connector activity audited? Microsoft states that federated connectors can be audited in Microsoft Purview. Check your Microsoft Purview audit configuration to confirm that connector activity is being captured if your compliance requirements need it. ### What Happened to Planner Task Comments? - Microsoft Planner 2026 Updates URL: https://seanshares.com/what-happened-to-planner-task-comments/ Last updated: 2026-05-08T15:28:42.000Z If you opened a Planner task recently and couldn't find the comments box, you're not alone. This is a common question I've been seeing from Microsoft 365 Planner users. The short answer: comments haven't been deleted, but they have been replaced. Microsoft swapped the legacy comments experience in basic plan tasks for something called Task chat, and the two are not the same thing. Here's what changed, where your old comments went, and what your team needs to do differently going forward. ## Microsoft Planner Is in the Middle of a Major Overhaul To understand why comments changed, you have to understand what Microsoft has been doing with Planner over the past year. Microsoft has been consolidating its work management tools, pulling together capabilities that used to live in Planner, To Do, and Project for the web into a single unified Planner experience. Project for the web, along with the Project and Roadmap apps in Teams, were retired starting August 1, 2025, and users were moved to Microsoft Planner. ![Microsoft Planner My Day landing page](https://seanshares.com/content/images/2026/05/image-6.png) Microsoft Planner That's a big shift, and the comments change is part of the same modernization push. A few of the key updates along the way: - June 2025: Bulk editing landed in basic plans' Grid view, letting you update assignees, priority, progress, and dates across multiple tasks at once. - August 2025: The Project Manager agent expanded into shared premium plans and Planner for the web, gaining web search and a floating AI chat entry point. - February 2026: MC1193421 - Microsoft rolled out a refreshed Planner design, Task chat, and Goals view for basic plans. - March 2026: MC1250279- The Project Manager agent was renamed Planner Agent, and AI features started expanding to basic plans for users with Microsoft 365 Copilot licenses. - April 2026: MC1256306 - Planner Agent arrived in Microsoft 365 Copilot through the [Frontier program](https://seanshares.com/what-is-the-microsoft-frontier-program-and-how-do-you-use-it-in-microsoft-365/), letting eligible users create tasks from emails and meetings, ask questions across task sources, and draft structured plans. The February 2026 rollout is where the comment situation starts. Microsoft began pushing the refreshed interface, Task chat, and Goals view to basic plans in Planner in Teams and Planner for the web on February 23, 2026, continuing in waves over the following weeks. ## The Big Change: Task Chat Replaces Legacy Comments Legacy Planner comments were tied to the plan's Microsoft 365 Group conversation. When someone left a comment on a task, it was sent to the plan's group mailbox and visible in Outlook. It was basically email masquerading as task discussion. That model had real limitations: you couldn't @mention anyone, you couldn't edit or delete a comment once posted, and notifications went broadly to anyone who had already commented on the task. ![Task Chat in Planner task](https://seanshares.com/content/images/2026/05/image-5.png) Task chat replaces that entirely for basic plan tasks. It's a proper in-task messaging thread, and it works the way most people expected Planner to work all along. Here's what Task chat gives you: - Each task has a single chat thread. If no chat exists yet, the first message starts it. - Messages appear in chronological order. - You can @mention anyone who has access to the plan, and they get both an email and a Teams notification. - If you're not @mentioned, you don't get a notification. That's intentional, and it's a big behavioral change from the old model. - You can edit or delete messages you wrote. Edits are marked, and deleted messages leave a placeholder. - Task chat supports rich text formatting and emoji reactions. Microsoft called @mentions in tasks "one of your most requested features" when announcing this change. That tracks. The old comments model was frustrating precisely because you couldn't target a specific person. One thing worth knowing: Task chat does not travel with a task if you move it to another plan. The chat stays behind. Keep that in mind if you're reorganizing plans. Also, Task chat is currently only available in basic plans. If your organization uses premium plans, those continue with the existing task conversation experience for now. Microsoft says premium plans will converge into the new experience later. Users in GCC, GCC High, or DoD environments may also still be on the legacy experience. ## So Did Microsoft Actually Delete Your Old Comments? No, at least not by design. Microsoft's position is that legacy comment threads remain accessible. They just live somewhere different now. The old comments experience is no longer directly visible inside the task pane the way it used to be. Instead, the task details pane shows a link to open the comment thread in Outlook, where the original group conversation lives. New messages go into Task chat. Existing threads stay where they are so you don't lose the history. The important thing to understand: old comments do not automatically convert into Task chat messages. They're two separate experiences that coexist. If you or someone on your team posted something in the old comments months ago, that content is not in Task chat. It's in the legacy thread, accessible through Outlook or the link in the task pane. User reports from Microsoft Q&A during the April 2026 rollout period show that some people found old comments through a Comments tab that appeared in their task, while others had to hunt for them in Outlook. A few couldn't find them at all and needed admin support to locate the group conversation. The experience during rollout was inconsistent, which makes sense because Microsoft pushes these updates in waves. Two people in the same org can temporarily be on different versions of Planner. ## Where to Find Old Planner Comments If you're looking for comments that existed before Task chat rolled out to your tenant, here's where to look: 1. Open the task in Planner and look for a legacy comments link or a Comments tab in the task details pane. 2. Open the associated Microsoft 365 Group in Outlook. Go to the Groups section of your Outlook sidebar, find the group the plan belongs to, and look through the group conversations. 3. Search the group mailbox for the task name or keywords you remember from the comment thread. 4. If the Outlook link isn't showing up in the task, your tenant may still be mid-rollout. Check back in a few days. 5. If you still can't find them after the above, ask your Microsoft 365 admin to open a support request with Microsoft. ![](https://seanshares.com/content/images/2026/05/image-4.png) The most common failure point I hear about is people not knowing that Planner plans are backed by Microsoft 365 Groups at all. If that's news to you, the group is what holds the group mailbox, shared calendar, and shared files associated with the plan. The old comments lived there, not inside Planner itself. ## Why Notifications Feel Different Now With the old comments model, posting a comment sent a notification to the plan's Microsoft 365 Group and to anyone who had already commented on the task. It was a broad notification. Not targeted, not opt-in, just... broad. If you were watching an Outlook group conversation for task updates, you'd see everything. Task chat works the opposite way. Notifications go only to users you explicitly @mention. If someone posts an update and doesn't mention anyone, nobody gets a notification. The task owner doesn't automatically get notified. The person it's assigned to doesn't automatically get notified. Only the people tagged get pinged. Microsoft says this was done in response to customer feedback that the old model generated too many notifications. That's fair. But the trade-off is that teams who used Planner comments as a passive status log in Outlook will now miss updates unless they establish new habits. If you need to manage how notifications flow more broadly, the article on [controlling Teams notifications in Outlook](https://seanshares.com/how-do-i-turn-off-teams-notifications-in-outlook/) has some useful context on how the notification stack works across Microsoft 365. The practical rule your team needs to agree on: always @mention the task owner and any relevant reviewers when you post an update that requires attention. Don't assume someone will see it because they own the task. ## What Admins Should Tell Users The biggest change management risk here is users panicking that their comments are gone when they're actually just relocated. Getting ahead of that with a simple internal message goes a long way. Something like this works: "Planner task comments are changing. New task messages now appear in Task chat inside each task. Older comments remain accessible through Outlook or a link in the task pane, but they won't show up in Task chat automatically. New Task chat notifications only go to people you @mention." Beyond the announcement, there are a few things worth updating: - Train users on @mentions. The new model only works if people use @mentions deliberately. Run a quick demo in a team meeting or drop a note in your Teams channel with the new expectation: @mention the owner for anything requiring action, @mention reviewers when a decision is needed, and don't assume assignees are watching the chat thread passively. - Update any documentation or SOPs that reference Planner comments. If your team has a guide that says "add a comment to notify the team" or "check Outlook group conversations for task updates," those need to be revised. Replace them with "use Task chat for discussion" and "use @mentions for notifications." - Review your retention and compliance posture. Old comments lived in Microsoft 365 Group conversations, which are subject to your organization's existing retention policies. Task chat may behave differently depending on how your tenant is configured. If your organization has specific requirements around records retention or eDiscovery, this is worth a review with your compliance team. For a broader look at Copilot and Microsoft 365 governance, the [Copilot admin settings governance article](https://seanshares.com/copilot-admin-settings-to-check-governance/) covers some of the overlapping admin considerations. - Update your help desk scripts. When users call in saying their comments are gone, the answer is: they probably aren't. Microsoft replaced the comments box with Task chat. Old comments are in Outlook or accessible through a link in the task pane. New notifications only go to @mentioned users. ## Other Planner Updates in 2026 To Know About The Task chat change didn't land alone. Several other things changed or were retired as part of the same update. - The refreshed Planner interface has a cleaner layout with reduced visual clutter and better spacing. It's not a dramatic redesign, but it's noticeably more organized than the previous version. - Goals view is now available in basic plans, letting teams define objectives, connect tasks to shared goals, and track progress. Access requires a Planner premium license or a Microsoft 365 Copilot license. - Planner Agent, which was called Project Manager Agent until March 2026, is now generally available for users with Microsoft 365 Copilot licenses in both basic and premium plans. It can generate status reports and take action on tasks. In April 2026, it became available through Frontier in Microsoft 365 Copilot, adding the ability to ask questions across task sources, create tasks from emails and meetings, and draft structured plans. If you manage [Copilot access for your organization](https://seanshares.com/disable-copilot-as-a-microsoft-365-admin/), you'll want to check whether Planner Agent is scoped appropriately for your users. A few things were retired alongside the new features: - The Whiteboard tab in premium plans is gone. Existing whiteboard content is still accessible in the Whiteboard app, but the tab and the ability to create tasks from whiteboards are retired. - The Planner component in Loop pages was retired. Existing components now show the plan URL, and tasks remain in Planner. - The Planner integration with Viva Goals was retired, which tracks with Viva Goals itself retiring on December 31, 2025. - The iCalendar feed integration was retired. You can no longer create new iCal feeds, and previously created feeds no longer pull in Planner tasks. - Converting a basic plan to a premium plan is temporarily unavailable. For now, you'd need to create a new premium plan and move tasks manually. If your team was relying on any of those integrations, especially the iCal feed or the Viva Goals connection, now is a good time to set up alternative workflows. For teams managing personal task loads alongside Planner, the [Microsoft To Do tips article](https://seanshares.com/microsoft-to-do-tips-smart-dates-automation-recurrence-flagged-emails/) covers how To Do and Planner interact, which is useful context if users are trying to manage their assigned Planner tasks alongside personal task lists. ## Best Practices for the New Planner The changes to comments and notifications mean teams need to be more deliberate about how they use Planner for communication. Here's what works well in the new model: - Use Task chat for task-level discussion. It's the right place for questions, decisions, and updates tied to a specific piece of work. - Use @mentions every time you post something that needs a response. Don't leave updates without tagging the right person. - Use task fields (status, progress, priority, due date) for durable status information. Task chat is for conversation, not for tracking state. If someone needs to know the current status, it should be readable from the task fields, not buried in a chat thread. - Use task notes and checklists for structured information that doesn't belong in a chat thread, like requirements, acceptance criteria, or step-by-step instructions. - If your organization has Copilot licenses, use Planner Agent status reports for plan-level updates rather than manually summarizing chat threads. - When reviewing historical work, remember that old comments live in the Outlook group conversation. Don't assume the absence of Task chat messages means there was no prior discussion. Microsoft's changes to Planner in 2026 are genuinely improvements, especially the @mentions and the richer formatting in Task chat. The transition is just messier than it needed to be because old comments didn't migrate forward, and the notification model changed in ways that aren't obvious unless someone tells you. Now that you know what actually happened, you can bring your team up to speed and avoid the confusion that's been tripping up a lot of organizations during the rollout. --- ## Frequently Asked Questions ### Are Microsoft Planner comments gone? No, not by design. Microsoft says existing legacy comment threads remain accessible through a link in the task pane or through the Outlook group conversation for the plan. The comments box inside the task has been replaced by Task chat, but old threads aren't supposed to be deleted. ### Why can't I add new comments to the old thread? New messages are only added through Task chat. The legacy comment thread is read-only at this point. If you need to continue a conversation that started in old comments, you'll need to start it in Task chat and reference the old thread if necessary. ### Why didn't my teammate get notified about my Task chat message? Task chat only sends notifications to users you explicitly @mention. Owning a task does not make you a recipient of notifications automatically. You need to @mention the person for them to get an alert. ### Do old comments show up in Task chat? No. Old comments and Task chat are separate. Legacy comments live in the Outlook group conversation, not in Task chat. They don't migrate, and there's no automatic bridging between the two experiences. ### Is Task chat available in premium plans? Not yet. Microsoft says premium plans continue using the existing task conversation experience and will converge into the new Task chat experience later. Task chat is currently only available in basic plans. ### Can users edit or delete their Task chat messages? Yes. You can edit or delete messages you wrote. Edited messages are marked so others can see they were changed. Deleted messages leave a placeholder rather than disappearing entirely. ### What happened to the iCalendar feed in Planner? Microsoft retired the iCalendar feed integration as part of the 2026 Planner update. You can no longer create new iCal feeds, and feeds that were previously created no longer pull in Planner tasks. ### How to Get a Microsoft Teams Meeting Transcript URL: https://seanshares.com/how-to-get-a-microsoft-teams-meeting-transcript/ Last updated: 2026-04-21T09:30:50.000Z If you were in a Teams meeting and now you cannot find the transcript, you are not alone. This is one of the most frequently asked questions in the Microsoft Teams community, and the confusion makes sense. Transcripts in Teams do not work the way most people expect them to. They are not automatically generated for every meeting, they are not stored in an obvious place, and the default permissions mean that even participants who were in the meeting cannot always download them. This guide covers how transcription works, where to find the transcript after a meeting, and what to do if you cannot get access to it. ## Does Every Teams Meeting Get a Transcript? No. Transcription in Teams is not on by default for most organizations. Either someone has to manually start transcription during the meeting, or your IT admin has configured a policy to automatically transcribe all meetings. If neither of those happened, there is no transcript to find. This is the most common reason people cannot find a transcript after a meeting. If no one started it, it does not exist. There is no way to generate a transcript retroactively from a meeting that has already ended, even if the meeting was recorded. ## How to Start Transcription During a Meeting If you are in a meeting and want to start transcription, here is how to do it: 1. In the meeting controls at the top of the screen, click the **More** button (three dots). 2. Select **Record and transcribe**. 3. Choose **Start transcription**. ![](https://seanshares.com/content/images/2026/04/image-25.png) - A notification will appear for everyone in the meeting letting them know transcription has started. ![](https://seanshares.com/content/images/2026/04/image-26.png) - You can stop it at any time through the same menu by choosing **Stop transcription**. ![](https://seanshares.com/content/images/2026/04/image-27.png) Note that you need to have permission to start transcription. In some organizations, only organizers and co-organizers can do this. If you do not see the transcription option in the menu, your IT admin may have restricted who can start it, or the feature may not be enabled on your account at all. ## How to Have Transcription Start Automatically If you want transcription to start automatically for every meeting without having to remember to turn it on during the meeting, you can do this as the organizer: - When scheduling a meeting, open **Meeting options** before sending the invite. ![](https://seanshares.com/content/images/2026/04/image-18.png) - Look for the recording and transcription settings and turn on **Record automatically** or **Transcribe automatically** if that option is available. This applies to that specific meeting only. ![](https://seanshares.com/content/images/2026/04/image-19.png) --- ## How to Enable Transcription and Recording as an IT admin Microsoft Teams lets M365 Teams admins control whether users can record meetings and use transcription through meeting policies in the Teams admin center. Admins can turn these features on for specific users by editing a custom policy, or enable them organization-wide by updating the Global policy. Meeting recording and transcription are separate settings, so both should be reviewed if you want users to have access to both features. While you are in the Teams admin center reviewing transcription policies, it is also a good time to check your broader Copilot governance settings. There are a few switches that organizations often overlook when rolling out AI features. This post on [Copilot admin settings to check for better governance](https://seanshares.com/copilot-admin-settings-to-check-governance/) covers the ones worth reviewing first. - Admins can go to the **Teams admin center** ![](https://seanshares.com/content/images/2026/04/image-20.png) - Navigate to **Meetings**, and open **Meeting policies**. Select the policy you would like to change. ![](https://seanshares.com/content/images/2026/04/image-22.png) - Inside the policy assigned to your users, there is a transcription setting that can be enabled to start transcription automatically for every meeting that policy applies to. If you want this for your whole organization, you would enable it on the global policy. ![](https://seanshares.com/content/images/2026/04/image-23.png) --- ## Where to Find the Transcript After the Meeting Once a meeting ends and transcription was running, the transcript shows up in a few places. The most common place people check first is the meeting chat. - Open Teams, go to **Chat** ![](https://seanshares.com/content/images/2026/04/image-29.png) - Find the meeting conversation. Scroll to the bottom and you should see a recap section with a link to the transcript. This works well for recent meetings but can be harder to find if the meeting was a while ago. ![](https://seanshares.com/content/images/2026/04/image-30.png) The more reliable place to find it is through the Teams calendar. Here is how: 1. Open **Calendar** in Teams. 2. Click on the meeting event. 3. Look for the **Recap** tab at the top of the meeting details panel. 4. The transcript, any recording, and AI-generated notes will all be here if they were created. ![](https://seanshares.com/content/images/2026/04/image-31.png) If the meeting was a recurring one, make sure you are clicking on the specific occurrence that happened, not just the recurring event template. You can also find transcripts through OneDrive. Open OneDrive for Business, navigate to the **Recordings** folder, and look for the meeting. The transcript file will be stored there alongside the recording if one was made. ![](https://seanshares.com/content/images/2026/04/image-32.png) ## How to Download the Teams Transcript If you are the meeting organizer, downloading the transcript is straightforward: - Open your **Teams calendar** and click on the meeting. - Go to the **Recap** tab and click on **Transcript** ![](https://seanshares.com/content/images/2026/04/image-33.png) - Find the transcript and click the download icon. ![](https://seanshares.com/content/images/2026/04/image-34.png) 1. Choose your format: **.docx** for a Word document or **.vtt** for a timed caption file. The .docx format is the most useful for most people. It includes timestamps and speaker names alongside the text, formatted as a readable document. The .vtt format is better if you need to use the transcript with video editing software or caption tools. ## Why You Cannot Download the Transcript as a Participant This is the question that comes up most often, and the answer usually depends on **meeting access settings**. In Teams, people may be able to view a meeting transcript in **Recap**, but downloading it depends on who has access to the recording and transcript, along with any file-sharing permissions applied afterward. Standard transcript and recording access is part of Teams, but some advanced access controls are only available with **Teams Premium** or **Microsoft 365 Copilot**. If you need to download a transcript and you are not the organizer, the easiest option is to ask the organizer to either download it and share it with you or update the meeting’s access settings. In organizations with **Teams Premium** or **Microsoft 365 Copilot:** - Organizers can open the meeting and go to **Meeting options** \> **Recording & transcription** to control **who has access to the recording, transcript, and AI recap**. - There, they can choose **Everyone**, **Organizers and co-organizers**, or **Specific people**. The default setting is **Everyone**. If you want to set this up before the meeting starts, open the meeting from the Teams calendar, select **Meeting options**, and then open **Recording & transcription**. Choose the access level you want so the right people can download the transcript after the meeting ends. This access-setting control is one of the features that requires **Teams Premium** or **Microsoft 365 Copilot**. If you change it during an active meeting, the meeting must be ended and restarted for the new setting to take effect. If you need to manage access after the meeting at the file level, organizers can also open the transcript or recording from Teams and then manage sharing permissions in **OneDrive**, **SharePoint**, or **Stream**, depending on where the file opens. That file-level sharing step is separate from the **Teams Premium** meeting access options above. If your organization also uses **AI-generated recap features**, those are not part of standard Teams recording/transcription. **Intelligent recap** features are available with **Teams Premium** and are also included with **Microsoft 365 Copilot**. ## Transcripts vs Recordings vs AI Notes People often mix these three things up, so it is worth being clear on what each one is. A **transcript** is a text file that captures what was said during the meeting, attributed by speaker. It is generated in real time as the meeting happens. It is searchable and can be downloaded as a Word document or caption file. Transcription does not require recording to be on. A **recording** is a video file of the meeting. It is stored in OneDrive or SharePoint depending on the meeting type. Having a recording does not automatically mean you have a transcript. They are started and stopped independently. **AI-generated notes** (sometimes called Copilot notes or Intelligent Recap) are a summary that Microsoft 365 Copilot creates based on the transcript. These are not a verbatim record but a structured summary of key points, action items, and follow-ups. You need a Copilot license to use this feature, and you need transcription running for Copilot to work from. If someone says "did you see the transcript," they usually mean the verbatim text record. If they say "the meeting notes," they might mean either the AI summary or notes someone typed manually. Worth clarifying which one you actually need. If you want to go further with AI-assisted meeting intelligence, take a look at [Microsoft Teams Facilitator](https://seanshares.com/what-is-microsoft-teams-facilitator-and-how-to-use-it/), which builds on meeting transcripts to give you real-time AI support during calls, including suggested responses, task capture, and meeting summaries. ## What to Do If the Transcript Is Missing If the meeting happened but you cannot find the transcript anywhere, work through this list: 1. **Confirm transcription was actually started.** Check with the organizer or another attendee. If no one started it, there is no transcript. 2. **Check the Recap tab in the Teams calendar**, not just the chat. The chat recap section does not always show everything. 3. **Give it time.** Transcripts can take 30 minutes to a few hours to process after the meeting ends for longer meetings. If you are checking right after the meeting, wait and check again. 4. **Check OneDrive.** Go to OneDrive for Business and look in the Recordings folder. Sometimes the file is there before it shows up in Teams. 5. **Check your permissions.** You may be able to view but not download. The transcript might exist but your access level only allows a read view without a download option. 6. **Contact your IT admin.** If transcription was supposed to be running but you cannot find it, your admin can check whether the feature is enabled on your account and whether the file was stored correctly. ## Frequently Asked Questions **Why is the Start Transcription option grayed out or missing?** There are a few possible reasons. Your IT admin may have disabled transcription for your account or limited it to certain roles. You may be joining from a device or client where the feature is not supported. Or the meeting may be set up in a way that does not support transcription, such as a channel meeting in certain configurations. Check with your IT admin if you consistently cannot access the option. **How long are transcripts kept before they are deleted?** By default, transcripts follow the same retention policies as other meeting content in your organization. Microsoft does not delete them automatically on a fixed schedule unless your organization has set up a retention policy in the compliance center. That said, if the organizer's account is deleted or the associated meeting content is removed, the transcript may go with it. Your IT admin can check the retention settings that apply in your environment. **Can I get a transcript from a meeting I did not organize?** It depends on the access settings the organizer chose. If the organizer set transcript access to Everyone, you can view and download it from the Recap tab in the Teams calendar. If they left it at the default, which is organizers and co-organizers only, you will need to ask the organizer to share it with you or update the permissions. You cannot access it yourself without being given permission. **Does Teams transcription work in languages other than English?** Yes, Teams transcription supports a range of languages, though the list is not exhaustive. The language is detected automatically based on what is being spoken, but you can also set the spoken language manually during the meeting in the transcription panel. Accuracy varies by language. English tends to be the most accurate. If your organization regularly holds meetings in other languages, it is worth testing the accuracy before relying on the transcript for anything important. **Why do some names in the transcript show as Unknown Speaker?** Teams attributes speaker names by matching audio to the voice profiles of participants who have joined the meeting. If someone joins without being signed into their Microsoft 365 account, calls in by phone, or has not set up their voice profile, Teams cannot match their voice and labels them as Unknown Speaker. Guests and external participants also sometimes appear this way depending on how they joined. **Can I edit the transcript after the meeting?** You can make corrections to the transcript from the Recap tab if you are the organizer. Open the transcript view and you should see an option to edit. This is useful for fixing names that were misidentified or correcting words that the transcription got wrong. Changes you make there are reflected when others view the transcript. Note that the downloadable file is a snapshot taken at the time of download, so if you want the corrected version, make your edits first and then download. **Does everyone in the meeting know when transcription is running?** Yes. Teams shows a notification to all participants when transcription starts, similar to the notification shown when recording begins. There is no way to run a hidden transcript without participants being notified. This is by design and required for compliance reasons in most jurisdictions. Participants can also see a transcription indicator in the meeting controls while it is running. ## The Practical Takeaway Getting a Teams transcript comes down to two things: making sure transcription was actually started during the meeting, and making sure you have permission to access it afterward. If transcription was running, the transcript will be in the Recap tab of the meeting in your Teams calendar. If you cannot download it, the organizer needs to update the access settings. And if you want to stop having to remember to start transcription manually, either update your meeting options before scheduling or ask your IT admin to enable automatic transcription through a meeting policy. ### What Is Microsoft Copilot Cowork and How to Enable It URL: https://seanshares.com/what-is-microsoft-copilot-cowork-how-to-enable-it/ Last updated: 2026-06-16T22:59:53.000Z *Updated June 16, 2026: Microsoft Copilot Cowork is now generally available worldwide for Microsoft 365 Copilot customers. This article has been updated to reflect general availability, usage-based billing with Copilot Credits, admin cost controls, new model options, plugins, and updated user access through the Cowork toggle in Microsoft 365 Copilot.* ![](https://seanshares.com/content/images/2026/06/image-6.png) Most Copilot features in Microsoft 365 are reactive. You ask, Copilot answers. You prompt, Copilot drafts. Copilot Cowork is different. Instead of responding to one prompt at a time, Cowork can take on a larger piece of work and run through the steps needed to complete it. It can work across Microsoft 365 apps, files, messages, meetings, and data. You describe the outcome you want, and Cowork plans the task, works through it, and gives you a completed result rather than just a suggestion. Microsoft announced on June 16, 2026 that Copilot Cowork is now generally available worldwide for Microsoft 365 Copilot customers. That is a big change from the original preview period. Cowork is no longer just a [Frontier](https://seanshares.com/what-is-the-microsoft-frontier-program-and-how-do-you-use-it-in-microsoft-365/) preview feature, although some newer capabilities are still tied to Frontier. It is now a generally available Microsoft 365 Copilot experience with usage-based billing, admin controls, and new governance options. This is a meaningful shift in what AI in Microsoft 365 can do, and it is worth understanding what Cowork is, what changed with general availability, what it can handle, how billing works, and what admins should review before turning it on. ## What Is Copilot Cowork? Copilot Cowork is an agentic system built into Microsoft 365 Copilot. Microsoft describes it as a system that plans, executes, and delivers work across your apps, files, and data. It is powered by Work IQ, which means it can use signals from Microsoft 365 to produce results that are grounded in your work context. The simplest way to explain it is this: > Standard Copilot helps you create or understand something. Cowork helps you get something done. If you ask standard Copilot to draft a follow-up email after a meeting, it can write the draft. If you ask Cowork to handle the follow-up, it can work through the broader task, such as finding the right context, drafting the message, preparing supporting content, and asking for approval before taking an action that affects other people. Cowork is built for longer, multi-step work. It is not just a chat response. Microsoft says Cowork is designed to execute complex, long-running, multi-tool tasks from start to finish and return completed work rather than just a draft or recommendation. Cowork is still something you supervise. It is not meant to quietly run wild in the background without you knowing what it is doing. Microsoft's description of Cowork emphasizes that it works inside the Microsoft 365 trust boundary and follows existing policies and controls. ## What Changed With General Availability? The original version of this article was written when Cowork was still a Frontier preview feature. That is no longer the main story. As of June 16, 2026, Copilot Cowork is generally available worldwide to Microsoft 365 Copilot customers. Microsoft says that after three months in Frontier preview, more than half of the Fortune 500 had used Cowork, along with organizations including Accenture, Avanade, Advance Local, Capital Group, Koch, LTM, Ooredoo Qatar, and Zurich Insurance. There are four big updates admins and users should know about. - Cowork is generally available. Microsoft Learn says the June 2026 release makes Microsoft 365 Copilot Cowork generally available to all Microsoft 365 Copilot tenants worldwide in tier-1 languages. - Cowork now uses usage-based billing. It requires a Microsoft 365 Copilot User Subscription License, and Cowork usage is billed separately using Copilot Credits. Microsoft says each task price is calculated from model use, context retrieval, tool calls, and runtime. - Cowork is off by default. Microsoft says customers decide when Cowork turns on, who gets access, and how much can be spent. Admins can enable Cowork for the tenant and decide who can use it. - Microsoft added more admin controls. The GA release includes spending limits at tenant, group, and user levels, usage alerts, usage reporting, user-initiated credit requests, and payment options including PayGo and P3\. PayGo is priced at $0.01 per Copilot Credit. That means Cowork has moved from "interesting preview feature" to "real service admins need to govern." ## What Can Copilot Cowork Do? ![](https://seanshares.com/content/images/2026/04/image-15.png) Copilot Cowork Cowork is designed for work that spans more than one step or more than one Microsoft 365 app. Microsoft's Adoption page describes Cowork as coordinating long-running, multi-step workflows across apps, files, and data. It also says Cowork is powered by Work IQ and applies task-appropriate models to produce context-aware results. In practical terms, Cowork is useful when the request is more like a work assignment than a single prompt. Examples include: - Preparing a customer meeting by finding relevant emails, notes, files, and previous discussions - Comparing documents or files across versions - Creating a report from multiple sources - Drafting stakeholder communications based on project context - Building a PowerPoint deck using company brand templates - Working through recurring business processes that require several steps - Using plugins to bring other business systems into the workflow Microsoft shared examples from preview customers, including an engineering team that used Cowork to safely edit batch-job spreadsheets and generate dependency flow charts, a team that compared nearly four thousand files across two product versions, and a sales lead who used Cowork to review a stalled pipeline and find at-risk opportunities. That does not mean every task should go to Cowork. For quick questions, summaries, or simple drafting, standard Copilot Chat is usually the better place to start. Cowork is for the work that has multiple steps, multiple sources, or a clear outcome that needs more than a single response. ## How Cowork Is Different From Copilot Chat The easiest way to decide whether to use Copilot Chat or Cowork is to look at the shape of the task. Use Copilot Chat when you want an answer, a summary, a rewrite, or a quick draft. Use Cowork when you want to hand off a multi-step outcome. For example, if you want to summarize one email thread, Copilot Chat is fine. If you want to review a project, find open issues, draft a status update, prepare a meeting agenda, and create a document from the results, Cowork is a better fit. Microsoft's Adoption guidance also frames Cowork as one choice alongside Chat and agents. It is not a replacement for every Copilot experience. It is another tool in the Microsoft 365 Copilot toolbox. ## Where Users Find Cowork If Cowork is turned on for a user, Microsoft says they can select the **Cowork** toggle in Microsoft 365 Copilot to jump into the full Cowork experience. If the user does not see the toggle, Microsoft's Adoption page tells them to contact their IT admin for access. ![](https://seanshares.com/content/images/2026/06/image-4.png) This is a change from the earlier preview flow where users looked for Cowork as an agent in the Agent Store. The new GA experience has a more direct entry point in the [Microsoft 365 Copilot app](https://seanshares.com/how-to-pin-outlook-teams-and-more-in-the-new-microsoft-365-copilot-interface/). The Microsoft 365 Copilot app now includes a toggle that takes users into Cowork's full experience so they can move from chat to action more quickly. If a user cannot see Cowork, check the basics first: - They need a Microsoft 365 Copilot license. - Cowork needs to be enabled by the organization. - The user needs to be included in the group or policy allowed to use Cowork. - Billing and spending controls may need to be configured by an admin. ## Requirements for Copilot Cowork The biggest requirement is licensing. Microsoft says Copilot Cowork requires the Microsoft 365 Copilot User Subscription License. Cowork usage is then billed on a usage basis through Copilot Credits. That means a standard Microsoft 365 license by itself is not enough. Users need Microsoft 365 Copilot, and the organization needs to enable Cowork. Since Cowork can perform long-running work and generate usage-based charges, admins should review access, spending limits, reporting, and compliance settings before turning it on broadly. Microsoft says Cowork is off by default and that admins decide when to enable it, who gets access, and how much can be spent. ## How Billing Works This is one of the biggest changes from the preview version of Cowork. Copilot Cowork is not simply "included at no extra cost" with Microsoft 365 Copilot. The user needs a Microsoft 365 Copilot license, but Cowork itself uses usage-based billing. Microsoft says Cowork usage is billed in Copilot Credits. The cost of a task is based on four inputs: - Model use - Context retrieval - Tool calls - Runtime Microsoft also says PayGo is priced at $0.01 per Copilot Credit. This means a small Cowork task should cost less than a large one. A task that pulls from a few sources and produces one output is different from a task that reasons over many sources, uses multiple tools, and runs for longer. Microsoft describes light, medium, and heavy task patterns that it observed during Frontier usage. Light tasks use a small number of knowledge sources, apply limited reasoning, and produce one or fewer outputs. Medium tasks draw on multiple sources, apply structured reasoning, and generate two or more outputs. Heavy tasks aggregate broadly, apply deep reasoning, and produce many outputs. Admins should treat Cowork like any other consumption-based service. Start with a pilot, set spending limits, review reports, and expand access once you understand actual usage. ## Cost Management Controls Microsoft added cost controls because Cowork can perform longer-running agentic work. The GA announcement groups cost management into three areas: control, visibility, and efficiency. - For control, admins can decide when Cowork turns on, who gets access, and how much can be spent. Microsoft says Cowork is off by default, supports spending limits at the tenant, group, and user levels, supports customizable usage alerts, and lets users request more credits from inside Cowork when they need additional credits for a task. - For visibility, admins can see usage reporting at the tenant, group, and user levels. Microsoft says reporting can show usage by user, group, and feature. User-level pricing for each task in credits is listed as coming soon after GA. - For efficiency, Microsoft says customers can choose PayGo or P3\. PayGo provides flexibility, while P3 lets customers commit to a usage volume in advance in exchange for a discount. If your tenant participated in Frontier between March 30 and June 16, there is one more detail to know. Microsoft says tenants with at least one Frontier user who used Cowork during that period will not be billed for Cowork usage until July 1, 2026, to support the transition. ## How to Enable Copilot Cowork as an Admin Since Cowork is off by default, admins need to make a deliberate decision before users can access it. ![](https://seanshares.com/content/images/2026/06/image-5.png) The exact admin center labels may continue to evolve as Microsoft updates the GA experience, so use Microsoft's current admin guidance as the source of truth. At a high level, the enablement process should look like this. ### 1\. Confirm Microsoft 365 Copilot Licensing Start by confirming that the users you want to pilot with have Microsoft 365 Copilot licenses assigned. Cowork requires the Microsoft 365 Copilot User Subscription License. Users without that license should not be expected to see or use Cowork. ### 2\. Decide Who Should Get Access First Do not turn Cowork on for everyone just because it is generally available. Start with a limited group. Good pilot users are people who already use Copilot regularly and have real multi-step work to test. Examples include project managers, sales operations, executive assistants, analysts, communications teams, and IT staff. Microsoft says admins decide who gets access to Cowork. That makes it easier to pilot with a controlled group before broad rollout. ### 3\. Configure Spending Limits Before Broad Rollout This should happen before you invite users to start testing. Cowork uses usage-based billing, so set spending limits and alerts up front. Microsoft says admins can create scoped billing policies and define budgets at tenant, group, and user levels. For a pilot, I would start with a small group-level budget and a user-level cap. That gives people room to test without creating a surprise bill. ### 4\. Enable Cowork for the Tenant or Pilot Group After licensing and budgets are ready, enable Cowork for the users or groups you selected. Microsoft says Cowork is off by default and admins decide when to enable it. If you are only piloting it, avoid an all-user rollout at first. Use a group so you can manage access, monitor usage, and collect feedback. ### 5\. Review Model, Plugin, Browser, and Compliance Settings Microsoft Learn says the GA admin guidance covers model toggles, browser-use controls, consumption visibility, and Purview integration. That is worth reviewing before rollout. It is also a good time to revisit your wider Copilot setup, including the [Copilot admin settings worth checking for better governance](https://seanshares.com/copilot-admin-settings-to-check-governance/). Cowork now includes model selection, an expanded plugin catalog, local browser use, and new security and compliance capabilities. Some of those features may be appropriate for your organization right away. Others may need more review, especially in regulated environments. ### 6\. Communicate the Change to Users Do not just turn Cowork on and hope users figure it out. Tell pilot users what Cowork is for, when to use it instead of Copilot Chat, how billing works at a high level, and what kinds of tasks are appropriate for testing. Microsoft's Adoption page tells users that if Cowork is turned on, they can select the **Cowork** toggle in Microsoft 365 Copilot. If they do not see the toggle, they should contact IT. A simple internal note could say: > Copilot Cowork is now available to our pilot group in Microsoft 365 Copilot. Use it for multi-step work, not quick chat questions. Start with low-risk tasks, review outputs carefully, and do not approve actions unless you are comfortable with the result. Cowork usage is metered, so please use it intentionally during the pilot. ## What Is New in Cowork? The June 2026 GA release adds several important features. ### Model Choice Microsoft Learn says Cowork now has a model picker that lets users select Auto or choose a specific model. The GA lineup includes Claude Opus and Sonnet variants, the Sonnet plus Opus Advisor pairing, and GPT 5.5. Microsoft's GA blog says Copilot Cowork runs on Anthropic models including Opus 4.8 and Sonnet 4.6 at general availability. It also says Frontier customers can use GPT 5.5, and that Cowork 1 is coming soon. If you want to use the Anthropic models in your tenant, here is [how to enable the Claude model in Microsoft Copilot](https://seanshares.com/how-to-enable-claude-in-microsoft-copilot/). ### Image Generation Microsoft Learn says Cowork can generate images using Imagen 2\. Users can ask for an image in chat, and Cowork saves it to the conversation and OneDrive output folder. ### Local Browser Use Microsoft Learn says Cowork can complete web tasks for users in Microsoft Edge on their device, using existing sign-ins and organizational policies. Microsoft's GA announcement describes browser use via Edge as available in Frontier, where Cowork can browse the web through a local Edge browser while following enterprise policies. ### Customize Page and Skills Microsoft Learn says the new Customize page brings plugins and skills into one place. Users can browse, install, and share plugins and skills, and can create new skills through a guided conversation. This is useful because a lot of real work follows repeatable patterns. Skills let you capture how you want a task done so Cowork can apply the same approach again. ### Brand Templates Microsoft Learn says Cowork can apply an organization's brand template, including fonts, colors, logos, and layouts, to PowerPoint decks it creates. That matters for organizations that want Copilot-created content to look more like company content and less like a generic AI-generated deck. ### Plugins Microsoft's GA announcement lists nine partner plugins available now: Enosix, Harvey, LSEG, Miro, monday.com, Moodys, Morningstar, S&P Global Energy, and TeamsMaestro. Microsoft also says Adobe, Atlassian, Box, Canva, CB Insights, Databricks, MoneyForward, and Templafy are coming soon. Fabric and Dynamics 365 Sales, Customer Service, and ERP apps are also generally available. Microsoft Learn also says the Microsoft 365 App Store now lists Microsoft and partner plugins for Cowork, including Microsoft plugins such as Dynamics 365 Customer Service, Dynamics 365 Sales, Dynamics 365 ERP, and Fabric IQ, plus partner connectors such as Jira, Salesforce, ServiceNow, SAP ERP, Workday HCM, Zendesk, and more. If you manage data sources for Copilot, it is worth understanding how [Microsoft 365 Copilot connectors](https://seanshares.com/manage-microsoft-365-copilot-connectors/) fit into this picture. ## Security and Compliance Cowork needs extra attention because it does not just generate text. It can work across tools and produce artifacts. Microsoft says Cowork operates within the Microsoft 365 trust boundary, with protections that align to existing organizational policies and controls. Microsoft also says Cowork prompts, responses, and generated artifacts flow through existing Microsoft 365 controls and are governed, discoverable, and retained securely. Sensitivity labels are inherited and displayed end to end. At GA, Microsoft lists audit log, Data Security Posture Management, eDiscovery, and Communication Compliance policies as part of the protected surface. Microsoft says Insider Risk Management, Data Loss Prevention, and Data Lifecycle Management are coming soon. For regulated organizations, that is the section to read carefully. Cowork is powerful, but the governance model matters just as much as the user experience. If your environment includes Teams, it is also worth reviewing your [Microsoft Teams AI policy](https://seanshares.com/microsoft-teams-ai-policy-guide/) so your Copilot and Cowork controls stay consistent. ## What Cowork Is Not Cowork is not a replacement for Copilot Chat. If you want a quick summary, a rewrite, or a fast answer, Copilot Chat is still the right place to start. Cowork is better for work that has a beginning, middle, and end. Cowork is also not a reason to skip review. Outputs still need human judgment. If Cowork drafts an email, creates a deck, compares files, or prepares a report, review the result before using it. Cowork is not free unlimited automation. It now uses usage-based billing, and admins should plan for that. ## Recommended Rollout Plan If you are an admin, I would not enable Cowork for everyone on day one. A better rollout looks like this: - Pick a small pilot group. - Confirm Microsoft 365 Copilot licensing. - Turn on Cowork only for that group. - Set spending limits before people begin testing. - Enable usage alerts. - Review compliance and Purview settings. - Give users sample tasks and clear guidance. - Review usage and outcomes after the pilot. - Expand access once you understand the cost and value. That may sound cautious, but it is the right approach for an agentic system with usage-based billing. If your organization already uses a phased ring approach like [Microsoft 365 Targeted Release](https://seanshares.com/microsoft-365-targeted-release-what-it-is/), the same mindset applies here. Cowork can create real value, but it should be governed like a real enterprise service. ## Frequently Asked Questions ### Is Copilot Cowork generally available? Yes. Microsoft announced on June 16, 2026 that Copilot Cowork is generally available worldwide for Microsoft 365 Copilot customers. ### Is Cowork still a Frontier-only preview? No. The main Cowork experience is now generally available. Some newer capabilities, such as certain model options or browser-use capabilities, may still be associated with Frontier based on Microsoft's GA announcement and Learn documentation. ### Do users need a Microsoft 365 Copilot license? Yes. Microsoft says Copilot Cowork requires the Microsoft 365 Copilot User Subscription License. ### Is Copilot Cowork free with Microsoft 365 Copilot? No, not in the way the preview was commonly understood. Users need a Microsoft 365 Copilot license, and Cowork usage is billed separately on a usage basis through Copilot Credits. ### How much does Cowork cost? Microsoft says Cowork uses Copilot Credits, and PayGo is priced at $0.01 per Copilot Credit. The cost of each task depends on model use, context retrieval, tool calls, and runtime. ### Is Cowork turned on by default? No. Microsoft says Cowork is off by default. Admins decide when to enable it and who gets access. ### Where do users find Cowork? If Cowork is enabled for the user, they can select the Cowork toggle in Microsoft 365 Copilot. If they do not see it, Microsoft says they should contact their IT admin. ### Can admins control spending? Yes. Microsoft says admins can set spending limits at the tenant, group, and user levels, configure usage alerts, and view usage reporting at tenant, group, and user levels. ### What models does Cowork use? Microsoft says that at general availability, Copilot Cowork runs on Anthropic models including Opus 4.8 and Sonnet 4.6\. Frontier customers can use GPT 5.5, and Microsoft says Cowork 1 is coming soon. Microsoft Learn also says the GA model picker includes Claude Opus and Sonnet variants, the Sonnet plus Opus Advisor pairing, and GPT 5.5. ### Does Cowork support plugins? Yes. Microsoft announced partner plugins available now and more coming soon. Microsoft Learn also lists an expanded plugin catalog in the Microsoft 365 App Store. ### Can Cowork use Microsoft Edge? Microsoft Learn says Cowork can complete web tasks in Microsoft Edge on the user's device using existing sign-ins and organizational policies. Microsoft's GA announcement says browser use via Edge is available in Frontier. ## Final Thoughts Copilot Cowork is one of the more important Microsoft 365 Copilot updates so far because it moves Copilot closer to execution. That does not mean every user should immediately start handing off every task. It means Microsoft 365 Copilot now has a more capable option for long-running, multi-step work. The key update for admins is that Cowork is no longer just a preview feature to experiment with. It is generally available, it has a usage-based billing model, and it has controls that should be configured before broad rollout. If you are an admin, start small. Pick a pilot group, set budgets, watch usage, and review the security and compliance settings. If you are a user, start with a low-risk task and pay attention to how Cowork plans the work, what it produces, and where it asks for your input. Cowork is not just another chat box. It is Microsoft's next step toward AI that can help carry out actual work inside Microsoft 365\. That makes it useful, but it also makes governance more important than ever. ### SharePoint Online Gets a Major User Experience Redesign URL: https://seanshares.com/sharepoint-online-major-user-experience-redesign/ Last updated: 2026-03-18T14:44:05.000Z It's hard to believe Microsoft SharePoint turned 25 recently and that I've been working with it for almost 20 of those years. [Happy Birthday SharePoint!](https://adoption.microsoft.com/en-us/sharepoint/birthday/?ref=seanshares.com) Along with the birthday celebration comes a new redesign for SharePoint Online and it is the biggest visual and navigation overhaul SharePoint has seen in years. Microsoft is starting public preview this month (March 2026), and full production rollout is scheduled for May 2026\. This post covers what is changing, what is not changing, SharePoint admin considerations, and how to get ahead of the support panic before it hits. --- ## What Is Changing in the SharePoint Redesign ### Simplified Navigation The most noticeable update is a simplified navigation structure across SharePoint Online. The left-side app bar has been reorganized to surface key elements such as Discover, Publish, Build and OneDrive. Hub navigation is also being simplified to reduce deep nesting that often made larger SharePoint environments feel overwhelming. For users, this will hopefully be cleaner and faster feel. For SP admins, it means any navigation-oriented documentation or training materials will need updating. ![](https://seanshares.com/content/images/2026/03/image-1.png) New SharePoint User Experience ### AI-Assisted Content Discovery The redesign introduces AI-assisted content discovery through Microsoft Copilot integrated directly into SharePoint search and browsing. Users will be able to describe what they want in natural language, and AI-powered search will surface relevant files, pages, and sites. The quality of results depends heavily on the quality of your content governance. Well-named files, proper metadata, and clean site structures will all improve Copilot’s effectiveness. Poorly managed sites will confuse the AI as much as they confuse people. ### Refreshed App Bar The SharePoint app bar is receiving structural and visual updates that change how quick access links, news, and search are presented. Organizations that have customized their app bar will need to review and potentially rebuild those configurations after rollout. Before the redesign arrives, review your current app bar setup in the SharePoint Admin Center and document everything. ### Dark Mode for the SharePoint Admin Center Admins will now have access to a dark mode option within the SharePoint Admin Center. This is a quality-of-life improvement, especially for admins with accessibility needs. ![](https://seanshares.com/content/images/2026/03/image-3.png) --- ## What Is Being Retired: Featured Links Featured Links are being removed from the SharePoint Start Page starting in March 2026, with complete retirement planned by late June 2026. Featured Links were commonly used to curate important resources for users. Once retired: - Existing Featured Links will no longer appear on the Start Page - They will be removed from the SharePoint mobile app - There is no direct export or import process for migrating them elsewhere Document your current Featured Links and determine where those key links should be surfaced in the redesigned experience. Communicate the change early to prevent a surge of “Where did my links go” tickets. --- ## How to Enable the New SharePoint Experience To prepare for the 2026 redesign rollout, SharePoint admins can enable the new SharePoint experience in a test or preview environment before it reaches production. Enabling the preview gives you early access to the updated navigation, app bar, AI features, and overall layout so you can test customizations and update documentation. ### Steps to enable the preview in the SharePoint Admin Center 1. Sign in to the Microsoft 365 Admin Center with SharePoint admin or global admin permissions. 2. Open the SharePoint Admin Center from the left navigation menu. 3. Select Settings in the left navigation. 4. Scroll to the section labeled New SharePoint Experience. 5. Check the option to "Enable the new SharePoint Experience". 6. Save your changes. It may take several minutes for the preview features to appear in your tenant. ![](https://seanshares.com/content/images/2026/03/image.png) ## Other SharePoint Admin Considerations SharePoint navigation changes always bring an increase in user questions. ### 1\. Test the New Experience Early Opt in to the public preview in March 2026 and explore the new experience in a test tenant. The earlier you familiarize yourself with the changes, the easier it will be to support your users. ### 2\. Identify Change Champions Select knowledgeable SharePoint users in each major department and brief them before the full rollout. These champions help field basic questions and reduce IT workload. ### 3\. Update Intranet Documentation If you maintain a “How to Use SharePoint” guide or intranet help page, add time to update it during or before the rollout period. ### 4\. Review Hub Navigation Configurations Hub navigation is commonly impacted during redesigns. Validate your hub navigation in the preview environment and adjust as necessary. ### 5\. Prepare User Communication Prepare one clear announcement about what is changing, when it is happening, and where users can find help. Send it one to two weeks before the rollout. --- ## Custom Scripting and SharePoint Framework: Important Changes As part of the tightened Content Security Policy, organizations may need to review and update their list of trusted sources for custom scripts and SharePoint Framework components. Trusted sources define which external domains are allowed to load scripts, styles, or other resources within SharePoint. If your SPFx solutions depend on content from CDNs or third party endpoints, you may need to explicitly add those domains to your allowed sources in the SharePoint Admin Center or within your SPFx package configuration. This ensures that external assets load correctly while still maintaining a strong security baseline. Configuring trusted sources reduces the risk of unauthorized scripts running in your environment and helps maintain compliance with modern security standards. ![](https://seanshares.com/content/images/2026/03/image-2.png) ### Testing Custom Solutions Test the following components in the preview environment: - Web parts loading external JavaScript - Scripts making cross-origin API calls - Custom app bar modifications - iFrame-based embeds If anything breaks, you will have time to update or rebuild before production rollout. --- ## SharePoint Mobile App Updates The SharePoint mobile app will receive interface updates aligned with the desktop redesign. Featured Links will also be removed from mobile. If you maintain mobile-specific SharePoint documentation or training, plan to update it. --- ## The Opportunity to Spring Clean Although major UI changes require work, they also create a natural opportunity to modernize and clean up your SharePoint environment. Consider using this moment to: - Audit and archive unused sites - Improve site and document metadata for better AI discovery - Establish or reconfigure your SharePoint Home Site - Conduct a permissions audit to improve security and user experience --- ## OneDrive Sync Folder: Custom Naming Admins can now define a custom name for the OneDrive sync folder created in File Explorer or Finder. Shorter, cleaner names help prevent Windows path-length issues and improve consistency for users. --- ## Summary - Audit and document Featured Links before they retire in June 2026 - Document and review your current app bar customizations - Opt into preview to explore the new experience early - Brief your change champions - Prepare user communication before rollout - Test SPFx solutions against updated CSP rules - Use the redesign as a launchpad for broader governance cleanup The redesign will hopefully improve the SharePoint experience for users. By preparing early, SP admins can make the transition smoother and reduce support panic. ### How to Take Control in Microsoft Teams Screen Share URL: https://seanshares.com/how-to-take-control-in-microsoft-teams-screen-share/ Last updated: 2026-05-03T21:04:32.000Z If you run meetings, trainings, or live support sessions in Microsoft Teams, you have probably wished you could click something on the presenter’s screen instead of talking them through every step. Teams includes a built-in feature that lets the presenter **give control** to someone else, or lets a viewer **take control** during screen sharing, so another person can interact with what is being shared. --- ## What “take control” means in Teams In Teams, “take control” is the same idea as remote control during a screen share: - A presenter shares their desktop or a window. - Another participant requests control. - The presenter approves the request. - The participant can use their mouse and keyboard to interact with the shared content until control is released. This is different from “presenter permissions” or “who can present.” It specifically refers to interacting with the shared screen. ## Requirements before you try Before troubleshooting buttons and settings, check the basics: - **You must be in an active screen share** (desktop or window). - The presenter must **approve** the request before anyone can control their screen. - Your organization’s meeting policy can disable giving and requesting control. ### Desktop app vs browser vs Mac differences - Control works most consistently when both users are in the **Teams desktop app**. - Teams for the web has been gaining support for “take control” in newer experiences, but it has specific limitations and may require preview or targeted release in some cases. - On Mac, if you enable the [**native macOS content sharing**](https://techcommunity.microsoft.com/blog/microsoft365insiderblog/native-macos-screen-sharing-in-teams-meetings/4475544?ref=seanshares.com) option, Teams cannot give or take control in that mode. --- ## How to take control in Teams screen share (viewer steps) Use this when someone else is sharing and you want to click or type on their shared screen. 1. Join the Teams meeting. 2. When the other person starts sharing, look at the sharing toolbar and you will see a "Take Control" button appear. 3. Select **Take Control**. A new window will appear to verify you want to Request Control, click on the **Request** button. 4. Wait for the presenter to click on the **Give Control** button that should now appear at the top of their screen . 5. When finished, select the **Stop control** button at the top of your Teams. **Tip:** Tell the presenter what you plan to do before you request control, especially if they have sensitive content open. Take control on Teams screen share --- ## How to give control in Teams screen share (presenter steps) Use this when you are sharing and you want someone else to drive. 1. Start sharing your **desktop** or a **window** in Teams by clicking on the **Share** button at the top of your Teams. 2. On the sharing toolbar, select **Give control** (or approve a request when prompted). 3. Choose the participant. 4. When you want control back, select the **Take back** button (or ask the other person to **Release control**). ## How to take control in Teams for the web Microsoft has been rolling out “take control” for Teams on the web in newer clients, especially for organizations using Public Preview or Targeted Release. In supported scenarios: 1. While someone is sharing, select **Take control**. 2. The presenter approves. 3. Select **Release control** when done. One key limitation to know: web support can depend on who is sharing and which client they are using. For example, Microsoft notes scenarios where web “take control” is supported when the person sharing is on the desktop client. --- ## Admin controls: allow or block Teams screen share control If you are an admin and your users cannot request or give control, I would recommend checking your Meeting policy settings using the steps below. ### Teams admin center policy setting This is controlled through a **Teams meeting policy**. To adjust the setting: - First navigate to [https://admin.teams.microsoft.com/](https://admin.teams.microsoft.com/?ref=seanshares.com) - Select **Meetings > Meeting Policies** - Select the policy you would like to adjust, for example the *Global (Org-wide default)* policy - Scroll to the *Content Sharing* section - Now you can toggle the **Participants can give or request control** option to control internal users and you can also adjust the **External participants can give or request control** option to control external users. ![](https://seanshares.com/content/images/2026/01/image-5.png) Toggles for Microsoft Teams screen share control access ### PowerShell options to configure the tenant control policy If you have the Microsoft Teams Powershell module installed, you can adjust these settings using the following Teams PowerShell commands: - Connect using `Connect-MicrosoftTeams` - `Set-CsTeamsMeetingPolicy -Identity -AllowParticipantGiveRequestControl $True` ![](https://seanshares.com/content/images/2026/01/image-6.png) - `-AllowExternalParticipantGiveRequestControl` for external participants ![](https://seanshares.com/content/images/2026/01/image-7.png) --- ## Common issues and fixes ### “Give control” does nothing or you cannot approve requests On some systems, Teams requires GPU hardware acceleration for the give control menu to work properly. If hardware acceleration is unavailable, the controls can fail to open or respond. **What to try** - Verify the device supports hardware acceleration (Microsoft suggests checking `edge://gpu/` or `chrome://gpu/`). ![](https://seanshares.com/content/images/2026/01/image-4.png) Hardware accelerated enabled `edge://gpu/` - Update graphics drivers and make sure hardware acceleration is enabled where applicable. ### On Mac: “Give or take control” is missing If you enabled **Use macOS content sharing** (the native macOS sharing experience), Teams cannot give or take control while using that mode. **Fix:** Turn off macOS content sharing in Teams settings if you need remote control. ### External users cannot request control Even when internal users can request control, external participants may be blocked by policy. [Make sure the organizer’s meeting policy allows external participants to give or request control](https://youtu.be/bKCYitS3Mys?ref=seanshares.com). ## Best practices for using Teams screen share control - Share a **specific window** when possible, not your entire desktop. - Close sensitive apps and browser tabs before you approve control. - Narrate what is happening if you are hosting a training session. - Use control for short, specific tasks, and then **release control** to reduce risk. --- ## Teams Screen Share Control FAQ ### Can anyone take control of my screen in Teams at anytime? No. A participant can request control, but **the presenter must approve** before they can interact with the shared screen. ### Why do I not see “Request control” in my meeting? Common causes include meeting policy restrictions and client limitations. The ability to give or request control can be [disabled by Teams meeting policy](https://youtu.be/bKCYitS3Mys?ref=seanshares.com). ### Can I use take control in Teams on the web? In some environments, yes. Microsoft has introduced take control during screen sharing for Teams on the web in newer clients, with noted limitations and rollout requirements. ### Why is give control not working even though I see the button? On some devices, Teams needs GPU hardware acceleration for the give control menu to function properly. If hardware acceleration is unavailable, it can break the give control experience. ### Why can’t I give or take control on my Mac? If you enabled the **native macOS screen sharing experience** in Teams settings, remote control is not supported in that mode. Turn it off if you need give or take control. ### What is Microsoft Teams Facilitator? - How to Use It and Admin Controls URL: https://seanshares.com/what-is-microsoft-teams-facilitator-and-how-to-use-it/ Last updated: 2026-05-03T21:05:12.000Z You may have noticed a new participant in your Microsoft Teams meetings lately, one that does not speak up on audio but quietly helps keep the conversation organized and the outcomes clear. That participant is Facilitator. ![](https://seanshares.com/content/images/2026/01/image-1.png) --- ## What is Microsoft Teams Facilitator? Microsoft [Teams Facilitator](https://support.microsoft.com/en-us/office/facilitator-in-microsoft-teams-meetings-37657f91-39b5-40eb-9421-45141e3ce9f6?ref=seanshares.com) is an AI meeting agent designed to help meetings run better. In meetings, Facilitator can generate real-time notes that participants can co-author, summarize key decisions and open questions, and respond to questions in the meeting chat. It can also detect or request an agenda, help track time against agenda items, run timers, and help capture tasks that can sync into a meeting plan. ## Licensing and prerequisites A few quick prerequisites to set expectations: - A Microsoft 365 Copilot license is required to add Facilitator to a meeting or turn it on during a meeting. - Facilitator is designed for scheduled meetings. It is not available for certain meeting types like ad hoc calls and some channel scenarios, depending on the experience available in your tenant. - [Loop experiences need to be enabled for your tenant](#enableLoop) - If you want to use Facilitator after the meeting to answer questions about what happened, transcription needs to be available and turned on based on your organization’s meeting policy configuration. --- ## How to use Teams Facilitator for meetings ### 1) Turn it on when you schedule the meeting 1. In Teams, go to **Calendar** and select **New event**. 2. Add your attendees. 3. Enable the Teams Meeting toggle and the Facilitator option should appear (or open **Meeting options**, then the Copilot and AI related settings). 4. Turn the Facilitator option on and send the invite. If you are scheduling a recurring series, decide upfront whether you want Facilitator for the entire series. It is much easier than trying to unwind it later. ### 2) Turn it on during the meeting (organizers and presenters) If it was not enabled in the invite: 1. Join the meeting. 2. Select **More actions** in the meeting controls. 3. Choose **Turn on Facilitator**. 4. If prompted, select the meeting language. Once enabled, it typically takes a few minutes before you start seeing useful structured output, especially if the conversation is just getting started. ### 3) Give it an agenda so it can help with pacing Facilitator is most helpful when it has an agenda with time boxes. - Post an agenda in the meeting details or notes. - Or add one in chat by addressing it directly, for example: - “@Facilitator, agenda: intros 5 minutes, topic A 15 minutes, decisions 10 minutes, next steps 5 minutes.” With an agenda, it can help you stay on track and create cleaner meeting artifacts. ### 4) Use it in meeting chat for quick clarity In the meeting chat, you can talk to the Facilitator app by typing @Facilitator and then ask it to: - Summarize what was discussed so far - List decisions and open questions - Help identify action items - Clarify what the group agreed to, especially near the end of the meeting This is especially useful when you join late or when the meeting gets lively and you want to make sure the key points are captured. ### 5) Review outcomes after the meeting After the meeting, open the meeting chat and look for recap and notes. Facilitator’s output is meant to be refined, so treat the notes like a strong first draft, then adjust wording, owners, and dates so your team walks away aligned. --- ## How to control Teams Facilitator as a Microsoft 365 admin As an M365 tenant admin, you have some options to control the use of Teams Facilitator: 1. allowing or blocking it tenant-wide 2. piloting it for a subset of users 3. aligning meeting policies (like transcription) so the experience behaves the way you expect ### Roles needed to perform these admin steps To manage Facilitator in the Teams admin center and to create or assign app permission policies, the most common required role is: - **Teams Administrator** (or higher) In some organizations, broader consent and tenant-level governance actions are restricted to: - **Global Administrator** (or higher) If you delegate Teams operations, a Teams Administrator is typically the right balance for day to day control. ### Allow or block the Facilitator app in Teams admin center 1. Go to the [**Teams admin center**](https://admin.teams.microsoft.com/?ref=seanshares.com). 2. Navigate to **Teams apps** → **Manage apps**. 3. Search for **Facilitator** and select it. 4. Click the Users and groups tab 5. Now click the Edit availability button. 6. From the "Available to" drop down, choose the appropriate setting for your tenant. Tip: If your tenant is set to block all apps by default, Facilitator will be blocked until explicitly allowed. ### Facilitator also depends on Loop being enabled If Facilitator is allowed in Teams, your users are licensed, but it still feels like something is missing, this is usually the next place I check: **Loop experiences in Teams**. Microsoft is very explicit that **Loop experiences in Teams must be turned on for Facilitator to be used in meetings**. This makes sense once you know where the “notes” live. Facilitator meeting content is stored as a **`.loop` file** in the organizer’s OneDrive (in a folder named **Meetings**), and Microsoft treats that data as meeting transcript data. ### How Loop is controlled Loop is governed by **SharePoint tenant properties** that you manage via **SharePoint PowerShell** (this is separate from the Cloud Policy toggles used for other Loop integrations). The two key settings are: - `IsLoopEnabled` controls Loop component creation and integration in Teams. - `IsCollabMeetingNotesFluidEnabled` controls collaborative meeting notes, which is also the control Microsoft calls out for AI-generated notes behavior. Both settings apply to the **entire tenant** and **cannot be configured per user**. ### Check and configure Loop with PowerShell You will need the SharePoint Online Management Shell module (`Microsoft.Online.SharePoint.PowerShell`) and a connection to your SharePoint Online admin endpoint. `` # Install or update the SharePoint Online Management Shell module Install-Module -Name Microsoft.Online.SharePoint.PowerShell Update-Module -Name Microsoft.Online.SharePoint.PowerShell # Connect (use your tenant admin URL) Connect-SPOService -Url https://-admin.sharepoint.com Get-SPOTenant | Select IsLoopEnabled, IsCollabMeetingNotesFluidEnabled ![](https://seanshares.com/content/images/2026/01/image-2.png) If you need to enable Loop for your tenant, you can use the following `Set-SPOTenant -IsLoopEnabled $true Set-SPOTenant -IsCollabMeetingNotesFluidEnabled $true` ### Check transcription in the Teams admin center (meetings) Facilitator becomes more valuable when meeting transcription and recap experiences are available. Review your meeting policies so you are intentional about: 1. Go to the **Teams admin center**. 2. Navigate to **Meetings** → **Meeting policies**. 3. Open the policy that applies (often **Global (Org-wide default)** unless you’ve assigned a custom policy). 4. Under **Recording & transcription**, toggle **Transcription** (or **Allow transcription**) **On** or **Off**, then **Save**. ![](https://seanshares.com/content/images/2026/01/image-3.png) --- ## Why does Teams Facilitator join meetings after disabled? This one is worth calling out because it surprises users and admins. *Previously scheduled meetings can retain Facilitator even after it is disabled!* If **Facilitator was enabled for a user**, and that user **scheduled a meeting or recurring series with Facilitator turned on**, then later you **disable Facilitator for that user or for the tenant**, the meetings that were **already created** can still show **Facilitator active** during the meeting. This happens because Teams meeting settings are effectively cached at meeting creation time in the meeting object. Changing app availability later does not always remove Facilitator from meetings that were already scheduled. ### What this means in practice - Disabling the Facilitator app is reliable for **preventing new meetings** from being created with Facilitator. - It may **not fully remove Facilitator** from **existing scheduled meetings or recurring series** that already had it enabled. ### How to remove Facilitator from an existing meeting or recurring series **Option 1: Cancel and reschedule (most reliable)** - Cancel the single meeting or the entire series. - Recreate it without Facilitator enabled. **Option 2: Temporary re-enable, remove, then disable again** If canceling is not feasible: 1. Re-enable the Facilitator app (scoped just to that user). 2. Have the organizer edit the meeting or series in Teams. 3. The organizer should now be able to turn Facilitator off for that meeting or series. 4. After it is turned off in the meeting, disable Facilitator again for the user or tenant. 5. Facilitator should no longer appear in that meeting going forward. *Admin tip*: If you run a pilot, add this to your rollback checklist so you are not chasing “ghost” Facilitator behavior in meetings that were created earlier. --- ## Microsoft Teams Facilitator FAQ ### Do all attendees need a Copilot license to benefit from Facilitator? Not necessarily. A Copilot license is required to add Facilitator to a meeting or turn it on during one, but once it is active, the meeting’s internal participants can typically see the outcomes it generates in notes and chat. Licensing and visibility nuances can vary by tenant configuration, so validate in your pilot. ### Where do Facilitator notes live? They are stored as loop meeting notes, which means participants can refine them before, during, and after the meeting. ### Can I enable Facilitator for only a pilot group? Yes. Use a Teams app permission policy to allow Facilitator only for a specific set of users, then expand once you are comfortable. ### If I disable Facilitator, why does it still appear in a meeting that was already scheduled? Because the meeting can retain cached settings from the time it was created. For existing meetings, remove Facilitator by editing the meeting while it is enabled for the organizer, or cancel and reschedule. ### What is the quickest way to block Facilitator tenant-wide? In [Teams admin center](https://admin.teams.microsoft.com/?ref=seanshares.com): Teams apps → Manage apps → search for Facilitator and select it → Users and Groups → Edit Availability → set to No One. `` ### 3 Copilot admin settings to check right now for better governance URL: https://seanshares.com/copilot-admin-settings-to-check-governance/ Last updated: 2026-05-01T20:02:29.000Z Microsoft 365 Copilot is shipping new features, providers, and companion apps at a fast rate. Admin centers quietly gain new toggles, and if you are not watching closely, your Copilot governance can drift away from your written policies. In this post I will walk through three specific admin settings I recommend you check today and align them with your Copilot governance: 1. [AI providers operating as Microsoft subprocessors](#AIProviders) 2. [Multiple account access to Copilot for work documents](#MultipleAccounts) 3. [Microsoft 365 Copilot app in Microsoft 365 Apps Admin Center](#CopilotApp) If you own Copilot rollout, data protection or endpoint management, these three surfaces should be part of your regular governance review. --- ## 1\. AI providers operating as Microsoft subprocessors In December 2025, [Microsoft introduced a new model choice option where Anthropic models](https://learn.microsoft.com/en-us/copilot/microsoft-365/connect-to-ai-subprocessor?ref=seanshares.com) (Claude) are offered as part of Microsoft Online Services and treated as **Microsoft subprocessors**, not as a separate third party you contract with directly. With that rollout, a new admin toggle appeared in the Microsoft 365 admin center: > [Microsoft 365 admin center](https://admin.cloud.microsoft/?ref=seanshares.com) > Copilot > Settings > Data access > **AI providers operating as Microsoft subprocessors** ![](https://seanshares.com/content/images/2025/12/image.png) Enable or Disable Anthropic as a subprocessor With this setting you can: - See **Anthropic** listed under *Available subprocessors for your organization* - Turn Anthropic models **On** or **Off** as a Microsoft subprocessor - Understand that in most commercial regions, Anthropic is enabled by default starting December 8, 2025, with enablement rolling to orgs by January 7, 2026, except for EU, EFTA and UK where it is Off by default. This impacts where and how Claude models can be used in: - Microsoft 365 Copilot - Copilot Studio - Researcher and Agent mode in Excel - Word, Excel and PowerPoint agents ### Governance Concerns If your AI governance documentation only mention OpenAI's GPT as a Microsoft model processor, adding Anthropic as a Microsoft subprocessor may require: - A review of your records of processing and vendor lists - Updates to your internal AI usage policy that explain model choices - A check against regional requirements, especially if you depend on EU Data Boundary or in-country processing commitments Although Anthropic operates under Microsoft Product Terms and the Microsoft DPA when used this way, it is still another entity with potential access to prompts and data via Microsoft. ### How to check and align the setting 1. **Locate the toggle** - Go to **Microsoft 365 admin center** - Open **Copilot > Settings** - Select **Data access** - Choose **AI providers operating as Microsoft subprocessors** 2. **Review your current state** - Note whether Anthropic is **Enabled** or **Disabled** - [Check](https://learn.microsoft.com/en-us/copilot/microsoft-365/connect-to-ai-subprocessor?ref=seanshares.com) if your region is one where Anthropic is On by default (most commercial regions) or Off by default (EU, EFTA, UK and sovereign or government clouds). Configure AI Providers in Microsoft Copilot --- ## 2\. Multiple account access to Copilot for work documents (Cloud Policy) Microsoft 365 apps settings has the option to allow **Multiple account access to Copilot for work documents**. When this feature is enabled, users can: - Use Copilot access from one account (for example a personal Microsoft 365 subscription) **on documents owned by another account**, including work or school files PLEASE NOTE, if the policy is Enabled or ***Not configured***, users can use Copilot from an external account on work and school documents. This is what is not great about this setting. For some reason, Microsoft has decided that if you do not configure this policy, ***users are ALLOWED to use other Copilot licenses*** on your tenants documents! - If multiple account access is **enabled**, a user with Copilot on a personal account can use Copilot on organizational documents even if the org account does not have a Copilot license. - Data protection and web grounding still follow the **identity that is accessing the file**, not the account that brought Copilot. Copilot cannot see more data than that identity can already access through Microsoft Graph. - Users with multiple account access get a limited Copilot experience. They can use Copilot in the **currently open document**, but they cannot use Graph-wide questions or cross-document grounding unless they have an internal Copilot license. ### Configure the policy setting To configure this setting, you need to be one of the following: - **Office Apps Administrator** – I recommend this role for managing cloud policies and to maintain least privileged access. - **Global Administrator** – Can also configure any Cloud Policy setting, including this one, because it has permissions across all Microsoft 365 services. You control this behavior using the Microsoft 365 Apps admin Center: > [config.office.com](https://config.office.com/officeSettings?ref=seanshares.com) > Customize > Policy management > Create or edit a policy for Microsoft 365 Apps > Setting: **Multiple account access to Copilot for work documents** ![](https://seanshares.com/content/images/2025/12/image-2.png) Configure Multiple Account Access for Copilot Some important notes on this setting: - [The policy became available in Cloud Policy on **January 30, 2025**](https://learn.microsoft.com/en-us/copilot/microsoft-365/multiple-account-access?ref=seanshares.com) - GCC, GCC High, DoD and 21Vianet tenants see the setting but it has no effect, because multiple account access is always disabled there. - If the policy is **Enabled or Not configured**, users can use Copilot from an external account on work and school documents. - If the policy is **Disabled**, that cross-account behavior is blocked. Copilot entry points disappear in the document canvas and users see an error if they try to invoke Copilot from another account. Stop multiple Copilot accounts from accessing your work documents ### Governance questions to answer Before you decide how to set the policy, answer these: 1. **Do we allow bring your own Copilot at work?** - If your policy says that only **licensed work accounts** should use Copilot on corporate content, you should strongly consider disabling this feature tenant-wide, or at least for high risk groups. 2. **How do we treat personal accounts on managed devices?** - If you are already controlling personal account sign-in through Conditional Access or Windows policies, align this Copilot setting with those choices. ### Recommended patterns You can adapt the following patterns to your tenant: - **Strict corporate boundary** - In Cloud Policy, set **Multiple account access to Copilot for work documents = Disabled** for all users. - Document that personal Copilot plans can only be used on personal content, not work content. - **Scoped bring your own Copilot** - Create a dedicated **pilot policy** that enables multiple account access for a small, approved group. - Keep it disabled for default and high-risk groups. - Monitor for confusion in support tickets and audit logs, then adjust. - **Starter checklist** - Locate the policy in config.office.com and record the current state - Validate the setting with your security and privacy teams - Update your Copilot governance page to mention this feature explicitly - Add the policy to your change management documents so it is revisited --- ## 3\. Microsoft 365 Copilot app in Modern Apps Settings Alongside Copilot experiences inside Office apps, Microsoft is rolling out the **Microsoft 365 Copilot app** and several companion apps (People, Files, Calendar) to Windows 11 devices that already have Microsoft 365 desktop apps. These appear as lightweight taskbar apps that integrate tightly with Copilot and Microsoft Graph. If you do not configure this setting, Microsoft will start automatically installing it on your users computers. Similar to the setting above, either an **Office Apps Administrator** or **Global Admins** can control this rollout through the Microsoft 365 Apps Admin Center: > [Microsoft 365 Apps Admin Center](https://config.office.com/officeSettings/?ref=seanshares.com) (config.office.com) > Customization > Device configuration > **Modern Apps Settings** ![](https://seanshares.com/content/images/2025/12/image-3.png) Microsoft 365 Copilot App Setting From there you can: - Disable or enable the **Microsoft 365 Copilot app** for managed installations - Control automatic installation of Microsoft 365 companion apps and related experiences - Apply settings per update channel or group of devices ![](https://seanshares.com/content/images/2025/12/image-4.png) ### Governance Concerns - Companion apps and the Microsoft 365 Copilot app are scheduled for automatic installation on eligible Windows 11 devices beginning late October 2025, with rollout completing by late December 2025 for many tenants. - The companion apps are configured to launch on startup (minimized to the taskbar) to be ready immediately. - Admins can prevent future automatic installs of companion apps by clearing the **Enable automatic installation of Microsoft 365 companion apps** checkbox in Modern Apps Settings, but that does not uninstall apps that have already been installed. For governance, this touches: - **User experience** – surprise icons and auto-launched apps on the taskbar - **Endpoint attack surface** – new apps and services to patch and monitor - **Licensing clarity** – users might assume that having a Copilot app means they have full Microsoft 365 Copilot access, even if they only have basic Copilot Chat. ### Actions to take 1. **Audit your Modern Apps Settings** - In the Apps Admin Center, open **Modern Apps Settings** and check: - Is **Microsoft 365 Copilot app** allowed on managed devices - Is **automatic installation of Microsoft 365 companion apps** enabled 2. **Decide your preferred path:** - **Pilot first** - Disable automatic installation tenant-wide - Use Intune to explicitly deploy the Copilot app and companions only to pilot device groups - Measure performance, user sentiment and support volume before broader rollout - **Enable with guardrails** - Allow the Copilot app on corporate devices but: - Document the experience for users and helpdesk - Ensure privileged, kiosk, or specialized devices are excluded or have separate configuration - Add the apps to your software inventory and vulnerability management processes - **Conservative** - Disable Copilot app and companion auto install for now - Rely on in app Copilot experiences only while you finalize endpoint risk analysis 3. **Plan for removal where needed** - Remember that disabling auto install does not uninstall apps already present. Use: - Intune uninstall assignments - Scripts or third party tools to remove the Copilot or companion apps on affected devices --- ## How these three settings fit into Copilot governance If you look at a Copilot control system as a set of layers, these three settings correspond neatly to different concerns: - **Data and AI providers** - *AI providers operating as Microsoft subprocessors* - Ensures your organization knows exactly which AI models and subprocessors can be used under Microsoft’s enterprise commitments. - **Identity and licensing boundaries** - *Multiple account access to Copilot for work documents* - Controls whether personal Copilot plans can be used against corporate content and clarifies the separation between internal and external licenses. - **Endpoint and user experience** - *Microsoft 365 Copilot app in Modern Apps Settings* - Governs which devices surface Copilot entry points and companion experiences, and how aggressive that rollout is. Together with higher level frameworks such as the **Copilot Control System** and Microsoft’s security and governance guidance, these three switches give you fast tactical levers to keep your environment aligned with your written policies. --- ## FAQ ### What is Copilot governance in Microsoft 365? Copilot governance is the combination of policies, admin settings and processes that control: - Who gets access to Copilot and agents - Which AI providers and models may be used - What data Copilot can ground on - Where and how Copilot experiences appear on devices Microsoft’s Copilot Control System and related guidance describe this as a mix of data security, AI security and compliance controls layered across your environment. --- ### If I disable Anthropic as a subprocessor, do users lose Copilot entirely? No. Disabling Anthropic in the **AI providers operating as Microsoft subprocessors** page only removes access to Anthropic models, such as Claude, from supported Copilot experiences. Microsoft’s own models continue to operate under the usual Microsoft 365 Copilot privacy and security commitments. Some features that specifically rely on Anthropic models may become unavailable. --- ### Does multiple account access to Copilot expose more of my data to personal accounts? The multiple account access feature does not change what data a user can access. Copilot can only see content that the signed in identity already has permission to read through Microsoft Graph. However, it **does** change the licensing and user experience. A user might be able to apply a personal Copilot license to a corporate file if you allow the feature, which may conflict with your policy that only corporate Copilot licenses should be used on corporate content. That is why this policy should be explicitly considered in your governance design. --- ### Is config.office.com different from the standard Microsoft 365 admin center? Yes. - **Microsoft 365 admin center** is the main tenant admin portal where you manage users, licensing and many Copilot settings, including AI providers and the Copilot Control System. - **Apps Admin Center at config.office.com** is focused on Microsoft 365 Apps for enterprise configuration, including Cloud Policy and Modern Apps device settings that affect how Office and Copilot behave on endpoints. For Copilot governance you typically need to use both. --- ### Should I block the Microsoft 365 Copilot app everywhere? Not necessarily. The right answer depends on your organization: - If you are still in **early pilot**, it often makes sense to block automatic installation and deploy the app only to a small set of test devices. - If Copilot is broadly adopted, the app can improve discoverability and give users a central place to interact with Copilot, as long as you are comfortable with the endpoint footprint and user experience. I think the important part is that you make an intentional choice, document it and regularly revisit these settings as Microsoft continues to evolve Copilot and its companion apps. ### How to Create a Custom Emoji in Microsoft Teams and How to Control them as an Admin URL: https://seanshares.com/how-to-create-a-custom-emoji-in-microsoft-teams/ Last updated: 2025-12-17T04:35:38.000Z The custom emoji feature in Microsoft Teams lets your organization bring its own personality into chat, channels, and meetings. You can turn team jokes, internal memes, brand icons, or seasonal artwork into reactions that everyone in your M365 tenant can use. In this guide, I will walk through: - [What custom emojis in Microsoft Teams are](#WhatareTeamsCustomEmoji) - [Why you should use them for holidays, events, and memes](#WhyUseCustomEmojis) - [How to create a custom emoji in the Microsoft Teams app](#HowtoCreateCustomEmojis) - [How to enable, restrict, or disable custom emojis as an admin](#ControlCustomEmojisAdmin) - [FAQ](#CustomEmojiFAQ) --- ## What Are Custom Emojis in Microsoft Teams Microsoft Teams now supports user uploaded custom emojis. Users can create an emoji from image or GIF files and use them in chats, channels, and meetings, both as an inline emoji and as reactions. Every custom emoji becomes part of your organization wide library and is available alongside the standard Teams emoji set. [Microsoft notes](https://support.microsoft.com/en-us/office/use-custom-emoji-in-microsoft-teams-84feb1c4-6d2b-4ecd-8e55-a93c828fc53a?ref=seanshares.com) a few key points about the feature: - Custom emojis can help build culture and identity, reinforce branding, and add clarity and tone to messages. - Up to 5,000 custom emojis can be added per tenant. - The feature is on by default in most tenants, and available across chats, channels, meetings, and even cross tenant scenarios. --- ## Why Create Your Own Emoji You could just stick with the default emojis, but custom emojis unlock more interesting uses. ### 1\. Holidays and Seasonal Events - Create an emoji for company holidays, regional celebrations, or end of quarter milestones. - Drop a custom snowflake or pumpkin emoji into chat to signal a themed day without changing every background or banner. - Use reactions on announcements to measure sentiment during an all hands or seasonal campaign. ### 2\. Special Projects and Internal Campaigns - Give each project or team its own icon and use it as a quick reaction to show that a task or request belongs to that stream of work. - Create emojis that represent internal programs such as security training, wellness days, or hackathons. ### 3\. Recognition and Gamification - Build “badges” as emojis for values, achievements, or shout outs. - React with a specific custom emoji when someone closes a big deal, solves a nasty incident, or helps a customer. ### 4\. Brand and Culture - Turn your logo, mascot, or product icons into an emoji so your internal communication feels on brand. - Create emojis that come from your culture such as common phrases, inside jokes, or office memes. ### 5\. Pure Fun - If your organization allows it, turn popular memes, pets, or cartoon versions of teammates into emojis. Custom emojis can make long project channels and incident bridges feel a little more human. ![](https://seanshares.com/content/images/2025/11/image-8.png) Custom Emoji Dance Party --- ## How to Create a Custom Emoji in the Microsoft Teams App The exact visuals vary slightly between the classic and new Teams experience, but the steps are the same. > You need permission to upload a custom emoji. By default, most users can upload them unless an admin has restricted it. How to add custom emojis to Microsoft Teams ### Step 1: Open the Emoji Picker 1. Open Microsoft Teams on desktop or web. 2. Go to any chat, channel, or meeting conversation. 3. In the message box, select **Emoji, GIFs and Stickers** (the smiley icon) and then choose **Emoji**. You will see the standard emoji categories at the top. ![](https://seanshares.com/content/images/2025/11/image-3.png) Select the Emoji icon and Emoji tab ### Step 2: Go to Your Organization’s Emoji 1. Look at the bottom of the emoji window. 2. Select **Your org’s emoji** or the small icon that represents your organization’s emoji library. This opens the **Custom** section for your tenant. In some layouts this appears as a circle style emoji icon with a dotted outline. ![](https://seanshares.com/content/images/2025/11/image-4.png) Select the dotted line smiley emoji in the lower right corner ### Step 3: Add a New Emoji 1. Choose an image file from your computer. [Microsoft recommends](https://support.microsoft.com/en-us/office/use-custom-emoji-in-microsoft-teams-84feb1c4-6d2b-4ecd-8e55-a93c828fc53a?ref=seanshares.com): - File types: **JPEG, PNG, or GIF** - Square images for best results - File size under **256 KB** 2. Give your emoji a short, searchable name that is all lowercase with no spaces. This is important, because users will type this name in the search field when they want to use it. 3. Select **Add emoji** to upload. In the custom emoji area, select **Add emoji** (the plus sign). ![](https://seanshares.com/content/images/2025/11/image-6.png) Select the plus button to add a custom emoji ![](https://seanshares.com/content/images/2025/11/image-7.png) Name your custom emoji all lowercase and one word and click add emoji After a short delay, your new emoji will appear in the custom emoji gallery and can be used by anyone in your organization. In some cases, changes can take several hours to appear across all devices or users. ### Alternative: Add a Custom Emoji While Reacting You can also create an emoji in the flow of work while reacting to a message: 1. Hover over a message and choose **More reactions**. 2. Select your organization’s emoji icon in the reactions picker. 3. Use the same **Add emoji** plus button to upload and name a new emoji. ![](https://seanshares.com/content/images/2025/11/image-9.png) Select More reactions and then follow the same steps as creating one above --- ## How to Use Custom Emojis in Chats, Channels, and Meetings Once your custom emoji exist, using them feels exactly like standard emojis. ### Add a Custom Emoji to a Message 1. In the message box, select **Emoji, GIFs and Stickers**, then **Emoji**. 2. Choose **Your org’s emoji** from the bottom of the panel. 3. Scroll or search by name. 4. Select the emoji to insert it into your message and send. ![](https://seanshares.com/content/images/2025/11/image-11.png) Add it to a message ### React With a Custom Emoji 1. Hover over the message you want to react to. 2. Select **More reactions**. 3. Choose **Your org’s emoji** and pick a custom emoji, or search by its name. ![](https://seanshares.com/content/images/2025/11/image-10.png) Search for the name it was given If you have created any custom Teams emojis yourself and have rights to delete them, you can right click on one in the picker to see who created it and access delete options. --- ## How Teams Admins Can Enable or Disable Custom Emojis Custom emojis are controlled centrally from the Microsoft Teams admin center. If users in your tenant do not see the custom emoji category or cannot upload images, your policies probably need an update. ### 1\. Turn Custom Emojis On or Off for the Tenant To globally enable or disable the feature: 1. Go to [**https://admin.teams.microsoft.com**](https://admin.teams.microsoft.com/?ref=seanshares.com) and sign in as a Teams admin. 2. In the left pane, go to **Teams admin center > Messaging settings**. 3. Find the **Custom emojis** section and toggle **Use custom emojis** on or off. - On: custom emojis are available tenant wide. - Off: users will not see the custom emoji category and cannot use or upload custom emoji. ![](https://seanshares.com/content/images/2025/11/image-12.png) Teams Admin Setting to enable or disable custom emojis for the tenant ### 2\. Control Who Can Upload and Delete Custom Emojis in Teams You can refine control further with messaging policies: Control who can create custom Teams emojis through Teams Policy 1. In the Teams admin center, go to **Messaging policies**. 2. Select the policy you want to edit or create a new one for a specific group of users. 3. In the policy settings, look for the **Custom emojis** options: - **Upload custom emojis** - **Delete custom emojis** 4. Set these to **On** or **Off** based on your governance model. 5. Assign the policy to specific users, groups, or the whole organization. ![](https://seanshares.com/content/images/2025/11/image-13.png) Enable or Disable Microsoft Teams Custom Emojis through Messaging Policy By default: - Upload custom emojis is enabled for all users. - Delete custom emojis is enabled only for admins. ### 3\. PowerShell Control With Set-CsTeamsMessagingPolicy If you manage Teams by script or want to bulk configure messaging policies, you can also use PowerShell with the latest Microsoft Teams module. To view it, if you are changing the Global policy (if you are changing a different policy then replace Global with the name of your policy): `$policy = Get-CsTeamsMessagingPolicy -Identity Global $policy.CreateCustomEmojis ` ![](https://seanshares.com/content/images/2025/11/image-14.png) View Create Custom Teams Emoji Admin Setting with Powershell Example to disable creation and deletion of custom emojis for the Global policy: `Set-CsTeamsMessagingPolicy -Identity "Global" -CreateCustomEmojis $false -DeleteCustomEmojis $false` ![](https://seanshares.com/content/images/2025/11/image-15.png) Disable Creating and deleting custom emojis through powershell for the Global Policy Assign the policy to users as normal and they will no longer be able to create or delete emojis, while other policies can still allow it. --- ## Troubleshooting: When Custom Emojis Do Not Show Up If you or your users do not see the custom emoji option, check these points: 1. **Tenant setting in Microsoft Teams Admin Center** - Confirm that **Use custom emojis** is turned on in **Messaging settings** in the Teams admin center. 2. **Messaging policy** - Make sure the messaging policy assigned to the user allows **Upload custom emojis** if they need to create them. 3. **Permissions to delete** - Only Teams admins or users with the appropriate policy can delete custom emojis. Regular users may not see a delete option when they right click. 4. **Platform limitations** - As of today, custom emoji uploads are supported in the desktop and web app. [Microsoft notes](https://techcommunity.microsoft.com/blog/microsoft365insiderblog/custom-emojis-and-reactions-in-microsoft-teams/4227332?ref=seanshares.com) that custom emojis cannot currently be uploaded on Android, although you can still see and use existing emoji from mobile once they are created. 5. **Propagation delay and cache** - Deletion or creation of a custom emoji can take several hours, sometimes up to 24 hours, to show everywhere. Clearing the Teams cache locally can help if users still see an old emoji. --- ## Governance Tips for Custom Emojis A few practices will keep the feature useful instead of chaotic: - **Set a naming convention** Use short, descriptive names like `brand-logo`, `proj-aurora`, or `holiday-snowman`. - **Limit who can create emojis** Through a Teams Policy using the instructions above, allow a small set of champions or a branding team to upload emojis for the whole tenant, and turn off upload rights for everyone else if you need stricter control. - **Review the library periodically** Give admins or community owners delete rights so they can prune low quality or outdated emojis. - **Align with your acceptable use policy** Make it clear that custom emojis are still subject to HR and code of conduct rules. --- ## FAQ: Custom Emoji in Microsoft Teams ### Who can see my custom emojis? Everyone in your organization’s tenant can see and use custom emojis, including in shared channels. External users in other tenants cannot browse your emojis library but they can see custom emojis you send to them. Keep in mind that when anyone in your organization right clicks on the custom in the emoji picker, it will display who has created it and when it was created. --- ### Can guests or external users create custom emojis? Guest users and external participants cannot create their own custom emojis in your tenant. Only users with upload permissions in your organization can add new emojis, but guests can still use the emojis that already exist. --- ### How many custom emojis can we have? Each tenant can store up to 5,000 custom emojis. --- ### Can I delete an emoji I created by mistake? If your policy allows you to delete custom emojis, you can right click on a custom emoji in the picker and choose **Delete**. If you do not see that option, your admin must delete it for you or grant you the necessary rights. --- ### Are custom emojis available on the Teams mobile app? You can use and react with a custom emoji from mobile once they exist, but Microsoft notes that custom emoji and reactions cannot currently be uploaded from Android. Uploading should be done from the desktop or web client. --- ### Can I completely turn off Teams custom emojis in my organization? Yes. As an admin you can disable the feature globally in **Teams Admin Center >** **Messaging settings** or use messaging policies and PowerShell to turn off creation and deletion for specific groups of users. --- Custom emojis in Microsoft Teams are a small feature with big cultural impact. Used well, they give your people a lightweight way to celebrate wins, tag work, and reinforce your brand in every conversation. With the right admin controls in place, you can keep that energy fun, safe, and aligned with your organization’s standards. ### What Is the Microsoft Frontier Program and How Do You Use It in Microsoft 365? URL: https://seanshares.com/what-is-the-microsoft-frontier-program-and-how-do-you-use-it-in-microsoft-365/ Last updated: 2025-11-18T17:40:02.000Z If you are working with Microsoft 365 Copilot and keep seeing references to “Frontier” or “Frontier agents,” you are looking at Microsoft’s early access program for its newest AI capabilities. This post explains what the Microsoft Frontier program is, when it was introduced, how to enable it in your tenant, what changed with Message Center post MC1181201, and what to think about before you turn it on. --- ## What is the Microsoft Frontier program? Microsoft Frontier is an early access space for the latest AI innovations in Microsoft 365\. It gives organizations and individuals the ability to try Copilot powered preview features and agents before they are generally available, and to provide feedback that shapes the final product. Frontier lives inside your existing Microsoft 365 environment. You stay in the same tenant, with your existing security, compliance, and data protection controls. Frontier experiences are clearly marked as preview experiences and are governed by your enterprise product terms and Data Processing Agreement. Typical Frontier experiences include: - Copilot agents such as Researcher and Analyst in the Microsoft 365 Copilot app - App specific features like Agent Mode in Excel for the web - New agents like People, Surveys, and App Builder as they roll out to public preview ### When was Microsoft Frontier introduced? Microsoft publicly introduced the Microsoft 365 Copilot Frontier experiences in an official Microsoft 365 Copilot blog post on 23 April 2025, explaining that Frontier would begin rolling out in phases from May 2025 to eligible Microsoft 365 Copilot customers. Subsequent posts and documentation show Frontier expanding to additional experiences and to some individual subscribers, such as Microsoft 365 Personal and Family, through specific Frontier offerings like Agent Mode in Excel. --- ## How the Microsoft Frontier program works in practice At a high level: 1. Your tenant must have eligible licenses, typically Microsoft 365 plus Microsoft 365 Copilot, and Frontier needs to be turned on by an admin. 2. Admins control which users can access Frontier features via the Microsoft 365 admin center using the Copilot settings. 3. Once enabled, users see Frontier labeled features: - In the Microsoft 365 Copilot app, agents that are part of Frontier are tagged with “(Frontier)” in their name. - In apps like Excel for the web, certain capabilities such as Agent Mode are described as being “part of Microsoft’s Frontier program.” 4. Experiences may change, move, or be retired as feedback is collected. They are preview features, not fixed long term capabilities. --- ## How to enable Microsoft Frontier for your Microsoft 365 tenant ### Prerequisites Before you touch the toggle: - You need the right admin role. Copilot and agent settings in the Microsoft 365 admin center are managed by roles such as AI Admin or Global Administrator. - Your users must have appropriate licenses, typically Microsoft 365 plus Microsoft 365 Copilot, since Frontier is a way to deliver experimental Copilot experiences rather than a standalone SKU. - For some Office app specific features, such as Agent Mode in Excel, being on the Beta Channel for Microsoft 365 Apps is recommended so that the client can surface these capabilities as they roll out. ### Step by step: Turn on Copilot Frontier in the admin center 1. **Sign in to the Microsoft 365 admin center** Go to the Microsoft 365 admin center with an account that has permissions to manage Copilot settings. 2. **Open the Copilot settings** In the left navigation, select: `Copilot` → `Settings` → `User access`. 3. **Find the Copilot Frontier setting** Under User access, select **Copilot Frontier**. This is the central Frontier Admin Control that governs whether your users can access Frontier experiences in web apps, desktop apps, and agents. By default, no users are allowed. 4. **Choose who gets Frontier** In the Copilot Frontier pane, you will see options such as:Historically, admins could target Entra ID (Azure AD) groups from this control. However, that behavior is being removed by Microsoft per Message Center post MC1181201\. Starting mid November 2025, group based assignments are no longer supported here and access must be assigned directly to individual users. Existing group assignments are automatically converted to user level entries during a short transition window. - No users - All users - Specific users 5. **Save your changes** Confirm and save the configuration. Frontier features will then light up for the selected users as the experiences are available in your tenant and region. ### Do I still use groups anywhere with Frontier? MC1181201 removes group based assignments in the **Copilot Frontier** control itself. Frontier guidance and several agent specific posts still describe using groups for managing access to particular agents or deployments under the Copilot Control System and Agents page, which is separate from the Frontier toggle. The key points: - The **Frontier on or off** gate is now per user only. - Individual Frontier experiences, like specific agents, may still allow targeting to users or groups on their own settings pages in the admin center. --- ## How users access and use Frontier features Once the admin work is done, what does Frontier look like to end users? ### Using Frontier agents in the Microsoft 365 Copilot app 1. Users open the **Microsoft 365 Copilot** app. 2. They go to the **Agents** tab. 3. Agents built by Microsoft and part of the Frontier program are tagged with “(Frontier)” at the end of the name, so they are easy to spot. Examples of agents that may appear via Frontier include Researcher, Analyst, People, Surveys, and App Builder, as they roll out in preview. ### Using Frontier features inside apps like Excel For app embedded experiences such as Agent Mode in Excel: - Users go to **Excel for the web** and open or create a workbook. - Agent Mode appears as a Copilot powered experience that can build and edit workbooks side by side with the user, using tables, charts, PivotTables, and formulas. It is explicitly described as part of Microsoft’s Frontier program and relies on the Frontier toggle being on plus any app specific requirements like Excel Labs in some phases of rollout. Other Frontier experiences are similar: they show up in the familiar app interface but are labeled as preview experiences or as part of Frontier. --- ## Benefits of enabling Microsoft Frontier Turning on Frontier is not just “more features.” It changes how your organization engages with Microsoft’s AI roadmap. ### 1\. Early access to cutting edge capabilities Frontier gives you hands on access to the latest Copilot models, agents, and app features before they are generally released, such as Researcher and Analyst agents, Agent Mode in Excel, and emerging agents like People, Surveys, and App Builder. ### 2\. Influence the product direction Frontier is explicitly designed as a co creation channel. Microsoft uses Frontier to gather real world feedback and telemetry from customers, and that feedback informs what ships broadly, how it is tuned, and which scenarios get prioritized. ### 3\. Stay within your existing compliance and security posture Rather than spinning up a separate test environment, Frontier experiences run in your existing Microsoft 365 tenant and are governed by the same enterprise product terms and Data Processing Agreement. That means your data protection and compliance controls still apply, subject to the preview terms called out in the documentation. ### 4\. Better return on your Copilot investment If you are already paying for Microsoft 365 Copilot, Frontier helps you: - Discover new high value use cases earlier - Train champions and power users ahead of broader rollouts - Prepare adoption content and change management resources before features hit general availability Frontier experiences are made available under your existing preview terms rather than as a separate, paid SKU. --- ## Things to think about before enabling Frontier Frontier is powerful, but it is not for everyone by default. Here are considerations you should review before flipping the switch. ### 1\. Preview quality and change tolerance Frontier experiences are previews. Documentation explicitly notes that they can change, move, or be removed, and that they are meant for evaluation and feedback rather than production critical workflows. Questions to ask: - Are you comfortable with UI changes and behavior shifts mid pilot - Do you have a way to test new features before recommending them for broader use ### 2\. Governance and assignment model The MC1181201 change means you can no longer use Entra ID groups in the **Copilot Frontier** admin control. You must assign Frontier access to individual users. Existing group assignments are converted to user level entries during the transition window, and from mid November 2025 only individual assignments are supported there. This has implications: - You need a clear process for deciding which individuals get Frontier - You may want to maintain Entra groups for license handling and other controls, but you will not rely on them in the Frontier on or off gate - You should document how you will onboard and offboard users from Frontier ### 3\. Support load and training Frontier is meant for experimentation. Users will have questions, and the experiences sometimes behave differently than GA features. Plan to: - Brief your helpdesk about which Frontier experiences you have enabled - Provide short internal “how to” guides or internal blog posts for major agents such as Researcher, Analyst, People, or Agent Mode in Excel - Use Microsoft’s Frontier getting started guide and adoption resources as templates where appropriate ### 4\. Risk and data considerations Frontier runs within your tenant and inherits your existing protections, but as preview features: - Review your existing data classification and protection policies - Confirm key stakeholders understand that telemetry and feedback from Frontier experiences are being used to improve Microsoft’s AI models, under your enterprise terms - Evaluate whether certain departments or data types should be excluded from Frontier entirely The Surveys Agent article, for example, highlights that Frontier experiences are “governed by Microsoft’s enterprise product terms and Data Processing Agreement,” which is a good model for how to communicate this internally. --- ## Quick start checklist for Frontier in your tenant Use this as a condensed action plan: 1. Confirm you have Microsoft 365 and Microsoft 365 Copilot licenses for your pilot users. 2. Decide which individuals will join the Frontier program first and why. 3. In the Microsoft 365 admin center, go to `Copilot` → `Settings` → `User access` → `Copilot Frontier`. 4. Change the setting from **No users** to either **All users** or **Specific users**, keeping in mind that Frontier now supports only individual user assignments after MC1181201. 5. Enable key agents or app experiences under `Copilot` → `Agents` as needed, such as App Builder or People, targeting the right users or groups for each agent. 6. Communicate clearly to your pilot users: - What Frontier is - Which experiences are available - Where to send feedback or support questions --- ## Microsoft Frontier program FAQ ### What is the Microsoft Frontier program? Microsoft Frontier is an early access program that gives you preview access to the latest AI innovations in Microsoft 365, including Copilot agents and app features, inside your existing tenant. ### Who can join Frontier? Frontier is available to organizations with eligible Microsoft 365 and Microsoft 365 Copilot licenses and, in some scenarios, to individual Microsoft 365 Personal and Family subscribers for certain experiences like Agent Mode in Excel. Access requires a work or school account or a supported Microsoft 365 subscription, plus a Copilot license when required. ### Is there extra cost for Frontier? Microsoft positions Frontier experiences as preview features made available under your existing enterprise product terms and preview terms. There is no indication that Frontier itself is a separate paid SKU, but you must still license the underlying Microsoft 365 and Copilot offerings that those experiences depend on. ### How do I enable or disable Frontier in my tenant? Use the Microsoft 365 admin center: 1. Go to `Copilot` → `Settings` → `User access` → `Copilot Frontier`. 2. Choose **No users**, **All users**, or **Specific users**. 3. Save your changes. Setting it back to **No users** effectively disables Frontier for everyone. ### What changed in MC1181201? Message Center post MC1181201 describes a change to the Frontier Admin Control. Starting mid November 2025, you can no longer assign Frontier access using Entra ID groups in that control. Existing group assignments are converted to individual user entries during a transition period, and going forward you must assign access to individual users only through the Copilot Frontier setting. ### How do users know they are in Frontier? Users know they are in Frontier when: - They see agents with “(Frontier)” in the name in the Microsoft 365 Copilot app under Agents - They can access features such as Agent Mode in Excel that documentation explicitly describes as “part of Microsoft’s Frontier program” If they do not see any Frontier labels or features, either they are not licensed, not included in the Copilot Frontier setting, or your tenant does not have access yet. ### Which admin roles can manage Frontier? Frontier is controlled under Copilot settings and integrates with the Copilot Control System for agents. Microsoft’s documentation indicates that roles such as AI Admin and Global Administrator can manage Copilot agents and related controls in the Microsoft 365 admin center, which aligns with managing Copilot Frontier as part of the same control surface. ### Does Frontier change where my data is stored? Frontier experiences run in your existing Microsoft 365 tenant and are governed by your enterprise product terms and Data Processing Agreement. That means data protections and residency follow the same rules as your broader Microsoft 365 environment, subject to the preview terms described for these features. ### Can I leave the Frontier program? Yes. From a tenant perspective, turning Copilot Frontier back to **No users** in the Microsoft 365 admin center effectively leaves Frontier for your organization. From an end user or subscription perspective, leaving any specific program or preview that was required for an individual account disables those experiences once the settings and licenses are removed. --- If you are running a Microsoft 365 environment with Copilot already in play, Frontier is one of the best tools you have to understand where Microsoft’s AI roadmap is going and to tune your own adoption story ahead of your peers. Used carefully, with a clear pilot group and governance model, it can give you a real advantage in both learning and value. ### How to Change the Language in Microsoft Teams URL: https://seanshares.com/how-to-change-the-language-in-microsoft-teams/ Last updated: 2025-11-16T04:21:38.000Z If you work with global teammates, switching languages in Microsoft Teams can make daily collaboration easier. This guide covers how to change your Teams display language, date and time formats, message translation, spellcheck, and captions on desktop, web, and mobile. Clear steps, screenshots in the linked sources, and an FAQ are included. --- ## Change the Teams app language (desktop and web) 1. Open Teams, then select **Settings and more** \> **Settings**. 2. Go to **General**. 3. Under **Language and regional formats**, turn **Follow OS settings** off to set a language manually, or leave it on to mirror your device settings. 4. Choose **App language**, **Date format**, and **Time format**, then restart Teams if prompted. ![](https://seanshares.com/content/images/2025/10/image-10.png) --- ## Change language on mobile - **iOS**: Teams typically follows your iPhone or iPad system language. Change it in **Settings** \> **General** \> **Language & Region**, then reopen Teams. - **Android**: Many builds include an in-app language option under **Teams** \> **Settings** \> **Language**. If you do not see it, Teams will follow your device language in **Settings** \> **System** \> **Languages & input**. --- ## Translate chat and channel messages Teams can translate individual messages so you can read them in your preferred language. - Hover a message, choose **More options** (three dots), then **Translate**. - To adjust translation preferences or turn off automatic translation, select **Translation options** on any translated message, then go to **Settings** \> **Translation**. ![](https://seanshares.com/content/images/2025/10/image-11.png) For more information for how to translate a message in Teams, [see this support article](https://support.microsoft.com/en-us/office/translate-a-message-in-microsoft-teams-d8926ce9-d6a6-47df-a416-f1adb62d3194?ref=seanshares.com). --- ## Change spellcheck languages in Teams If you write in multiple languages, add them to Teams spellcheck: 1. Click the **Three Dots** \> **Settings**. 2. In **General**, open **Editor Spellcheck** and select **Manage** to add languages. Teams will suggest corrections based on the languages you choose. ![](https://seanshares.com/content/images/2025/10/image-12.png) ![](https://seanshares.com/content/images/2025/10/image-13.png) For additional details from Microsoft on spellcheck languages, [see this support article.](https://support.microsoft.com/en-us/office/check-your-spelling-in-multiple-languages-in-microsoft-teams-3b0295c7-722e-45c8-a8a1-d490f7daded4?ref=seanshares.com) --- ## Set live captions and live translated captions in meetings - While in a meeting, turn on **Show live captions**. ![](https://seanshares.com/content/images/2025/11/image.png) - Select **Caption settings** \> **Language settings**. ![](https://seanshares.com/content/images/2025/11/image-1.png) - Pick the **Meeting spoken language**. ![](https://seanshares.com/content/images/2025/11/image-2.png) - To see captions translated into another language, you will need to have a Teams Premium or Copilot 365\. If you have the additional license, you can toggle **Translate to** and choose the language you want. For additional details from Microsoft on caption translation, [see this support article](https://support.microsoft.com/en-us/office/use-live-captions-in-microsoft-teams-meetings-4be2d304-f675-4b57-8347-cbd000a21260?ref=seanshares.com) --- ## Why your date, time, and region may look “wrong” By default, Teams uses the regional format tied to your device language and region. If your week starts on Monday in Teams but not on your PC, or dates appear as DD/MM/YYYY instead of MM/DD/YYYY, check **General** \> **Language and regional formats**. Turn **Follow OS settings** off to set formats directly in Teams, or update Windows or macOS regional settings to align. Restart Teams to apply changes. ![](https://seanshares.com/content/images/2025/10/image-14.png) --- ## Troubleshooting checklist - **Language did not change after you selected it**: Restart Teams. Some language and region changes apply only after a restart. - **Option is missing**: Make sure you are in the **General** page of Teams **Settings**, not the profile menu. If your organization uses device management or policy, some options can be standardized by IT. - **Spellcheck uses the wrong language**: Open **Editor Spellcheck** \> **Manage** and remove languages you do not want, then add the correct ones. - **Captions are in the wrong language**: In a meeting, open **Caption settings** \> **Language settings**, confirm **Meeting spoken language**, then use **Translate to** if needed. --- ## Step-by-step: Recommended setups ### 1) Keep your OS in one language, Teams in another - Open **Settings** in Teams, go to **General**. - Turn **Follow OS settings** off, pick a different **App language**, then restart. ### 2) Work in two writing languages with correct spellcheck - Add both languages in **Editor Spellcheck** \> **Manage**. - Teams will detect errors based on the languages you select. ### 3) Follow multilingual chats without switching your UI - Use **Translate** on individual messages. - Adjust **Translation** preferences to auto-translate or to ask before translating. ### 4) Run bilingual meetings - Turn on **Live captions**. - Set **Meeting spoken language**. - Turn on **Translate to** and select the caption language each participant prefers. --- ## FAQ **Does changing Teams language affect other Microsoft 365 apps?** No, the Teams display language is app specific when **Follow OS settings** is off. Other apps follow their own settings or the OS. **Where do I change the region, date, and time format for Teams?** In **Settings** \> **General** \> **Language and regional formats**. Turn **Follow OS settings** off to set formats directly, or adjust your OS region. Restart Teams to apply. **How do I translate messages automatically?** Open a translated message, choose **Translation options**, then **Settings** \> **Translation** to enable automatic translation or choose your preferred language. **Can I set captions to a different language than the one being spoken?** Yes. With live captions on, select **Caption settings** \> **Language settings**, verify the spoken language, then toggle **Translate to** and pick your caption language. **How do I add more spellcheck languages?** Open **Settings** \> **General** \> **Editor Spellcheck** and choose **Manage** to add languages. **Is there a language option on iPhone and Android?** Teams on iOS follows the device language in **Settings** \> **General** \> **Language & Region**. Many Android builds also include **Settings** \> **Language** in the Teams app, and otherwise follow the device language under **System** \> **Languages & input**. --- ## Final thoughts Microsoft continues to expand language features across Teams, including message translation and caption translation in meetings. For most users, the fastest path is to keep **Follow OS settings** on so Teams mirrors your device. If you work in multiple languages, set a dedicated Teams **App language**, add spellcheck languages, and enable message translation and live translated captions when needed. ### Why Does SharePoint Say I Modified a File? URL: https://seanshares.com/why-does-sharepoint-say-i-modified-a-file/ Last updated: 2025-10-20T03:00:41.000Z If you use Microsoft 365 regularly, you may have noticed in SharePoint or OneDrive that it says you last modified a file even when you are certain you did not. This can cause confusion, especially when collaborating with a team and trying to track real changes. ![](https://seanshares.com/content/images/2025/10/image-3.png) SharePoint says I modified a file In this post, we will look at why SharePoint might show you as the person who modified a file, what is happening behind the scenes, and how you can avoid unnecessary version changes. ## Common Reasons SharePoint Shows You Modified a File ### 1\. Background Syncing with OneDrive It's possible that you have synced your SharePoint files from a SharePoint site with your desktop files through the OneDrive desktop app. When your files are synced with the OneDrive desktop app, small background actions can trigger a “modification.” Examples include: - Making modifications to your desktop file, they would then sync to the SharePoint file through your OneDrive app. - OneDrive re-uploading files after detecting a sync error. - Metadata updates such as file attributes being refreshed. - File indexing for search purposes. ### 2\. Metadata or Property Changes Even if you did not change the document content, adjustments to metadata (like updating the “Title” or “Tags” field) count as a modification. These changes update the file’s version history, and SharePoint lists you as the modifier. ### 3\. Co-authoring and AutoSave in Office Apps If the document is open in Word, Excel, or PowerPoint with AutoSave enabled, SharePoint may log small background saves. For example, adjusting zoom settings or switching between devices can sometimes cause SharePoint to register an update. ### 4\. Workflow or Automation Updates SharePoint flows or Power Automate processes might automatically edit or re-save files. Even though these processes are automated, SharePoint often records the last person who interacted with the file as the modifier. ### 5\. Opening Files in Certain Apps Opening a file in desktop applications, mobile apps, or third-party connectors can trigger behind-the-scenes updates. Sometimes simply previewing a document can refresh its metadata, leading to SharePoint recording a “modified” action. ## How to Reduce Unnecessary “Modified By” Changes - **Check sync settings**: Make sure your OneDrive sync client is updated and running smoothly. Also, check to see what SharePoint files are synced to your desktop through the OneDrive desktop app. - **Limit AutoSave**: If you do not need real-time saving, disable AutoSave in Office apps. - **Review workflows**: See if any Power Automate flows or retention rules are affecting files. You can check if you have any SharePoint connections for Power Automate at [https://make.powerautomate.com](https://make.powerautomate.com/?ref=seanshares.com) - **Educate your team**: Ensure your team understands that metadata and background processes can trigger modifications even without content edits. --- ## FAQ: Why Does SharePoint Say I Modified a File? **Q: Does “Modified by me” always mean I changed the document’s content?** If you did not directly update the file by making changes to it, it could mean you updated the metadata, OneDrive re-synced the file, or a background process logged an edit under your name. **Q: Can SharePoint show the wrong person as the modifier?** SharePoint shows the last account that modified the file. In some cases, workflows or syncing issues may attribute the modification to you through the automation process. **Q: How can I check what actually changed?** Use **Version History** in SharePoint. This lets you see the exact changes made to a file and compare different versions. **Q: Will disabling AutoSave prevent false modifications?** It can reduce them, but not eliminate them completely. Background processes and sync activity may still cause updates. **Q: Can administrators fix this issue?** Admins can review audit logs for clues of where the update originated from. However, some level of background “modified” activity is expected in a collaborative cloud environment, especially if you are using the OneDrive sync client to sync your local files to the cloud. --- ## Final Thoughts When SharePoint says you modified a file, it does not always mean you actively edited it. Most of the time, it is the result of background syncing, metadata updates, or automated processes. By understanding how SharePoint tracks changes, you can reduce confusion and better manage version history across your team. ### How to Add Copilot to Outlook and What Changes When You Have a Copilot License URL: https://seanshares.com/how-to-add-copilot-to-outlook-and-license-differences/ Last updated: 2025-10-23T03:48:50.000Z If you are seeing Copilot all over Microsoft 365 and you want that same quick access inside Outlook, you can add Copilot to the left navigation in the new Outlook and Outlook on the web. You can do this whether you have a Copilot license or not. Below I show the two ways to pin Copilot in Outlook, then explain the differences between using Outlook with and without a Microsoft 365 Copilot license. --- ## Quick answer - **Pin Copilot to Outlook’s left navigation** using the built-in Apps menu in the new Outlook or Outlook on the web. Admins can also pin Copilot for everyone from the Microsoft 365 admin center. This pin shows up even if a user does not have a Copilot license. - **With a Microsoft 365 Copilot license**, Outlook gets in-app AI features like Draft with Copilot, Summarize, and Coaching by Copilot, grounded in your Microsoft 365 data through the Microsoft Graph. Without that license, you can still open the Copilot app, but you will not get the in-context Outlook features that work on your mail, calendar, and files. --- ## Step by step to add Copilot to Outlook’s left navigation ### How a user can add Copilot in the new Outlook or Outlook on the web 1. Open **Outlook**. 2. In the left hand navigation, select **More apps** (the square with circles in it). 3. Find **Copilot**, right click it and choose **Pin**. It will appear in your left navigation so you can open Copilot in a side panel or new tab. ![](https://seanshares.com/content/images/2025/10/image-8.png) Add Copilot to Outlook pinning to the left hand navigation ### How admins can add Copilot for everyone in Outlook Admins can centrally control whether Copilot is pinned in Microsoft 365 apps, including Outlook and Teams. - Go to **Microsoft 365 admin center** \> **Copilot** \> **Settings** \> **Pin Microsoft 365 Copilot Chat** and select ***Pin Copilot Chat in Microsoft 365 apps (recommended)***. - This makes Copilot appear in the navigation bar for supported apps. You can also scope pinning by group using the Microsoft 365 Cloud Policy service when you need more granular control. ![](https://seanshares.com/content/images/2025/10/image-9.png) Adding Copilot to Outlook by pinning Copilot Chat in the M365 Admin Center Note: If you set **Do not pin**, Copilot will not show in the app launcher, but Microsoft notes this restriction does not apply to Teams or Outlook where users can still manage their own pinning. --- ## What changes when you have a Microsoft 365 Copilot license in Outlook **With a Microsoft 365 Copilot license** - **Draft emails with Copilot** \- Provide a prompt, get a full email draft, then keep, refine, or regenerate. Available in the new Outlook and Outlook on the web. - **Summarize an email thread** \- Copilot can summarize extract key points and action items. In the new Outlook you can also summarize supported attachments. - **Coaching by Copilot** \- Ask Copilot to improve tone, clarity, and reader sentiment in emails before you send. **Without a Microsoft 365 Copilot license** - You can still open the Copilot app you pinned to the left rail, but Outlook’s in-app Copilot features that act on your mailbox and attachments are not available. You will not see Draft with Copilot, Summarize, or Coaching in the compose or reading surfaces. - If you later add a license, make sure your Office update channel supports Copilot features and refresh your license to make the Copilot buttons appear. --- ## Troubleshooting: Why does Copilot not show up in Outlook? - **The Copilot button is missing in compose or reading panes** Check that you have a Microsoft 365 Copilot license assigned and that you are on a supported update channel. Then refresh your license in the Office client. - **Pinned icon not appearing** If your admin has set the tenant to not pin Copilot, the app launcher entry may be hidden. In Outlook, users can still use the More apps menu to pin items locally if the admin has not blocked the experience. - **You see Copilot but features are limited** That usually means you do not have a Microsoft 365 Copilot license, so the in-app Outlook experiences are disabled. Assign a license to enable Draft, Summarize, and Coaching. --- ## FAQs **Does pinning Copilot in Outlook require a license?** No. Pinning puts the Copilot app in your left navigation so you can open it quickly. The advanced Outlook features still require a Microsoft 365 Copilot license. **What exactly do I get in Outlook when I have a Microsoft 365 Copilot license?** You get additional functionality such as, draft with Copilot in compose, summarize for long threads, and coaching by Copilot to fine tune tone and clarity, with grounding in your Microsoft 365 data. **Where do I turn on tenant-wide pinning for Copilot?** In the Microsoft 365 admin center under Copilot settings, choose pin Microsoft 365 Copilot Chat. You can also target specific groups using the Cloud Policy service. **Why do some users see Copilot pinned automatically?** Pinning Copilot Chat is the default for most eligible users, though admins can change the pinning behavior. **Do I need to change my Office update channel for Copilot in Outlook?** If you have a license but still do not see Copilot features, switch to Current Channel or Monthly Enterprise Channel, then refresh the license in Office. **How does Copilot access my email data in Outlook?** When you have a Microsoft 365 Copilot license, Copilot experiences are grounded in Microsoft Graph and your tenant data. --- ## Conclusion - **Anyone can pin Copilot** to Outlook’s left navigation so it is one click away. - Only licensed users get the time-saving Outlook features that act on their messages and attachments, like Draft, Summarize, and Coaching. Following the steps above will allow you to add Copilot to Outlook and also understand the differences in the experience if you have a Copilot license or not. For additional information on using Copilot in Outlook, check out [Microsoft's Chat with Copilot in Outlook documentation](https://support.microsoft.com/en-us/topic/chat-with-copilot-in-outlook-8090e7b3-5b1d-4c6d-9b06-02edac062f58?ref=seanshares.com). Thanks for reading! ### Why OneNote Is Not Syncing: Causes, Fixes, and Admin Tips URL: https://seanshares.com/why-onenote-is-not-syncing-causes-fixes-admin-tips/ Last updated: 2025-10-07T02:13:37.000Z When OneNote stops syncing, it is usually a temporary connection issue or a conflict in a notebook section. In other cases, storage limits, account mix ups, app version differences, or a broader Microsoft 365 incident can be the culprit. Below is a guide to diagnose and fix OneNote sync problems for individuals and admins. ## Quick tips to check first 1. **Force a manual sync** Press Shift + F9 to sync all, or open the notebook’s Sync Status and select Sync Now. This often clears temporary errors like 0xE000005E. 2. **Verify you are online and authenticated** Confirm your device is connected and signed in to the correct Microsoft account used by the notebook. Error 0xE4010641 points to a disconnected network. 3. **Check OneNote Online** Open the same notebook in OneNote for the web. If it loads and changes appear there, the issue is local to your device. If it fails online, the problem is with the notebook or service. 4. **Review Microsoft 365 service health** Admins should check Health > Service health in the Microsoft 365 admin center to rule out an ongoing incident that affects OneNote or OneDrive. Public status and connectivity checks can also help. --- ## 7 common causes of OneNote sync failures ### 1) Temporary section conflicts or “ReferencedRevisionNotFound” Edits from multiple devices can create section conflicts. OneNote may show 0xE000005E. Try manual sync, then open Sync Status to resolve flagged sections. ### 2) Network or sign in issues If you see 0xE4010641, OneNote cannot reach the service. Reconnect to the internet, sign out and in again, then retry sync. ### 3) Service incidents in Microsoft 365 Org wide failures are rare but do happen. Check the Service health dashboard for advisories that impact OneNote, OneDrive, or SharePoint storage and sync. ### 4) Storage limits or license issues If OneDrive is full or a license changed, notebooks may stop syncing. Verify storage and licensing in the admin center. ### 5) Local cache corruption A damaged cache can block updates. Clearing the OneNote cache and reopening the notebook can restore sync. Use with care and back up first. ### 6) App or platform mismatch Using older OneNote builds can cause glitches. Keep the app updated and prefer the current “OneNote” for Windows. Note: OneNote for Windows 10 reaches end of support on October 14, 2025, after which editing and syncing stop on that app. ### 7) Notebook location or move history If a notebook was moved or renamed on OneDrive or SharePoint, or you recently switched accounts, links may break. Open it in OneNote Online to confirm the canonical location, then close and re add it on the device. --- ## Step by step troubleshooting checklist 1. **Force sync** with Shift + F9\. If a specific section shows an error, open Notebook Sync Status, review the error, and retry. 2. **Confirm sign in**: File > Account, ensure the same account across devices; sign out and back in if needed. 3. **Check service health**: Admin center > Health > Service health. If an incident exists, monitor there. 4. **Open the notebook in OneNote Online** to validate the source of truth and recent edits. 5. **Close and re open the notebook** on the problem device; if needed, remove it and add it back from OneDrive or SharePoint. 6. **Clear the OneNote cache** on the affected device, then reopen notebooks. Back up first. 7. **Update OneNote** to the latest version, especially if you are still on OneNote for Windows 10, which becomes read only after October 14, 2025. --- ## Admin tips for tenant wide issues - **Verify service health**: Use the Microsoft 365 Service health page to verify incidents and advisories affecting OneDrive and SharePoint, since OneNote stores data there. - **Check network connectivity**: If many users report 0xE4010641 or similar, validate proxy, firewall, and conditional access policies that may block OneNote endpoints. - **Validate storage and licensing**: Confirm users have active licenses and available OneDrive storage. - **Promote the supported OneNote app** on Windows and keep it patched via your software distribution toolset, given the Windows 10 app’s retirement timeline. --- ## FAQ **Why does OneNote show error 0xE000005E?** It typically indicates a temporary section revision problem. Try a manual sync and review the Sync Status dialog to resolve flagged sections. **What does 0xE4010641 mean?** The device is offline or cannot reach the service. Reconnect to the internet, sign out and in, then try again. **How do I know if Microsoft is having an outage?** Admins can check **Health > Service health** in the Microsoft 365 admin center for real time advisories. Public status pages and the Microsoft 365 Status account can also signal incidents. **Should I clear the OneNote cache?** Only after you have tried the safer steps above. Clearing a corrupted cache can resolve stuck syncs, but back up first and reopen notebooks after the reset. **My notes sync on the web, but not on my PC. What next?** Close the notebook locally, re open it from OneNote Online, or fully remove and re add it. This re establishes the connection to the correct cloud location. **Will OneNote for Windows 10 keep syncing?** No. After October 14, 2025, that app becomes read only, so move to the current OneNote for Windows app to continue editing and syncing. --- ## Final thoughts Most OneNote sync failures are easy to clear with a manual sync, a quick sign in refresh, or by reopening the notebook. If problems persist across many users, treat it like a service or network issue and check Microsoft 365 service health first. ### Why Does SharePoint Keep Asking for My Credentials? URL: https://seanshares.com/why-does-sharepoint-keep-asking-for-credentials/ Last updated: 2026-04-13T00:55:08.000Z If you are using Microsoft 365 and SharePoint keeps prompting you for a username and password every time you open a file or visit a site, you are not alone. This is one of the most common SharePoint complaints I hear from users, and it almost always has a fixable cause. This post walks through the most common reasons it happens and exactly what to do about each one. ## Why SharePoint Prompts for Credentials Repeatedly SharePoint Online relies on Microsoft's modern authentication system, which is built on top of Microsoft Entra ID (formerly Azure Active Directory). When something in that chain breaks down, SharePoint falls back to asking you to log in. The causes range from stale cached credentials to misconfigured browser settings to organizational security policies. Understanding what is causing the prompt in your specific situation is the first step. The fixes below are ordered from most common to least common, so start at the top. ## 1\. Stale or Conflicting Cached Credentials Windows stores login information in a built-in tool called Credential Manager. Over time, old or duplicate Microsoft 365 entries can pile up and conflict with each other, causing SharePoint to reject the cached login silently and prompt you again. To fix this, open the Start menu and search for Credential Manager. Select Windows Credentials. Look for any entries that mention MicrosoftOffice, Microsoft365, or SharePoint. Remove them all, then try opening SharePoint again and sign in fresh with your Microsoft 365 account. This alone fixes the issue for most users. ## 2\. Multiple Microsoft Accounts in the Browser If you are signed into both a personal Microsoft account and a work Microsoft 365 account in the same browser profile, SharePoint can get confused about which credentials to use. This is especially common in Edge and Chrome, where people use the same profile for everything. The fix is to make sure you are opening SharePoint in a browser profile that is signed in only with your work account. In Edge, you can create a separate profile specifically for work. Go to the profile icon in the top-right corner of the browser and select Add profile. Sign into that profile with your work account only and use it exclusively for SharePoint and Microsoft 365. ## 3\. Internet Explorer Compatibility Mode or Legacy Browser Settings If you or your organization are still using older browser configurations, they may be forcing SharePoint into a legacy authentication mode that requires more frequent login prompts. Modern SharePoint is designed for modern browsers using modern authentication. Make sure you are using an up-to-date version of Edge, Chrome, Firefox, or Safari. If your organization uses Edge, check whether SharePoint sites are being loaded in IE Compatibility Mode. Go to Edge settings, select Default browser, and look for the Compatibility list. If SharePoint domains are listed there, remove them. ## 4\. Conditional Access Policies Requiring Re-Authentication Microsoft Entra ID Conditional Access policies can require users to re-authenticate under certain conditions, such as when accessing from an unrecognized network, when a session token expires, or when a specific app or resource has a tighter policy applied to it. If you notice the credential prompts happen primarily when you are on a specific network (like working from home vs. in the office), this is likely the cause. Talk to your IT admin to find out whether a Conditional Access policy is triggering the prompts. In some cases, joining your device to Microsoft Entra ID (Entra Join) or registering it resolves the issue by giving the authentication system more context about your device. ## 5\. The Office Sign-In Helper Is Out of Date or Broken Microsoft 365 desktop apps use a background service to maintain your signed-in state across apps. If this service has a problem, SharePoint and other apps start prompting you to sign in more frequently. Try signing out of all Microsoft 365 apps on your computer. Open any Office app, go to File, then Account, and click Sign Out. Close all Office apps. Then reopen one and sign back in with your work account. This refreshes the authentication tokens across the suite and often resolves persistent prompting. ## 6\. SharePoint Mapped Network Drive Issues If you access SharePoint through a mapped network drive rather than directly through the browser or the OneDrive sync client, you are using WebDAV, an older protocol that handles authentication differently. WebDAV can prompt for credentials frequently, especially after a sleep or restart. The recommended fix is to stop using mapped drives for SharePoint and switch to the OneDrive sync client instead. The sync client uses modern authentication and maintains your session without prompting. If you need the mapped drive for a specific reason, check your organization's WebDAV settings and make sure Basic Authentication is not being relied on. ## 7\. Token Lifetime and Session Policies Microsoft Entra ID controls how long authentication tokens are valid before they expire and require a fresh login. Some organizations configure aggressive token lifetimes for security reasons, which means users get prompted more frequently even when they have not done anything wrong. If you have ruled out all the other causes and the prompts are happening on a fixed schedule (like every 8 hours or every day at the same time), this is probably what is happening. This is an admin-level setting that you would need to discuss with your IT team. They can review the token lifetime policies in the Entra admin center and adjust them if they are too aggressive for your users. ## 8\. Device Not Compliant with Intune Policy If your organization uses Microsoft Intune for device management and your device has fallen out of compliance (perhaps a required update is overdue, or a security certificate expired), Conditional Access can block or limit your access to resources like SharePoint, which shows up as repeated credential prompts or access denied errors. Check the Company Portal app on your device to see if there are any compliance issues flagged. Resolving those will typically restore full access without the prompts. --- ## Best Practices to Prevent Credential Prompts - Use one consistent work account for Microsoft 365. - Keep Office and Windows updated. - Manage multiple accounts with separate browser profiles. - Regularly clear old credentials from Credential Manager. By addressing these common causes, you can usually stop SharePoint from constantly asking for your username and password. --- ## Frequently Asked Questions ### Will clearing my browser cache fix the credential prompts? Sometimes. If the browser has cached a stale or corrupted authentication cookie, clearing cookies and cache for Microsoft 365 sites can help. In Edge or Chrome, go to the browser settings, clear browsing data, and make sure cookies and cached files are selected. Then sign into SharePoint fresh. ### I only get the prompt on one specific SharePoint site. Why? That site may have a different permission configuration, or it may be in a different Entra tenant (common with external partner sites). If the site belongs to another organization, you may need to sign in with that organization's credentials each time. If it is your own organization's site, check whether it has a unique Conditional Access policy applied at the site collection level. ### Does switching from classic to modern SharePoint sites affect this? Classic SharePoint sites can have authentication quirks that modern sites do not. If you are still on classic SharePoint sites, migrating to modern is worth considering for a number of reasons, but authentication reliability is one of them. ### The prompt only happens when I open Office files directly. Why? Opening a Word or Excel file stored in SharePoint triggers the Office desktop app to authenticate to SharePoint separately from your browser session. If your Office apps are signed in with a different account or have stale tokens, you will get prompted. Go to File, Account in any Office app and make sure the account shown there matches your Microsoft 365 work account. --- ## Final Thoughts Repeated SharePoint credential prompts are frustrating but almost always fixable. Start with Credential Manager, check for multiple accounts in the browser, and make sure your Office apps are signed in consistently with your work account. Those three steps resolve the issue for the vast majority of users. If the problem persists after trying all of the above, escalate to your IT admin with specifics about when the prompts happen and from which device or network, since that information will help them identify whether a Conditional Access or token lifetime policy is the root cause. ### How to Enable the Claude Model in Microsoft Copilot for Your Tenant URL: https://seanshares.com/how-to-enable-claude-in-microsoft-copilot/ Last updated: 2026-05-26T19:09:59.000Z Microsoft has made Anthropic a subprocessor for Microsoft Online Services, which changes how Claude works inside Microsoft 365 Copilot. The old opt-in flow through the admin center has been replaced by a new model where Claude is on by default for most tenants. This guide covers what changed, what you need to do as an admin, how to disable it if needed, and how users actually access Claude once it is available. ## What Claude in M365 Is Claude is Anthropic’s family of AI models. In the same way that Microsoft 365 Copilot has traditionally used OpenAI models behind the scenes, Claude is another large language model that can read, reason, summarize, write, analyze, and help users work through complex tasks. Anthropic describes Claude as an AI assistant built around language, reasoning, analysis, coding, and other knowledge work. The Claude family includes different models for different types of work. In Microsoft 365 Copilot, the most relevant ones are Claude Sonnet and Claude Opus. Sonnet is generally positioned as a strong everyday model, while Opus is aimed at more advanced reasoning and complex work. For Microsoft 365 users, the important part is that Claude is not a separate chatbot you need to open in another browser tab. When it is enabled for your tenant, Claude can appear inside Microsoft 365 Copilot experiences, such as Researcher, Copilot Studio, Agent Mode in Excel, and certain Word, Excel, and PowerPoint agent experiences. Microsoft also shows UI indicators when Claude models are being used, so users can tell when they are working with an Anthropic model instead of the default Copilot model. ## What Changed Previously, admins had to explicitly opt in to Anthropic's commercial terms through a separate toggle in the admin center. That toggle is being deprecated. Anthropic is now a Microsoft subprocessor, which means the data handling sits under Microsoft's enterprise commitments rather than a separate Anthropic commercial agreement. The Microsoft Customer Copyright Commitment applies, and data is governed under the same Microsoft Data Protection terms that cover the rest of your Microsoft 365 services. For most commercial tenants, Anthropic is now enabled by default. You do not need to do anything to turn it on. The exception is EU, EFTA, and UK regions, where it is off by default due to data residency requirements. ## Pre-Requisites and Permissions Before enabling Claude for the tenant, ensure: 1. **You have global administrator or AI Administrator privileges** Only users in the global administrator role can configure tenant-level AI provider settings. 2. **Your tenant has Microsoft 365 Copilot licenses** Users must have valid Copilot licenses before they can access the Claude model via the Researcher agent. 3. **You understand the data sharing and compliance implications** Because your data will be handled outside Microsoft’s managed environment. ## Enable Claude for the Tenant **If Your Tenant Is in a Standard Commercial Region (US, etc.)** Anthropic should already be enabled in your tenant. There is nothing you need to turn on. You can verify this by following the steps below. - Sign in to the Microsoft 365 admin center at admin.microsoft.com. - In the left navigation, select Copilot. - Select Settings > (View All, if needed) - Look for the AI providers or subprocessors section. You should see Anthropic listed as enabled. ![](https://seanshares.com/content/images/2026/04/image.png) If it is already on, your licensed Copilot users can start using Claude right away through the Researcher agent. ### If Your Tenant Is in the EU, EFTA, or UK Anthropic is off by default in these regions. To enable it, you need to explicitly opt in. You must be a Global Administrator to do this. - Sign in to the Microsoft 365 admin center at admin.microsoft.com. - Go to Copilot, then select Settings. - Find the Anthropic subprocessor setting. - Toggle it on and confirm the change. ![](https://seanshares.com/content/images/2026/04/image-1.png) Once enabled, allow a few hours for the setting to propagate across your tenant before testing with a licensed user. --- ## How Users Access Claude Once Anthropic is enabled at the tenant level, here is how a licensed user switches to Claude in Copilot. - Open the Microsoft 365 Copilot app at m365copilot.com, or from the desktop app. - In the left navigation under Agents, select Researcher. - Inside the Researcher agent, look for the model selector and choose Claude. Claude is available for the duration of that session. When the user closes the Copilot app or the session ends, Copilot automatically reverts to the default model. The user will need to select Claude again next time if they want to use it. ## How to Disable Claude if Needed If your organization wants to block access to Claude, you can turn off Anthropic as a subprocessor. This requires Global Administrator access. - Sign in to the Microsoft 365 admin center at admin.microsoft.com. - Go to Copilot, then Settings. - Find the Anthropic subprocessor setting and toggle it off. - Confirm the change. ![](https://seanshares.com/content/images/2026/04/image-2.png) Once disabled, users will no longer see Claude as an option in the Researcher agent. Some Copilot features that rely on Anthropic models may also become unavailable. Allow a few hours for the change to fully take effect across the tenant. Note: if you had previously used the legacy opt-in toggle and then turn off Anthropic under the new subprocessor model, the toggle will be set to Off by default if it is re-enabled later. You would need to turn it back on manually. --- ## Group-Based Controls Have Arrived When this feature first started rolling out, the Anthropic setting was mostly tenant-wide. That meant admins had a simple choice: enable Anthropic for the tenant or disable it for the tenant. That has changed. Microsoft’s current documentation now shows group-based controls for Anthropic models in the Microsoft 365 admin center. Admins can restrict access to specific users or Microsoft Entra ID security groups. These assignments are applied at the provider level and are enforced across Microsoft 365 Copilot and Copilot Studio experiences. In other words, if you limit Anthropic access to a pilot group, only those assigned users should be able to use Copilot features or agents that rely on Anthropic. This is useful if you want to test Claude with a smaller group before opening it up more broadly. For example, you might enable it first for your AI pilot users, legal team, research team, or a group of power users who are already comfortable testing new Copilot features. ### How to Configure Group-Based Access for Anthropic To manage access: 1. Sign in to the Microsoft 365 admin center. 2. Go to **Copilot**. 3. Select **Settings**. 4. Select **View all**. 5. Choose **AI providers operating as Microsoft subprocessors**. 6. Under the available subprocessors, select **Anthropic**. 7. Under **Choose who can access Anthropic models for Copilot and generative AI experiences**, select the users or groups that should have access. 8. Save the change. ![](https://seanshares.com/content/images/2026/05/image-42.png) If you are in a region where Anthropic is off by default, such as the EU, EFTA, or UK, you still need to enable Anthropic first. After that, you can scope access to the users or groups you want. A few notes are worth calling out: - The control is at the provider level, not the individual Claude model level. - Microsoft Entra ID security groups are supported. - If a user is not included in the assignment, they should not be able to use Copilot features or agents that rely on Anthropic. - Some experiences may be affected if they depend on Anthropic models and the user does not have access. - Anthropic models are still excluded from the EU Data Boundary and in-country processing commitments where those apply. This is a better admin model than the original tenant-wide switch. It lets you take a more practical rollout approach: start small, test real use cases, confirm your compliance position, then expand access when your organization is ready. ## Data Privacy: What Is Different Now This is the main thing that changed with the subprocessor model and it is worth understanding. Under the old setup, when a user invoked Claude, data was processed under Anthropic's separate commercial terms. It was essentially a direct arrangement between your organization and Anthropic. Under the new subprocessor model, Anthropic processes data on Microsoft's behalf. This means: - The Microsoft Customer Copyright Commitment applies to Claude outputs just as it does for other Copilot outputs. - Data is governed under the Microsoft Online Services Data Protection Addendum. - Microsoft takes on data protection responsibility as the primary processor. For most organizations this is an improvement from a compliance standpoint because it fits within the existing Microsoft data governance framework rather than requiring a separate review of Anthropic's terms. That said, if your organization is in a regulated industry, it is still worth looping in your legal or compliance team before enabling it, particularly if you are in the EU, EFTA, or UK. ## Communicating This to Your Users Most users who have a Copilot license will not notice Claude is available unless you tell them. It does not appear prominently, and many people who use Copilot every day have not explored the Researcher agent in detail. A short communication explaining that Claude is now available, how to access it in the Researcher agent, and what it is good for will go a long way. If your organization has any sensitivity around which AI models are used for what types of work, it is worth including guidance on that as well. ## How Microsoft Is Becoming the UI for AI The Claude integration is a good example of where Microsoft 365 Copilot is heading. Microsoft is not just trying to make one chatbot. It is turning Copilot into the front end for different AI models, agents, business data, and Microsoft 365 apps. In the early days of Copilot, most people thought about it as “the AI button” inside Word, Excel, PowerPoint, Outlook, or Teams. Now it is becoming more of a work interface. A user can open Copilot, ask a question, use an agent, pull from Microsoft Graph, search the web, work with files, and in some cases choose which model should handle the task. Claude is part of that strategy. Microsoft announced that Microsoft 365 Copilot would continue using OpenAI models, while also adding Anthropic models for customers who want more flexibility. Claude first showed up in places like Researcher and Copilot Studio, where model choice makes sense because the tasks are more advanced. Microsoft has also been extending Anthropic model support into app-based Copilot experiences, including Excel and PowerPoint, with Word support planned as well. For admins, this means Copilot is becoming less about one AI model and more about governance. The real admin work is deciding which providers are allowed, which users can access them, which agents are approved, and how organizational data is protected. Microsoft is trying to keep that control surface in the Microsoft 365 admin center, the Power Platform admin center, Copilot Studio, Entra ID, and Purview instead of forcing every AI provider to become its own separate governance project. For additional Copilot governance, check out [3 Copilot admin settings to check right now for better governance](https://seanshares.com/copilot-admin-settings-to-check-governance/). For users, the experience should feel simpler. They should not have to know where the model is hosted, which provider is best for a specific task, or how to connect their work data manually. Microsoft wants Copilot to be the place where the user asks for help, and the platform decides how to bring together the right app, the right data, the right agent, and the right model. --- ## Frequently Asked Questions ### Is there an extra cost to use Claude in Copilot? There is no additional Microsoft licensing cost. Claude access is included as part of the Microsoft 365 Copilot license. Under the new subprocessor model, you are not entering a separate commercial agreement with Anthropic. ### Can I limit Claude to specific users right now? Not yet at the tenant level. The setting is currently all-or-nothing for licensed Copilot users. Group-based controls are coming in late April 2026\. In the meantime, you can manage expectations through communication and training rather than technical controls. ### What happens if I was using the old opt-in toggle? The old toggle is being deprecated. Microsoft is migrating tenants to the new subprocessor model automatically. If you had opted in previously, your access to Claude should continue under the new model without any action needed. If you had opted out, you may want to check whether Anthropic has been enabled in your tenant since the default behavior has changed. ### Does Claude work in Teams or Outlook directly? Claude is currently available through the Researcher agent in the Microsoft 365 Copilot app. It is also used in certain other Copilot surfaces like Agent Mode in Excel and Word, Excel, and PowerPoint agents where Anthropic models are available as an underlying option. It is not a direct model selector in Teams or Outlook. ### What is the Researcher agent? Researcher is an agent built into Microsoft 365 Copilot that is designed for deep research tasks. It can search the web, pull from your Microsoft 365 data, and synthesize information across sources. It is one of the more capable Copilot features and a good place to try Claude, since Claude tends to perform well on analytical and research-heavy tasks. ## Final Thoughts The shift to the subprocessor model is a meaningful improvement for most organizations because it brings Claude under Microsoft's data governance umbrella rather than sitting outside it. For the majority of commercial tenants, Claude is already available in your tenant right now and your users can start using it today through the Researcher agent. If you are an admin who previously opted out of Claude for compliance reasons, it is worth revisiting that decision now that the data handling model has changed. And if you are in the EU or UK, you will need to make an explicit choice to opt in if you want your users to have access. ### How to Create a Calendar in Excel: Templates, Formulas, and Copilot URL: https://seanshares.com/how-to-create-a-calendar-in-excel/ Last updated: 2026-06-03T12:16:11.000Z There are three ways to make a calendar in Excel, and the right one depends on what you actually need. If you want something printable in five minutes, a template is the fastest path. If you want a calendar that updates itself every time you change the month or year, you build one with a few formulas. And if you have Copilot in Excel, you can hand off some of the setup to it. This guide covers all three, plus how to turn a plain calendar into a real tracker with events, categories, color, and checkboxes. One thing to get straight up front. Excel is not trying to replace Outlook. If you need meeting invites, reminders, availability, or recurring appointments, Outlook is the better tool and it is not close. Excel earns its place when the calendar is also a tracker, a printable monthly planner, a project deadline sheet, a PTO planner, a content calendar, or a shared schedule you want to filter and report on. That is the job Excel does well, so that is what this article focuses on. ## When To Use an Excel Calendar Reach for Excel when your calendar needs structure, filtering, or math behind it. It is a good fit for project calendars, editorial and content calendars, staff schedules, PTO trackers, school-year calendars, event planning, maintenance schedules, deadline trackers, and monthly task lists. Anything where you want to sort, categorize, or run a quick report on the entries belongs in a spreadsheet. Skip Excel when you need the things a real scheduling app does. Meeting invites, automatic reminders, live personal scheduling, room booking, availability lookups, and two-way syncing with Outlook are all outside what a spreadsheet handles well. The honest way to think about it is that Excel is best when the calendar is part of a larger tracker, and Outlook is best when the calendar needs reminders, invites, availability, or recurring meetings. The two are not really competing. They solve different problems. ## What Changed Recently in Excel and Microsoft 365 A few updates are worth knowing before you start, because they affect how you build and where the buttons are: - Copilot in Excel is more capable than it used to be, but what you get depends on your license and tenant settings, not just having Microsoft 365. - Microsoft is rolling out a floating Copilot button in Excel, Word, and PowerPoint, so the way you open Copilot may look different than it did. - Editing with Copilot can now make direct changes in supported workbooks instead of only suggesting them. - Excel Agents in the Microsoft 365 Copilot app can create a spreadsheet from a prompt. - In-cell checkboxes are now a simple way to add TRUE and FALSE task tracking, which is handy for calendars that double as checklists. - The COPILOT function exists, but it is the wrong tool for calendar date math, and it is still limited by license and rollout. If a Copilot feature in this article is missing for you, it may not have reached your account yet. Whether you see new features early often comes down to whether your organization uses [Targeted Release](https://seanshares.com/microsoft-365-targeted-release-what-it-is/). ## Option 1: Use a Built-In Excel Calendar Template This is what most people actually want, especially if the goal is a clean monthly calendar you can print. Microsoft keeps a solid set of calendar templates, and starting from one saves you all the formatting work. ### On Excel for Windows 1. Open Excel. 2. Select **New**. 3. Type Calendar into the search box. 4. Browse the available templates. 5. Pick the monthly, yearly, academic, or planner-style calendar you want. 6. Select **Create**. 7. Save the file with a clear name so you can find it later. ![](https://seanshares.com/content/images/2025/09/image-24.png) ![](https://seanshares.com/content/images/2025/09/image-25.png) ### On Excel for the web 1. Go to Excel for the web. 2. Select **File**. 3. Select **New**. 4. Choose **Browse templates**. 5. Search for Calendar. 6. Open the template you want and save it to OneDrive. ### What to look for in a template Calendar templates are not all built the same way, so it pays to glance at the structure before you commit. Some put all twelve months in one workbook, others use one month per worksheet. You will also find academic year calendars, versions with a notes area, ones with a built-in task list, vacation planners, daily schedule trackers, and layouts designed to print cleanly. Pick based on how you plan to use it, not just how it looks in the preview. ### Customizing a template without breaking it Once a template is open, a few edits make it yours. Change the year or month field if the template has one, rename the worksheet tabs, add a notes column, and adjust the theme colors. You can add categories like Work, Personal, Deadline, Travel, PTO, or Holiday, and a small legend so the colors mean something to anyone who opens the file. Here is the part people miss. Many templates use formulas behind the date cells, which is what makes the dates update when you change the month or year. If you type directly over those cells, you break the automatic updates and the calendar stops recalculating. Before you do heavy customizing, make a copy of the file, and avoid typing over any cell that contains a date formula. If a template has protected cells, that protection is usually there to stop you from doing exactly that. ## Option 2: Build a Dynamic Monthly Calendar From Scratch Building your own takes a little longer, but you end up with a calendar where you type a year and a month into two cells and the whole grid updates on its own. It also teaches you formulas you will reuse in plenty of other spreadsheets. This is the most useful part of the article if you want something reusable. ### Set up the inputs Keep the layout simple. Put your two inputs near the top: - Cell **B1**: the year, for example 2026 - Cell **B2**: the month number, for example 6 for June In row 4, type your day headers across seven columns, A4 through G4: Sun, Mon, Tue, Wed, Thu, Fri, Sat. The date grid will fill rows 5 through 10. ### Generate the dates with one formula For a calendar that starts on Sunday, click into cell A5 and enter this: ``` =LET(first,DATE($B$1,$B$2,1),start,first-WEEKDAY(first,1)+1,SEQUENCE(6,7,start,1)) ``` That one formula fills the entire grid. Here is what each piece is doing. DATE builds the first day of the month you chose. WEEKDAY figures out which day of the week that first day lands on. The formula then backs up to the Sunday that begins the calendar view, so the grid lines up under the right headers. SEQUENCE fills a 6-row by 7-column block of dates starting from that Sunday. Six rows covers every month, including the ones that spill across six weeks. If you prefer Monday as the first day of the week, which is common outside the U.S., change your headers to Mon through Sun and use this version instead: ``` =LET(first,DATE($B$1,$B$2,1),start,first-WEEKDAY(first,2)+1,SEQUENCE(6,7,start,1)) ``` The only difference is the 2 inside WEEKDAY, which tells Excel to treat Monday as the start of the week. ### Show only the day number Once the formula spills the dates into the grid, the cells hold full dates, which is not what you want to see on a calendar. Fix the display without changing the underlying value: 1. Select the calendar grid. 2. Press **Ctrl + 1** to open Format Cells. 3. Choose **Custom**. 4. Enter `d` as the format code. Now each cell shows just the day number, but it still contains the real date underneath, which matters for the formatting rules below. ### Add a month title Above the grid, drop in a title that updates with your inputs: ``` =TEXT(DATE(B1,B2,1),"mmmm yyyy") ``` Change B1 or B2 and the title changes with it, reading something like June 2026. ### Gray out dates from other months A six-week grid always shows a few days from the previous and next month at the edges. Graying those out makes the current month stand out. Select the date grid, open Conditional Formatting, and add a new rule that uses a formula: ``` =MONTH(A5)<>$B$2 ``` Set the format to a light gray font or fill. Make sure the cell reference in the rule, A5 here, matches the top-left cell of your grid, or the rule will line up against the wrong cells. ### Highlight today Add a second conditional formatting rule so the current date is easy to spot: ``` =A5=TODAY() ``` Give it a border or a fill color. This one updates on its own every day. ### Highlight weekends For a Monday-start calendar, weekends fall in the last two columns, and this rule catches them: ``` =WEEKDAY(A5,2)>5 ``` For a Sunday-start calendar, the weekends are the first and last columns, so you can apply a fill straight to the Sunday and Saturday columns, or use the same WEEKDAY approach if you prefer a formula. ## Add an Events Sheet So the Calendar Becomes Useful A calendar gets a lot more useful when events live in a proper table instead of being typed straight into date cells. A table is easier to filter, sort, and report on, and it lets you reuse the same calendar grid month after month without retyping anything. Create a separate worksheet named Events with these columns: - Date - Event - Category - Owner - Status - Notes Select that range and convert it into an Excel table, then name the table Events. Keeping events in a structured table is cleaner than scattering them across calendar cells, and it makes everything later, like color coding and reporting, far simpler. ### Pull events into the calendar grid If you want events to appear inside the calendar, the cleanest approach is to keep the real date grid separate and use a second display grid for the visible calendar. The hidden date grid can hold the actual dates, while the visible grid combines the day number with any matching events from the Events table. For example, if the real date is in A5, a display cell can use: ``` =TEXT(A5,"d")&IFERROR(CHAR(10)&TEXTJOIN(CHAR(10),TRUE,FILTER(Events[Event],Events[Date]=A5)),"") ``` Turn on Wrap Text so multiple events stack neatly inside the cell. This keeps the real date available for formulas while still showing the event names on the calendar. If that feels like more than you need, skip it and just type events directly into the date cells. This formula relies on dynamic array functions, so it works best on Microsoft 365 and newer versions of Excel. On older versions, a template or manual entry is the easier route. ## Add Dropdowns and Categories Dropdowns keep your data clean. Without them, you end up with PTO, Vacation, Time Off, and Out of Office all floating around meaning the same thing, which wrecks any filtering or reporting you try to do later. Set up a short list to choose from. A practical set of categories is Meeting, Deadline, PTO, Holiday, Project, Personal, Travel, and Content. Then: 1. Create a small table named Categories and put the category names in one column. 2. Select the Category column in your Events table. 3. Go to **Data**. 4. Select **Data Validation**. 5. Choose **List**. 6. Point the source at your category list. Now every category gets picked from the same list, and your reports stay consistent. ## Add Color Coding Color makes a calendar easier to scan at a glance, as long as you keep it under control. A small, consistent palette works far better than a rainbow. A reasonable scheme is deadlines in red, PTO in green, meetings in blue, holidays in gray, and personal items in purple. For a simple calendar, color the cells by hand. For a structured one, apply the color to the Events table by category using conditional formatting, then use that table for filtering and reporting. The goal is for someone to glance at the sheet and immediately understand what kind of day each one is, so resist the urge to color everything. ## Add Checkboxes for Task-Style Calendars If your calendar is also a checklist, checkboxes are a clean way to track progress. They fit content trackers, habit trackers, cleaning schedules, maintenance calendars, and any recurring task list. Common uses are columns like Published, Completed, Approved, Paid, Scheduled, or Followed up. To add them: 1. Select the cells where you want checkboxes. 2. Go to **Insert**. 3. Select **Checkbox**. A checked box stores TRUE and an unchecked one stores FALSE, so you can drive formulas off them. For example: ``` =IF([@Done],"Complete","Open") ``` Checkboxes work best inside the Events table rather than in the monthly grid, where a single cell often has to hold a date and an event name already. ## Option 3: Use Copilot to Help Create a Calendar If your account has Copilot in Excel, it can speed up the building process. It can rough out the workbook structure, write formulas, explain formulas you do not understand, clean up event data, and suggest formatting. Treat this as optional. Everything above works without Copilot, and the templates and formulas are doing the real work either way. One thing to be clear about is licensing, because it trips people up. Not every Microsoft 365 user has the same Copilot. Copilot Chat, the full Microsoft 365 Copilot, and the in-app Excel features all vary by subscription, work or school account, tenant settings, region, and rollout status. For the fuller commercial in-app experience, you generally need the Microsoft 365 Copilot add-on license. Some Copilot Chat experiences show up without the add-on, but they are not the same as the full work-grounded version. I get into the details of this in [what Copilot can do in Excel](https://seanshares.com/what-can-copilot-do-in-excel/). The way you open Copilot is also changing. Microsoft is rolling out a floating Copilot button in Word, Excel, and PowerPoint. In Excel it sits in the workbook and opens Copilot in the right-side chat pane. If you do not see the old ribbon button, look for the floating one instead. ### Prompts that work well If you want Copilot to do the heavy lifting, specific prompts get better results: - Create a monthly calendar for June 2026 with a Sunday to Saturday layout. Include space for events and notes. - Build a dynamic Excel calendar where I can change the year and month in two cells and have the calendar update automatically. - Add an Events table with columns for Date, Event, Category, Owner, Status, and Notes. - Create dropdown categories for Meeting, Deadline, PTO, Holiday, Project, Personal, Travel, and Content. - Add conditional formatting so dates outside the selected month are gray and today's date is highlighted. - Explain the formula used to generate the calendar dates. ### Editing with Copilot and the Excel Agent Newer Copilot experiences can make changes directly in a workbook rather than only handing you formulas to paste. On supported accounts, Editing with Copilot in Excel can build a calendar layout, add formulas, create tables, and format the file from a plain-language prompt. Review its work before you rely on it, especially for a calendar other people will use. There is also the Excel Agent in the Microsoft 365 Copilot app, which is a different thing from using Copilot inside an open workbook. With the agent, you describe the spreadsheet you want and Copilot creates a new one. That can be a fast starting point for a calendar, but check the formulas, dates, and formatting before sharing it. ## What Not to Use Copilot For Copilot is good for structure and speed, but it should not be the final word on dates that have to be exact. Do not lean on AI-generated values for payroll schedules, legal deadlines, compliance calendars, medical schedules, or financial close calendars without checking them. The rule that keeps you safe is simple. Let Copilot help build the structure, but let Excel formulas drive the actual dates. Deterministic date formulas recalculate the same way every time, which is exactly what you want from a calendar. AI-generated text does not carry that guarantee, so it does not belong in the cells that have to be right. ## Print the Calendar Cleanly Plenty of people build a calendar just to print it, and a custom grid does not always print neatly without a little setup: 1. Select the calendar range. 2. Go to **Page Layout**. 3. Set **Orientation** to Landscape. 4. Set the **Print Area** to your selection. 5. Use **Fit Sheet on One Page** so it does not split across sheets. 6. Adjust the margins if anything is tight. 7. Check **Print Preview** before you print. Templates usually handle print layout better than a calendar you built yourself, so if printing is the whole point, starting from a template is often the faster way to get a clean page. ## Share the Calendar With Others Sharing a calendar file is not the same as sharing an Outlook calendar, and treating it like one leads to a mess of emailed copies. The clean approach is to keep one file that everyone works from: - Save the workbook to OneDrive or SharePoint. - Use the **Share** button rather than emailing the file around. - Decide whether people can edit or only view. - Keep it in a modern .xlsx format. If several people need to update the calendar, OneDrive or SharePoint lets them co-author the same file instead of trading versions. For a team-owned calendar, SharePoint is usually the better home because ownership lives with the site or team rather than one person's OneDrive, so the calendar does not disappear when someone leaves. If your team already builds processes in SharePoint, a shared calendar fits right alongside something like a [SharePoint approval workflow](https://seanshares.com/how-to-create-a-sharepoint-approval-workflow/). ## Excel Calendar vs Outlook Calendar It helps to see the split side by side, because the two tools really are built for different jobs. | Excel is better for | Outlook is better for | | --------------------- | ---------------------------- | | Project schedules | Meeting invites | | Printable planning | Reminders | | Tracking tasks | Recurring meetings | | Categorizing events | Availability | | Filtering and sorting | Room booking | | Reporting | Personal daily scheduling | | PTO planning | Mobile notifications | | Content calendars | Sharing with external people | One important limitation to know. Excel does not give you native two-way live sync with Outlook calendars. You can export or import calendar data in some situations, but an imported calendar file is usually a snapshot. If the original changes later, your imported copy will not update on its own. If live scheduling matters, that work belongs in Outlook, and if you are getting more out of Outlook in general, its [rules feature](https://seanshares.com/how-to-create-and-manage-rules-in-outlook/) is worth a look. ## Troubleshooting ### My dates show up as serial numbers Excel is showing the underlying date value instead of a formatted date. Format the cells as dates, or use the custom `d` format to show just the day number. ### My calendar starts on the wrong day Check which WEEKDAY logic your formula uses. The number 1 inside WEEKDAY gives a Sunday start, and 2 gives a Monday start. Match that to your day headers. ### The formula spilled into the wrong cells Dynamic array formulas need empty space to spill into. Clear out any cells in the area where the grid needs to expand, and the spill will correct itself. ### Dates from the previous or next month are showing That is normal for a full six-week grid. Use the conditional formatting rule above to gray those days out so the current month stands out. ### My template stopped updating You most likely typed over a formula cell. Download a fresh copy of the template or restore an earlier version of the file, then avoid editing the date cells directly. ### Data validation is grayed out The sheet may be protected, or it may be shared in a way that blocks validation changes. Unprotect the sheet or adjust the sharing settings before editing the validation rules. ### Copilot does not show up This usually comes down to license, account type, update channel, privacy settings, admin settings, region, or rollout timing. Any one of those can be the reason the feature is missing. ### The floating Copilot button is missing The floating button only appears for accounts that have access to Copilot. If your account does not have access, you will not see it. ## Frequently Asked Questions ### What is the fastest way to create a calendar in Excel? Use a built-in template. Search for Calendar from the New screen, pick a template, and customize it. You get a formatted, print-ready calendar in minutes without writing a single formula. ### Can I create a calendar in Excel without a template? Yes. Use DATE, WEEKDAY, and SEQUENCE to build a dynamic grid that updates whenever you change the month or year. It takes a bit longer to set up but gives you full control. ### Can I make the calendar update automatically each month? Yes. Store the year and month in two input cells, then base the calendar grid and title on those cells. Change the inputs and everything recalculates. ### Can I add events to an Excel calendar? Yes, and the cleanest way is a separate Events table with columns for Date, Event, Category, Owner, Status, and Notes. From there you can filter, sort, and report on events instead of digging through calendar cells. ### Can I link an Excel calendar to Outlook? Not as a native two-way sync. Outlook is the right tool for live scheduling, reminders, and invites. Excel is better for planning, tracking, reporting, and printing. You can move data between them in some cases, but an import is a snapshot, not a live link. ### Can Copilot create a calendar in Excel? Yes, if your account has the right Copilot experience. Copilot can build the layout, write formulas, add formatting, and explain how the calendar works. What you can do depends on your license, account type, tenant settings, app version, and rollout status. ### Do I need Microsoft 365 Copilot to make a calendar in Excel? No. Templates and formulas work fine without Copilot. Copilot is optional and mostly speeds up setup or editing. ### Can I use the COPILOT function to create a calendar? The COPILOT function is not the right tool for the date math. Use normal Excel date formulas for the calendar grid, since they recalculate predictably. The COPILOT function is meant for semantic tasks like summarizing, classifying, tagging, or generating sample text, and it is still limited by availability and licensing. ### Can multiple people edit the calendar at the same time? Yes, as long as the workbook is saved in OneDrive or SharePoint, shared with edit permissions, and stored in a modern .xlsx format. That is what enables real-time co-authoring. ### Can I print an Excel calendar? Yes. Set the print area, switch to landscape orientation, and scale the sheet to fit on one page. Use Print Preview first so you do not waste paper on a layout that splits. ## Final Thoughts The right method comes down to what you need. If you just want a printable calendar, start with a template. If you want a reusable calendar that updates every month, build it with DATE, WEEKDAY, and SEQUENCE. If you have Copilot, use it to speed up the setup, but let Excel formulas handle the actual dates. That combination gives you the best balance of speed, accuracy, and flexibility, and it leaves you with a calendar that keeps working long after you build it. ### How to Turn Off Microsoft Outlook Notifications URL: https://seanshares.com/how-to-turn-off-microsoft-outlook-notifications/ Last updated: 2026-04-10T22:57:32.000Z Microsoft Outlook notifications can quickly become distracting, especially if you receive a high volume of emails throughout the day. While notifications are helpful for staying updated, they can interrupt focus during work or personal time. Fortunately, Outlook provides several ways to manage or completely turn off notifications, whether you are using the desktop app, Outlook on the web, or the mobile app. ## Turn Off Notifications in the Outlook Desktop App The new Outlook desktop app and classic Outlook both have notification settings, though the menu locations differ slightly depending on which version you are running. ### New Outlook (Windows) 1. Open Outlook and click the gear icon (Settings) in the top right. 2. Select General, then Notifications. 3. Toggle Notifications in Outlook to Off to silence everything, or expand the options to customize by notification type. 4. You can also control whether to show notifications for email, calendar reminders, and @mentions separately. ![](https://seanshares.com/content/images/2025/09/image-16.png) This will stop the desktop alerts and sounds for new messages. You can still check your inbox at your convenience without constant interruptions. ### Classic Outlook (Windows) 1. Open Outlook and go to File, then Options. 2. Select Mail from the left pane. 3. Scroll to the Message arrival section. 4. Uncheck Display a Desktop Alert to stop pop-up notifications, and uncheck Play a sound to stop audio alerts. 5. Click OK to save. ![](https://seanshares.com/content/images/2026/04/image-3.png) If you still want to know when important mail arrives but not every message, you can leave desktop alerts on and use rules to only alert you for specific senders or subject lines. --- ## Manage Windows System Notifications for Outlook Even after turning off in-app notification settings, Windows system notifications for Outlook may still appear. These come from the Windows notification system and need to be managed separately. 1. Open Windows Settings and go to System, then Notifications. 2. Scroll down to find Microsoft Outlook in the app list. 3. Toggle it Off to block all Outlook notifications at the OS level, or click on it to adjust banners, sounds, and notification center behavior individually. ![](https://seanshares.com/content/images/2026/04/image-4.png) ![](https://seanshares.com/content/images/2026/04/image-5.png) This is also where you can control whether notifications appear when your screen is locked. Turning off lock screen notifications for Outlook keeps email subjects private when your computer is unattended. ## Turn Off Notifications in Outlook on the Web 1. Sign in to Outlook on the web at [outlook.office.com](https://outlook.office.com/?ref=seanshares.com). 2. Click the gear icon in the top right to open Settings. 3. Navigate to **General > Notifications**. 4. Toggle off the notification options you no longer want, such as sounds, message notifications, or reminders. 5. The new settings will save automatically. ![](https://seanshares.com/content/images/2025/09/image-17.png) This ensures Outlook will no longer push notifications to your browser. ## Turn Off Notifications in the Outlook Mobile App 1. Open the Outlook app on your mobile device. 2. Tap your profile icon in the top left corner, then select the gear icon for **Settings**. 3. Under **Quick Settings**, choose **Notifications**. 4. You can toggle the *Allow Notifications* setting off. 5. Alternatively, you can also select the *Do not disturb* setting to only disable notifications for a set amount of time if you are out of office. --- ## Focus-Specific Notification Control If you do not want to turn off notifications entirely but need stretches of focused work, consider using Windows Focus Assist (or Focus in Windows 11) instead. This lets you mute all non-priority notifications for a set period without changing your Outlook settings permanently. 1. Go to Windows Settings, System, Focus (or Focus Assist on Windows 10), and set a duration. Outlook alerts will be silenced while Focus is active. You can also schedule automatic Focus sessions to align with your regular deep work hours. ![](https://seanshares.com/content/images/2026/04/image-6.png) ![](https://seanshares.com/content/images/2026/04/image-7.png) ## Notification Rules: A Smarter Middle Ground Rather than turning off all notifications, you can use Outlook rules to control which emails trigger a notification. This way you still hear about genuinely important messages without being pinged for every newsletter or reply-all. In classic Outlook, go to File, then Manage Rules and Alerts. Create a new rule for specific senders, subject keywords, or high-importance flags, and set the action to Display a Desktop Alert. Then turn off the default desktop alert in Options, which gives you only rule-triggered notifications for the things you actually care about. ## Frequently Asked Questions ### Will turning off notifications affect whether I receive emails? No. Notifications are only about how Outlook tells you an email arrived. Your emails are delivered to your inbox regardless of notification settings. ### Can I set quiet hours for Outlook notifications? In the Outlook mobile app, you can set Do Not Disturb schedules that suppress notifications during specific hours, such as outside your working hours. On desktop, use Windows Focus Assist schedules to achieve the same effect. ### I turned off notifications but still hear sounds. What is wrong? Sounds and visual alerts are controlled separately in some Outlook versions. Make sure you have unchecked both Play a sound and Display a Desktop Alert in the Mail options. Also check whether your computer's own sound settings are overriding Outlook-specific preferences. ## Final Thoughts Managing Outlook notifications is worth taking ten minutes to set up properly. Most people either leave everything on and get overwhelmed, or turn everything off and miss things they should have seen. The sweet spot is usually somewhere in between: turning off general email alerts but keeping calendar reminders and @mention notifications active. That way you stay informed without being constantly interrupted. ### SharePoint Online Permissions Explained: Sites, Libraries, and Files URL: https://seanshares.com/sharepoint-online-permissions-explained-sites-libraries-and-files/ Last updated: 2026-04-21T17:43:37.000Z SharePoint Online permissions confuse a lot of people, and the confusion usually comes from the same place: SharePoint has three layers where permissions can be set, and each layer can either inherit from the one above it or break that inheritance and go its own way. Once you understand how inheritance works, the rest of the permission system starts to make sense. This guide walks through how SharePoint Online permissions are structured, what the default permission levels mean, when to use unique permissions versus inherited ones, and the most common mistakes admins and site owners make. ## The Three Layers of SharePoint Permissions SharePoint Online has three levels where permissions can be set: the site, the library or list, and the individual item or file. By default, everything below the site inherits the site's permissions. That means if you add someone to the site with Read access, they can read every document in every library and every item in every list on that site. When you break inheritance at a lower level, that library or file stops following the site's rules and follows its own instead. Most sites work best when you keep things simple and manage permissions at the site level. The more places you set unique permissions, the harder the environment becomes to manage and troubleshoot. That said, there are legitimate reasons to break inheritance, and this guide covers when that makes sense. ## SharePoint Permission Levels SharePoint Online comes with a set of built-in permission levels that you assign to users or groups. The ones you will use most often are: - **Full Control** gives the user complete administrative access to the site. They can manage permissions, create and delete libraries, and change site settings. Reserve this for site owners. - **Design** allows users to create and edit pages, apply themes, and work with style sheets. Used less commonly in most business environments. - **Edit** allows users to add, edit, and delete items and documents. They can also create and manage lists and libraries. This is a broad level that gives more power than most regular users need. - **Contribute** allows users to add, edit, and delete items in existing libraries and lists. They cannot create new libraries. This is typically the right level for regular team members. - **Read** gives view-only access. Users can open and download documents but cannot edit anything. - **View Only** is similar to Read but prevents downloading in some document types. Mainly used in specific sensitive document scenarios. ## SharePoint Groups vs. Direct Permissions You can assign permissions to users individually or through SharePoint groups. Using groups is almost always the better approach. Every SharePoint site comes with three default groups: the site's Owners group (Full Control), Members group (Edit), and Visitors group (Read). Adding users to these groups rather than granting individual permissions makes the site much easier to manage. When someone leaves the team, you remove them from the group. When someone joins, you add them. You do not need to audit every library and item to track down individual permissions. Direct permissions, where you share something with a specific person outside of a group, tend to multiply quietly over time. Six months later you have no clean picture of who has access to what. Stick to groups where possible. ## How Inheritance Works in Practice When you first create a SharePoint site, all libraries and lists inherit permissions from the site. If you add a new document library, it automatically gives access to everyone who has access to the site. This is expected behavior and usually what you want. Breaking inheritance makes sense in two main scenarios. The first is when a library or list contains sensitive content that should only be visible to a subset of site members. An HR documents library on a general team site is a good example. You break inheritance on that library, remove the regular site members, and add only the people who should have access. The second scenario is item-level permissions, where a specific document needs to be shared with someone outside the site without giving them full site access. This works but creates complexity quickly. If you find yourself setting item-level permissions regularly, it is usually a sign that the information architecture needs rethinking, perhaps a separate site or library would be cleaner. ## How to Check What Permissions Someone Has One of the most useful things to know as a SharePoint admin is how to check effective permissions for a user. This tells you exactly what someone can and cannot do on a given site, library, or item, taking all group memberships and inheritance into account. - Go to the site, library, or item you want to check. - Select the gear icon, then **Site permissions** (for site level). ![](https://seanshares.com/content/images/2026/04/image-35.png) Site Permissions from gear icon - Click Advanced permissions settings ![](https://seanshares.com/content/images/2026/04/image-36.png) Click on Advanced Permissions settings - In the permissions page, select **Check Permissions** in the ribbon. ![](https://seanshares.com/content/images/2026/04/image-37.png) Check permissions button - Type the name or email address of the user and select **Check Now**. ![](https://seanshares.com/content/images/2026/04/image-38.png) Search for person and check now SharePoint returns the exact permission level that user has and which group or direct assignment is responsible for it. This is the fastest way to answer the question "why can this person see this?" or "why can't this person edit that?" ![](https://seanshares.com/content/images/2026/04/image-39.png) Permissions of user ## Sharing Links and How They Interact with Permissions SharePoint Online has a sharing model that operates alongside the traditional permissions system. When someone selects Share on a file and sends a link, SharePoint creates an access grant for that specific file independent of site membership. There are four link types to understand: - **Anyone links** let anyone open the file without signing in. These are controlled by your organization's external sharing settings and can be disabled at the tenant or site level. - **People in your organization links** require the recipient to be signed into a Microsoft 365 account in your tenant. - **People with existing access links** do not grant new access. They generate a URL that only works for people who already have permission. - **Specific people links** grant access to named individuals inside or outside your organization. Sharing links are convenient but they can pile up and become hard to audit. Regularly reviewing shared links on sensitive sites is worth building into your governance routine. You can see active links on a file by selecting it, choosing the information panel, and looking at the access section. ## External Sharing: What Admins Need to Know External sharing in SharePoint Online is controlled at two levels: the tenant level (set by a global or SharePoint admin in the admin center) and the individual site level. The site cannot be more permissive than the tenant. If the tenant is set to allow sharing only within the organization, you cannot override that on a specific site. The tenant-level setting has four options, ranging from most to least permissive: Anyone, New and existing guests, Existing guests only, and Only people in your organization. Most business environments run on New and existing guests or Existing guests only, which require external users to authenticate before accessing content. ![](https://seanshares.com/content/images/2026/04/image-40.png) Administrator permission levels available to When a guest is invited to a SharePoint site, they are added to Azure Active Directory as a guest user. They only have access to what they are explicitly given. They cannot browse other sites or see the organization's directory unless that is explicitly permitted in your Entra ID settings. ## Common Permission Mistakes to Avoid The most common issue I see in SharePoint environments is permission sprawl from overusing sharing links and direct permissions instead of managing access through groups. It starts with one quick share and compounds over years until nobody has a clear picture of who has access to what. The second most common issue is over-privileged users. Giving everyone Contribute or Edit when most people only need Read access creates unnecessary risk. Default to the least permissive level that lets people do their job. The third is breaking inheritance without documenting it. When a library has unique permissions, the only way to know that is to check its permissions page directly. There is no site-level view that shows all locations with broken inheritance. Keep a record of where you have set unique permissions and why, or it becomes very hard to troubleshoot access issues later. If you are seeing users getting prompted for credentials repeatedly on SharePoint sites, permissions misconfiguration or a sync issue is often the cause. [Why Does SharePoint Keep Asking for My Credentials](https://seanshares.com/why-does-sharepoint-keep-asking-for-credentials/) covers the most common reasons and how to fix them. ## Managing Permissions at Scale with the SharePoint Admin Center For organizations with many sites, managing permissions site by site in the SharePoint interface gets tedious quickly. The SharePoint admin center gives you a higher-level view. From the admin center at admin.microsoft.com, you can see all sites in your tenant, their sharing settings, storage usage, and primary owners. ![](https://seanshares.com/content/images/2026/04/image-41.png) View all sites permissions from SharePoint Admin Center - Active Sites For bulk permission changes or reporting across sites, PowerShell with the PnP module is the most efficient approach. PnP PowerShell lets you script common tasks like adding a user to a group across multiple sites, reporting on all unique permissions in a site collection, or auditing sharing links across libraries. If your organization is also thinking about Copilot and how it interacts with content permissions, this matters more than ever. Copilot surfaces content based on what the signed-in user already has permission to access. Overly broad permissions mean Copilot can surface content users probably should not see. [Copilot admin settings to check for governance](https://seanshares.com/copilot-admin-settings-to-check-governance/) is worth reading alongside this if you are rolling out Copilot in your environment. --- ## Frequently Asked Questions ### What is the difference between site members and site owners? Site owners have Full Control, which includes the ability to manage permissions, change site settings, and delete the site. Site members typically have Edit access, which lets them work with content but not change site settings or manage who has access. Always limit the number of site owners to people who genuinely need administrative control. ### Can I see all files a specific user has access to across SharePoint? Not easily from the SharePoint interface directly. The Microsoft 365 compliance portal and the SharePoint admin center offer some reporting, and PowerShell with PnP can generate more detailed access reports. There is no single built-in view that shows all content a user can access across all sites, which is one reason keeping permissions clean and group-based matters. ### Why does SharePoint say a file was modified by someone who did not touch it? This is a common source of confusion. Background processes like OneDrive sync, Power Automate flows, and metadata updates can all register as modifications under a user's account. [Why Does SharePoint Say I Modified a File](https://seanshares.com/why-does-sharepoint-say-i-modified-a-file/) explains each cause in detail. ### Should I use Microsoft 365 groups or SharePoint groups for permissions? For modern team sites connected to Microsoft Teams, Microsoft 365 groups manage membership and those group members automatically become the site's members. For communication sites and classic sites, SharePoint groups are the typical approach. In practice, most organizations end up using a mix depending on how the site was created and whether it has a Teams channel attached. ### How do I remove someone's access from a SharePoint site? Go to the site, select the gear icon, then **Site permissions**, then **Advanced permissions settings**. Find the group the user belongs to, open the group, and remove the user. If they were given direct access outside of a group, you will see their name listed directly in the permissions page and can remove them from there. Removing someone from site membership does not revoke access granted through sharing links, so check both. ### How to Pin Outlook, Teams, and More in the New Microsoft 365 Copilot Interface URL: https://seanshares.com/how-to-pin-outlook-teams-and-more-in-the-new-microsoft-365-copilot-interface/ Last updated: 2026-04-13T01:00:04.000Z Microsoft has redesigned the Microsoft 365 home experience to center around Copilot. If you recently noticed that the interface looks different and your go-to apps like Outlook, Teams, and OneDrive are not immediately visible, you are not imagining things. The new design puts Copilot front and center, with other apps accessible through the left sidebar. The good news is that you can pin any app you use regularly to that sidebar so it is always one click away. ## What Changed in the Microsoft 365 Interface The previous Microsoft 365 home page at office.com displayed a grid of app icons that made it easy to jump directly to any app. The new interface, now anchored at m365.cloud.microsoft, replaces that grid with a Copilot-first design where the sidebar becomes the primary navigation for apps. For people who live in Outlook and Teams all day, the change initially feels disruptive because those apps are no longer front and center. Pinning them to the sidebar restores that quick-access experience and takes about thirty seconds to set up. Note: Copilot Chat is permanently pinned to the navigation and cannot be unpinned. All other apps can be pinned and unpinned freely. ## Pin apps from inside the Copilot app - Open the Microsoft 365 Copilot app at m365.cloud.microsoft and sign in with your tenant account. - In the left sidebar, click **Apps**. ![](https://seanshares.com/content/images/2025/09/image-12.png) - Hover over the desired app (e.g., Outlook or Teams), click the **3 dots** (⋯) icon, then select **Pin**. ![](https://seanshares.com/content/images/2025/09/image-13.png) - The M365 app will now appear in the left hand navigation for easy access. ## Apps You Can Pin Nearly any Microsoft 365 app is available to pin. The most commonly pinned ones are: - Outlook for email and calendar - Teams for chat and meetings - OneDrive for file access - SharePoint for intranet and document libraries - Word, Excel, and PowerPoint for direct document creation - OneNote for notes - Planner for task management - Forms, Whiteboard, Stream, and other Microsoft 365 apps If an app you need is not appearing in the list, check whether it is included in your Microsoft 365 license. Some apps require additional licensing before they appear. ## How to Reorder Your Pinned Apps Once you have pinned a few apps, you may want to arrange them in an order that matches how often you use them. To rearrange, click and hold on an app icon in the sidebar and drag it up or down to a new position. Release when it is where you want it. The order you set persists between sessions, so you only need to do this once. A good approach is to put your most-used apps at the top of the sidebar, closest to Copilot itself, and less frequently used apps further down. ![](https://seanshares.com/content/images/2025/09/image-15.png) ## How to Unpin an App Changing your mind about a pinned app is easy. Hover over the app icon in the sidebar and select the unpin option that appears. The app is removed from the sidebar but still exists and is accessible through the full apps list. ![](https://seanshares.com/content/images/2025/09/image-14.png) --- ## Admin Controls for Pinned Apps As a Microsoft 365 administrator, you have some control over the default app layout that users see when they first open the Copilot interface. Through the Microsoft 365 admin center you can configure which apps are pinned by default for users in your organization. This is useful for standardizing the experience, especially during onboarding when new employees might not know which apps they need. Individual users can override admin-configured pins unless you lock the configuration. In most cases, letting users personalize their sidebar is fine since it improves their day-to-day experience. Note: As of January 2026, the setting that previously governed whether Copilot Chat could be pinned or unpinned has been retired. Copilot Chat is now permanently pinned for all users worldwide and cannot be removed from the navigation. ## Keyboard Shortcuts for Pinned Apps Once apps are pinned in the sidebar, you can navigate to them quickly using keyboard shortcuts. Press Alt+1 through Alt+9 to jump to apps by their position in the sidebar. This is particularly useful if you switch between Outlook and Teams dozens of times a day. ## Opening Pinned Apps in a New Window If you prefer to have Outlook or Teams open in a separate dedicated window rather than inside the Copilot interface, right-click the pinned app icon in the sidebar and look for the option to open it in a new window or tab. This is especially handy for keeping Outlook open all day while using Copilot in the main window for other work. ## Frequently Asked Questions ### My pinned apps disappeared after a browser update. What happened? Pinned app preferences are stored in your Microsoft 365 profile, so they should persist across devices and browsers. If they disappeared, try signing out and signing back in to resync your preferences. ### What is the URL for the new Microsoft 365 Copilot interface? The current URL is m365.cloud.microsoft. The previous m365copilot.com address redirects there automatically, but updating any bookmarks to the new URL is a good idea. ### Why do some apps not appear in the pin list? Apps only appear in the list if they are licensed for your account. If you cannot find an app, check with your IT admin about whether your account includes that service. --- ## Final Thoughts The Microsoft 365 Copilot interface is a real shift from what most people are used to, but pinning your key apps to the sidebar takes thirty seconds and restores most of the quick-access feel from the old design. Once you have Outlook, Teams, and OneDrive pinned and arranged the way you want them, the new interface works quite well. Give the drag-to-reorder feature a try once you have a few apps pinned. ### How to Automatically open SharePoint File in Desktop App URL: https://seanshares.com/how-to-open-sharepoint-file-in-desktop-app/ Last updated: 2026-05-01T20:02:40.000Z By default, SharePoint often opens Word, Excel, and PowerPoint files in the browser, which can be limiting if you prefer the full functionality of the desktop apps. Fortunately, there are several ways to change this behavior. It can be set at the library level, applied across an entire site, or on a file-by-file basis. We’ll cover three methods to make sure your SharePoint files open directly in their desktop applications for a smoother editing experience. ## 1\. Set it at the document library level If you have full control as a Site Owner over a specific document library: - Go to your SharePoint site and open the desired document library. - Click the gear icon (⚙️) and choose **Library settings**. ![](https://seanshares.com/content/images/2025/09/image-2.png) - Select **More Library Settings.** ![](https://seanshares.com/content/images/2025/09/image-3.png) - Select **Advanced settings**. ![](https://seanshares.com/content/images/2025/09/image-4.png) - Under **Opening Documents in the Browser**, choose **Open in the client application**. ![](https://seanshares.com/content/images/2025/09/image-5.png) - Scroll to the bottom and click **OK** to save. ![](https://seanshares.com/content/images/2025/09/image-6.png) Now, anyone opening Word, Excel or PowerPoint files from that library will have them launch in the desktop app by default. --- ## 2\. Apply it site‑wide to all libraries As a site‑collection administrator, you can enforce the setting across an entire site: - On the top‑level site, click the gear icon and select **Site information**, then choose **View all site settings**. ![](https://seanshares.com/content/images/2025/09/image-7.png) ![](https://seanshares.com/content/images/2025/09/image-8.png) - Under **Site Collection Administration**, click **Site collection features**. ![](https://seanshares.com/content/images/2025/09/image-9.png) - Find **Open Documents in Client Applications by Default** and click **Activate**. ![](https://seanshares.com/content/images/2025/09/image-10.png) This turns on the desktop‑app default for every document library within that site. --- ## 3\. Manual override (available to all users) Even without admin permissions, you can still open a file in the desktop app at any time: - Navigate to the file in the library or in OneDrive for Business. - Click the **•••** (More) button next to the file name. - Choose **Open** → **Open in app**. ![](https://seanshares.com/content/images/2025/09/image-11.png) This reliably launches the desktop version—and if needed, OneDrive sync will also be activated to support it. --- These three methods for opening a SharePoint file within the desktop application can help either you or the visitors to your SharePoint to open their files within the desktop app for easier editing. Let me know any questions below and thanks for reading! ### GPT-5 Arrives in Microsoft Copilot: What You Need to Know URL: https://seanshares.com/gpt-5-arrives-in-microsoft-copilot-what-you-need-to-know/ Last updated: 2026-04-21T19:10:19.000Z Microsoft rolled out GPT-5 to Microsoft 365 Copilot starting in August 2025, and the model has continued to evolve significantly since then. What started as GPT-5 has progressed through several iterations, and as of early 2026 the current versions available are GPT-5.3 Instant and GPT-5.4 Thinking. This post covers what the GPT-5 family of models brings to your day-to-day Copilot experience, how the model selector works, and what to expect from the different reasoning modes. ## What GPT-5 Brought to Copilot GPT-5 was a meaningful upgrade over the models that powered Copilot before it. The most noticeable improvement for most users is response quality on complex, multi-step tasks. GPT-5 handles ambiguous instructions better and is less likely to produce confident-sounding but incorrect answers. For the kinds of tasks Copilot handles in Word, Excel, and Teams, this translates to outputs that need less editing and fewer follow-up corrections. A few specific improvements that made an immediate practical difference: • Better performance on long documents. GPT-5 can hold significantly more content in its working context, which means fewer cases where Copilot seems to forget what was in the file you uploaded or misses something from earlier in a document. • Improved reasoning on structured tasks. Creating formulas in Excel, building structured summaries, and handling multi-step workflows all benefit from the improved reasoning capability. • Faster responses on simpler tasks. GPT-5's routing technology sends straightforward requests to a faster sub-model, so basic tasks like short email drafts or simple summaries come back quicker than before. ## How the Model Has Evolved: GPT-5.2 through GPT-5.4 Since the initial GPT-5 rollout, Microsoft has pushed several updated versions through Copilot: • GPT-5.2 rolled out in December 2025 and introduced the model selector, letting users choose between different reasoning modes for the first time. • GPT-5.3 Instant launched in early 2026, optimized for speed. Best for quick tasks where you want a fast response over deep reasoning. • GPT-5.4 Thinking launched in March 2026, adding a dedicated deep reasoning mode for complex analysis, long documents, and multi-step problems. The rollout is complete. There is no longer a staged wait for access. All users with a Microsoft 365 Copilot license have access to the full model selector. ## The Model Selector and Reasoning Modes As of January 2026, the model selector is available across all Copilot surfaces: web, Windows, Mac, iOS, and Android. When you open Copilot Chat, you will see a model selector that lets you choose how you want Copilot to approach the conversation. There are three modes: • Auto: This is the default. Copilot picks the right model for the task automatically based on what you ask. For most everyday use, this is the right choice. • Quick Response (GPT-5.3 Instant): Prioritizes speed. Good for simple drafts, quick summaries, or when you are iterating fast and do not need deep reasoning. • Think Deeper (GPT-5.4 Thinking): Uses more processing time to reason through complex problems. Good for analyzing long documents, working through ambiguous instructions, or tasks where quality matters more than speed. For standard day-to-day Copilot use, leaving it on Auto gives you the best balance. Switch to Think Deeper when you are working on something complex and have a moment to wait for a more thorough response. ## What This Means Across Microsoft 365 Apps GPT-5 and its successors power Copilot across the full Microsoft 365 suite. The model selector is available in Copilot Chat, and the underlying model improvements flow through to the integrated Copilot experiences in Word, Excel, PowerPoint, Outlook, and Teams as well. You do not need to do anything in the individual apps; the model improvements apply automatically. Declarative agents built in Copilot Studio also received an automatic upgrade to GPT-5.2, and the model selector is available there as well for custom agent configuration. ## What Changes for Admins The GPT-5 rollout does not require any admin action to enable. The model updates automatically for all licensed Copilot users. There are no new licensing costs for GPT-5 access, including the Think Deeper reasoning mode. If your organization needs to maintain a specific model version for compliance or testing purposes, that is a conversation with your Microsoft account team. Standard admin center settings do not include per-model controls for the core Copilot experience. --- ## Frequently Asked Questions ### Is GPT-5.4 Thinking available on mobile? Yes. The model selector including Think Deeper mode is available on iOS and Android as of January 2026. ### Does using Think Deeper cost extra? No. All reasoning modes are included in the standard Microsoft 365 Copilot license. There is no additional cost for Think Deeper or any of the model versions. ### Can I set Think Deeper as my default instead of Auto? The default is Auto and cannot be changed to a different mode persistently at the user level. You select the mode per conversation. If you consistently need deeper reasoning, building that into your workflow (always switching to Think Deeper before complex sessions) is the current approach. ### How is this different from the Reasoning feature in Copilot? Think Deeper mode is the publicly named version of the reasoning capability. When you select it, Copilot takes more time to think through the problem before responding, which shows up as a visible reasoning step in some interfaces. The result is generally more accurate and better structured for complex tasks. ## Final Thoughts The progression from the initial GPT-5 rollout to the current GPT-5.4 Thinking has made Copilot meaningfully more capable in a short period of time. The model selector gives users actual control over the quality/speed tradeoff for the first time, which is a practical improvement for people who know when they need depth versus when they just need a quick answer. If you have not experimented with Think Deeper mode yet, throw a complex document or a multi-part analytical question at it and see what you get. ### How to use GPT-5 in Microsoft Copilot URL: https://seanshares.com/how-to-use-gpt-5-in-microsoft-copilot/ Last updated: 2026-04-21T19:10:41.000Z GPT-5 is now the default model powering Microsoft 365 Copilot, and the experience has evolved significantly since the initial rollout. There is no longer a "Try GPT-5" button to click. GPT-5 is simply on, and you now have a model selector that lets you choose between different versions and reasoning modes depending on what you are working on. Here is how it all works. ## GPT-5 Is Now the Default When GPT-5 first rolled out in mid-2025, users had to manually enable it per session using a button in the Copilot Chat interface. That phase is over. GPT-5 is now the default model for all Microsoft 365 Copilot licensed users across all surfaces: web, Windows, Mac, iOS, and Android. You do not need to do anything to enable it. What you do have now is a model selector that lets you pick which version of GPT-5 to use and how deeply it should reason through your request. ## Using the Model Selector The model selector appears in Copilot Chat at m365.cloud.microsoft. When you open a chat, look for the model dropdown at the top or bottom of the chat input area. Clicking it shows your three options: - Auto: Copilot picks the right model automatically based on what you ask. This is the default and works well for the majority of everyday tasks. - Quick Response (GPT-5.3 Instant): Prioritizes speed over depth. Good for simple drafts, short summaries, or when you are iterating quickly. - Think Deeper (GPT-5.4 Thinking): Takes more time to reason through complex problems before responding. Good for long documents, multi-step analysis, or nuanced tasks where you want the most thorough result possible. ![](https://seanshares.com/content/images/2026/04/image-12.png) The selection applies to the current conversation. Starting a new chat resets the selector to Auto. ## When to Use Each Mode ### Auto Leave it on Auto for most things. Routine email drafts, short summaries, quick formula help in Excel, meeting recap requests, and similar everyday tasks all work well on Auto. Copilot routes the request to the appropriate model without you needing to think about it. ### Quick Response Switch to Quick Response when speed matters more than depth. Good scenarios include rapid iteration on a draft where you want to try multiple versions quickly, simple one-line requests, or any time you are in a meeting and need a fast answer to paste into a chat. ### Think Deeper Use Think Deeper for your most demanding tasks. This mode is noticeably better when: - You are analyzing a long, complex document and need thorough coverage. - You are asking Copilot to reason through a multi-step problem with several conditions or constraints. - You want a more structured and complete output on a complex topic. - You are building something important, like a detailed report or a proposal, and you want the most careful result. Think Deeper takes longer to respond because it is doing more reasoning work before replying. You will sometimes see a visible reasoning step in the interface. The wait is usually worth it for complex requests. ## How to Access Copilot Chat 1. Open your browser and go to m365.cloud.microsoft. Sign in with your Microsoft 365 work account. 2. Copilot Chat is the main interface. You can start a new conversation directly from here. 3. Click the model selector (look for the model name near the chat input box) to switch between Auto, Quick Response, and Think Deeper. 4. Type your prompt and send. The selected mode applies to that conversation. ![](https://seanshares.com/content/images/2026/04/image-13.png) Copilot Chat is also accessible from within the individual Microsoft 365 apps. In Word, Excel, Outlook, and Teams, the Copilot integration uses the same underlying models, though the model selector is primarily available in the standalone Copilot Chat interface. ## Getting Better Results with GPT-5 A better model does not mean you can write worse prompts. GPT-5 is more capable, but it still works best when you give it clear context and a specific goal. A few things that consistently improve results: - Be specific about format. "Summarize this in three bullet points, each under two sentences" is better than just "summarize this." - Tell Copilot who the audience is. "Write this for a non-technical manager" produces a different result than "write this for a SharePoint administrator." - Tell it what to leave out, not just what to include. "Draft a project update without mentioning budget figures" is more useful than a vague request. - For multi-step tasks, spell out each step. GPT-5 handles chained instructions well, but being explicit still gets better results than a vague high-level request. - If the first result is not right, iterate. Copilot is designed for back-and-forth. Follow up with adjustments rather than starting over. ## GPT-5 in Copilot Studio If you build custom agents in Copilot Studio, GPT-5 is available as the model for your agents. Agents were automatically upgraded to GPT-5.2, and you can configure the model version in the agent settings. 1. Open Copilot Studio and select or open the custom agent you want to configure. 2. Navigate to Settings for that agent. 3. Find the Model dropdown and select the version you want. 4. Save your changes and publish the agent. Test your agent thoroughly after a model change, particularly if it handles sensitive workflows or produces output that users will act on directly. --- ## Frequently Asked Questions ### Where did the "Try GPT-5" button go? It is gone because GPT-5 is no longer in a trial phase. It is the default model for all licensed Copilot users. The model selector replaced the old button and gives you more granular control than before. ### Can I switch back to an older model? No. The model selector lets you choose between GPT-5 versions and reasoning modes, but you cannot go back to pre-GPT-5 models. If your organization has a specific need to use an older model version, that would be a conversation with your Microsoft account team. ### Is the model selector available in Teams and Outlook? The model selector as a visible control is currently in Copilot Chat (m365.cloud.microsoft). The integrated Copilot experiences in Teams, Outlook, Word, and Excel use GPT-5 automatically but do not expose the same mode selector in those surfaces yet. ### Does Think Deeper cost more? No. All three modes are included in the standard Microsoft 365 Copilot license. There is no additional cost for Think Deeper or GPT-5.4. ### How do I know which model Copilot used for a response? In some interfaces, Copilot shows a small label or indicator with the model name after generating a response. If you do not see it, it is using Auto mode and has chosen the appropriate model internally without surfacing that detail. --- ## Final Thoughts The model selector is one of the most practical improvements to the Copilot experience since it launched. For the first time, you have a real choice about the quality-versus-speed tradeoff depending on what you are working on. Auto handles most situations well, Think Deeper is genuinely better for complex work, and Quick Response is useful when you need to move fast. Spend a few minutes experimenting with all three on the kinds of tasks you do every day and you will quickly develop an intuition for when each mode earns its keep. ### Microsoft Text to Speech for Free with Clipchamp URL: https://seanshares.com/microsoft-text-to-speech-for-free-with-clipchamp/ Last updated: 2026-04-21T19:11:10.000Z Clipchamp is Microsoft's free browser-based and Windows-native video editor, and it includes a surprisingly capable text-to-speech feature powered by Microsoft Azure. This guide covers how to use text to speech in Clipchamp, what voices and options are available, tips for getting professional-quality results, limitations you should know about, and how it compares to other options. ## What Is Clipchamp and Who Is It For? Clipchamp is available for free with any Microsoft account and is built into Windows 11\. If you have a Microsoft 365 account, you likely already have access to it at clipchamp.com or through the Windows Start menu. It is designed for creating and editing videos without needing professional video software. The text-to-speech feature specifically is useful for creating training videos, tutorials, product demos, explainer content, and any other video where you need a narration track but do not have a microphone or prefer not to record your own voice. It is also useful for accessibility — adding a read-aloud audio track to written content. ## Accessing Clipchamp You can access Clipchamp in two ways: through the browser at clipchamp.com, or through the Clipchamp desktop app on Windows 11\. Both support text-to-speech. Sign in with your Microsoft account to access your projects across both. On Windows 11, search for Clipchamp in the Start menu to open the app directly. The desktop app generally performs better for export since it can use local processing resources rather than being limited by browser performance. ### Step-by-Step Guide to Using Microsoft Text to Speech in Clipchamp #### Step 1: Sign Up or Log In Begin by heading to [Clipchamp.com](https://clipchamp.com/?ref=seanshares.com) and signing in with your Microsoft account. If you’re using Windows 11, Clipchamp is likely already installed. Just open the app to start. #### Step 2: Create a New Project From your dashboard, select “Create a new video” and choose the appropriate video size or aspect ratio based on your needs. ![](https://seanshares.com/content/images/2025/08/image-4.png) Microsoft Text to Speech in Clipchamp #### Step 3: Access Text to Speech Feature On the left-hand toolbar, click "Record & Create," and then choose "Text to Speech." This will open the text-to-speech interface where you'll manage your voice over. ![](https://seanshares.com/content/images/2025/08/image-5.png) Microsoft Text to Speech #### Step 4: Select a Voice Choose from hundreds of voices spanning numerous languages, accents, genders, and even emotional tones. Preview each voice by clicking the "Hear this voice" button. ![](https://seanshares.com/content/images/2025/08/image-6.png) Microsoft Text to Speech #### Step 5: Enter Your Script Paste or type your narration into the text field. Each clip supports up to 10 minutes of narration, but you can create multiple clips for longer voice overs. ![](https://seanshares.com/content/images/2025/08/image-8.png) Microsoft Text to Speech #### Step 6: Customize Your Audio (Optional) Adjust the voice speed, pitch, and intonation under the "Advanced settings" menu to refine your voice over to fit your video style or personal preference. #### Step 7: Preview and Save Click "Preview" to listen to your voice over. If satisfied, select "Save" and your voice over will automatically be placed onto your timeline for easy editing. ![](https://seanshares.com/content/images/2025/08/image-9.png) Microsoft Text to Speech #### Step 8: Edit and Export Your Video or mp3 Arrange your audio clip within the timeline by dragging it into position. Once complete, click "Export" and select the format and quality to export as. ![](https://seanshares.com/content/images/2025/08/image-10.png) ### Example Microsoft Text to Speech Audio Here is the result of the audio created for this tutorial. ![audio-thumbnail](https://seanshares.com/content/media/2025/08/MicrosoftTexttoSpeech_thumb.png) Microsoft Text to Speech Audio 0:00 /107.376 1× ## Choosing the Right Voice Voice selection makes a significant difference in how professional the result sounds. A few tips: - Neural voices sound significantly more natural than standard voices. Look for voices labeled "Neural" in the selection panel. - Voices with an "Emotional" tag allow you to select a speaking style such as cheerful, professional, calm, or newscast. These are useful for presentations and training content. - If the default speed sounds unnatural, start with the voice at its default settings and then adjust speed in Advanced settings rather than selecting a different voice. Most voices sound best at their default pace. - For US English, the en-US-JennyNeural and en-US-GuyNeural voices are popular choices that sound natural in most contexts. ## Script Tips for Better Results The quality of AI-generated speech depends heavily on how the script is written. A few practices that improve output quality: - Use punctuation deliberately. Commas and periods create natural pauses. If you want a longer pause, add an extra period or break the sentence. - Write out numbers and abbreviations. Text-to-speech engines sometimes mispronounce numbers written as digits (especially large ones) or uncommon abbreviations. Writing "two thousand twenty-five" instead of "2025" or "SharePoint Online" instead of "SPO" avoids unexpected pronunciation. - For words that are consistently mispronounced, try spelling them phonetically. Some TTS engines respond to this. If phonetic spelling does not help, rephrase the sentence to avoid the problem word. - Keep sentences reasonably short. Long, complex sentences with multiple clauses can sound awkward in synthesized speech even if they read well on paper. ## Exporting Your Audio or Video Once you are satisfied with the narration and any accompanying visuals, click Export in the top right of the Clipchamp editor. You can export as a video file (MP4 is the default) in resolutions up to 1080p on the free tier. If you only need the audio track and not a video, there is a workaround: create a blank video with a solid color background, add your text-to-speech audio to the timeline, and export. You can then extract the audio from the resulting MP4 using any free audio conversion tool. Clipchamp does not export standalone MP3 or WAV files directly. ## Clipchamp Text to Speech vs. Other Options Clipchamp's text to speech is built on Microsoft Azure Cognitive Services Speech, the same engine that powers enterprise-grade voice applications. This means the quality is comparable to paid standalone TTS tools. The main differences from dedicated TTS tools: - Clipchamp is integrated with video editing, so the workflow is smoother if you are creating video content. - Dedicated TTS tools like Murf, ElevenLabs, or Azure Speech Studio give you more fine-grained control over pronunciation, emphasis, and voice cloning. - For pure audio exports without video editing, Azure Speech Studio (also free up to a usage limit) or the Microsoft Immersive Reader TTS are easier workflows. - Clipchamp free tier has an export limit (up to 1080p, no watermark for Microsoft account users). The premium features like 4K export require a Microsoft 365 subscription. ## Licensing and Microsoft 365 The free version of Clipchamp available with any Microsoft account includes full text-to-speech functionality with no watermark on exports. A Microsoft 365 personal, family, or business subscription adds premium export options (4K, premium filter effects) but the text-to-speech feature itself is not locked behind a paywall. For organizations deploying Clipchamp as part of Microsoft 365, the text-to-speech feature is available to all licensed Microsoft 365 users. Admins can manage Clipchamp availability through the Microsoft 365 admin center under Apps if needed. ## Frequently Asked Questions ### Can I use Clipchamp text to speech for commercial projects? Yes. Content created with Microsoft Clipchamp, including audio generated through its text-to-speech feature, can be used for commercial purposes under Microsoft's standard terms of service. Review the current Microsoft Services Agreement if you have specific requirements for your use case. ### How many voices are available? Clipchamp provides access to hundreds of voices across more than 70 languages, powered by Azure Neural TTS. The selection continues to expand as Microsoft adds new voices and languages. ### Does Clipchamp work on Mac? Clipchamp is accessible through any modern browser, including Safari and Chrome on Mac, at clipchamp.com. The desktop app is Windows-only. Browser performance varies, but the core text-to-speech feature works cross-platform. ### Is there a character or length limit? Each individual text-to-speech clip supports up to 10 minutes of narration. For longer projects, create multiple clips and arrange them sequentially on the timeline. There is no hard limit on the total number of clips in a project. ### How to Install Microsoft Copilot as an App using Microsoft Edge URL: https://seanshares.com/how-to-install-microsoft-copilot-as-an-app-using-microsoft-edge/ Last updated: 2026-04-21T19:11:23.000Z If you use Microsoft 365 Copilot regularly throughout your workday, having it open as a dedicated app rather than digging through browser tabs is a genuine time saver. Microsoft Edge supports installing any web app as a Progressive Web App (PWA), and Copilot works well as one. This guide walks through exactly how to set it up, what to do if things do not work as expected, and a few tips for managing the app once it is installed. ### Why Install Copilot as an App? Running Copilot as a standalone app rather than a browser tab comes with a few real advantages. First, it gets its own taskbar icon and can be launched directly without opening a browser. Second, it runs in a dedicated window without the full browser chrome, address bar, or other tabs competing for your attention. Third, it behaves more like a native desktop app, which makes it easier to Alt-Tab to quickly when you need it between other tasks. For anyone who finds themselves switching to Copilot dozens of times per day, these differences add up. ## Requirements This installation method requires Microsoft Edge. It will not work from Chrome, Firefox, or other browsers. If Edge is not your default browser, you can still install Copilot as an app from Edge specifically without changing your default. You also need to be signed in to Edge with a Microsoft account that has access to Copilot. If you have a Microsoft 365 Copilot license, use your work account. ### Step-by-Step Guide to Install Copilot as an App - **Open Microsoft Edge:** Begin by launching the Microsoft Edge browser on your computer. For this to work it does need to be done from the Edge browser - **Navigate to Microsoft Copilot:** Type `m365copilot.com` into the address bar and press Enter. Ensure you're signed in with your Microsoft account that has access to Copilot. ![](https://seanshares.com/content/images/2025/08/image.png) - **Install Copilot as an App:** - Look at the top-right corner of the Edge browser and click the **three-dot menu** (⋯). - Hover your mouse over the option labeled **Apps**. - Select **Install this site as an app** from the sub menu that appears. ![](https://seanshares.com/content/images/2025/08/image-1.png) - **Confirm Installation:** When prompted, click **Install**. Microsoft Copilot will now open in its own dedicated window. ![](https://seanshares.com/content/images/2025/08/image-2.png) - **Pin for Easy Access:** For quicker access, right-click on the newly created app icon in the taskbar and choose **Pin to taskbar** or **Pin to Start**. ![](https://seanshares.com/content/images/2025/08/image-3.png) ## If the Install Option Does Not Appear If you do not see Apps or Install this site as an app in the Edge menu, a few things might be going on. First, confirm you are on the right page. The install option only appears when the site supports PWA installation. Make sure you are at m365.cloud.microsoft rather than a Copilot feature page inside another Microsoft 365 app. Second, check that you are signed in. Some Edge configurations require you to be signed into the site before the install option appears. Third, some organization IT policies block PWA installation entirely. If the option is consistently missing, check with your IT admin to see whether Edge app installations are restricted in your environment. ## Managing the Installed App Once Copilot is installed as an app, Edge handles updates automatically. Since it is a web app, the content updates whenever Microsoft deploys changes to the Copilot service. You do not need to manually update or reinstall it. To manage your installed apps in Edge, go to the three-dot menu, then Apps, then Manage apps. This shows you all sites you have installed as apps, lets you uninstall them, and allows you to adjust permissions like notifications or camera access. ## Pinning to the Taskbar and Start Menu Right-clicking the Copilot app icon after installation gives you options to pin it to the taskbar, pin it to the Start menu, or create a desktop shortcut. Any of these makes it faster to open Copilot without needing to navigate to it through a browser. For keyboard shortcut fans, once Copilot is pinned to the taskbar, you can press Windows+\[number\] to launch it, where the number corresponds to its position in the taskbar. ## Admin Considerations If you manage devices in your organization and want to either promote or restrict PWA installations, this is controlled through Edge browser policies. The relevant PWA policies in Microsoft Intune or Group Policy determine whether users can install sites as apps. If you want to deploy Copilot as an app to all managed devices automatically, you can push a PWA installation through Intune without requiring users to install it themselves. This is a good option for standardizing the Copilot experience across your organization. ## Frequently Asked Questions ### Does the Copilot app work offline? No. Microsoft 365 Copilot requires an active internet connection to function since it relies on cloud-based AI processing. The app will launch but will not respond to prompts without connectivity. ### Can I sign into a different account in the Copilot app vs my browser? Yes. The PWA app runs in its own Edge profile context. You can configure it to use a different account than your main browser session, which is useful if you want to keep work and personal accounts separated. ### Is this the same as the Microsoft Copilot app from the Windows Store? No. The Windows Store has a separate Copilot app from Microsoft. The PWA method described here installs the Microsoft 365 Copilot web experience (m365.cloud.microsoft) as an app, which includes your organization's Copilot with Graph-grounded capabilities and your Microsoft 365 data. The Store app is the consumer version of Copilot and does not have access to your work data. ### What happened to m365copilot.com? Microsoft moved the Microsoft 365 Copilot experience to m365.cloud.microsoft. The old m365copilot.com address redirects there automatically. If you had the old URL bookmarked or installed as a PWA, update it to m365.cloud.microsoft for a clean experience. ## Final Thoughts Installing Copilot as an app through Edge is a small setup change that makes a real difference if you use it frequently. The dedicated window removes the friction of hunting through browser tabs, and pinning it to your taskbar puts it one click away at all times. Give it a try and see if having it as a standalone app changes how naturally you reach for it throughout the day. ### Critical Microsoft SharePoint Vulnerability: CVE-2025-53770 Explained URL: https://seanshares.com/critical-microsoft-sharepoint-vulnerability-cve-2025-53770-explained/ Last updated: 2026-04-21T19:11:47.000Z ## CVE-2025-53770 is a critical remote code execution vulnerability affecting Microsoft SharePoint Server. Microsoft disclosed it in mid-2025 and rated it Critical with a CVSS score that put it among the most serious SharePoint vulnerabilities in recent years. This article explains what the vulnerability is, who is affected, what the patch status is, and what SharePoint administrators need to do. ## What Is CVE-2025-53770? CVE-2025-53770 is a remote code execution (RCE) vulnerability in Microsoft SharePoint Server. A remote code execution vulnerability means that an attacker who successfully exploits it can run arbitrary code on the affected server, potentially with the same permissions as the SharePoint service account. In a SharePoint environment, this could allow an attacker to access, modify, or delete data, move laterally within the network, or install malware. The vulnerability was classified as pre-authentication or required low-level authentication in some variants, meaning it could potentially be exploited without the attacker having a valid SharePoint account, which significantly raises the severity. ## Which SharePoint Versions Are Affected? CVE-2025-53770 affects SharePoint Server on-premises deployments. Microsoft's security advisory identifies the affected versions. At the time of disclosure, the affected versions included SharePoint Server 2016, SharePoint Server 2019, and SharePoint Server Subscription Edition. Specific affected builds and the fixed build numbers are listed in the official Microsoft Security Response Center (MSRC) advisory. SharePoint Online, which is the cloud-hosted version of SharePoint as part of Microsoft 365, is not affected by this vulnerability. Microsoft manages patching for SharePoint Online and addressed any related issues on the service side before public disclosure. ## Is This Being Actively Exploited? At the time of disclosure, Microsoft indicated the vulnerability had been disclosed publicly, which typically increases the risk of exploitation even if active exploitation had not been widely observed at that point. For critical RCE vulnerabilities in widely deployed server software like SharePoint, the window between public disclosure and active exploitation attempts is often short. Organizations running unpatched SharePoint Server should treat this as urgent. ### Potential Impacts - **Remote Code Execution:** Full server compromise without authentication. - **Persistent Access:** Attackers maintain server access post-patch through stolen keys. - **Data Compromise:** Potential for data theft, manipulation, or deletion. - **Extended Risk:** Compromise could spread to other integrated Microsoft services. ### How to Mitigate and Recover from CVE-2025-53770 Immediate actions include: 1. **Patch Your SharePoint Servers Immediately** - Microsoft released patches for SharePoint 2019 and Subscription Edition in July 2025. - Patch release for SharePoint 2016 is forthcoming; monitor official Microsoft channels for updates. 2. **Enable Enhanced Protection Measures** - Activate AMSI (Antimalware Scan Interface). - Deploy Microsoft Defender Antivirus or similar solutions on all servers. 3. **Rotate Security Keys** - Change your SharePoint Server ASP.NET MachineKeys immediately after patching. 4. **Network Access Control** - Temporarily isolate or limit access to your SharePoint servers from external networks. - Restrict server access to only trusted IP addresses. 5. **Monitoring and Threat Detection** - Closely monitor network traffic, especially suspicious POST requests to `/_layouts/15/ToolPane.aspx?DisplayMode=Edit`. - Implement network defenses, such as Web Application Firewalls (WAF) and Intrusion Prevention Systems (IPS). 6. **Conduct Post-Incident Audits** - Thoroughly investigate for possible backdoors, unusual activity in IIS processes, or unauthorized changes. 7. **Threat Intelligence and Scanning** - Use vulnerability scanning tools (like [Qualys](https://threatprotect.qualys.com/2025/07/21/microsoft-sharepoint-server-zero-day-vulnerability-exploited-in-the-wild-cve-2025-53770/?ref=seanshares.com)) to detect this vulnerability and potential compromises. 8. **Report Incidents Promptly** - If compromised, report to cybersecurity authorities such as [CISA](https://www.cisa.gov/news-events/alerts/2025/07/20/microsoft-releases-guidance-exploitation-sharepoint-vulnerability-cve-2025-53770?ref=seanshares.com) immediately. ## Why SharePoint RCE Vulnerabilities Are Serious SharePoint servers frequently hold sensitive organizational data including HR documents, financial files, project materials, and internal communications. They also sit inside the corporate network where they have access to other internal systems. A successful RCE exploit on SharePoint can be the starting point for lateral movement across an entire organization. Critical SharePoint RCE vulnerabilities have been exploited in real-world attacks before. CVE-2019-0604 and CVE-2022-29108 are historical examples where unpatched SharePoint servers were used as initial access points in significant compromises. The pattern repeats, which is why rapid patching is essential. --- ## Frequently Asked Questions ### Do I need to patch all servers in the farm or just the application server? All servers in the SharePoint farm need to be patched, including all web front ends, application servers, and any other servers running SharePoint components. Leaving any server unpatched means the vulnerability remains exploitable through that server. ### Can I just take the SharePoint site offline temporarily instead of patching? Taking the site offline reduces the attack surface but is not a substitute for patching. If the server is on a network reachable by any internal or external threat, it remains at risk even if the web site itself is down. Patch as quickly as your change management process allows. ### Where can I find the official Microsoft advisory? Go to msrc.microsoft.com and search for CVE-2025-53770\. The official advisory includes the affected versions, severity score, links to the security updates, and any mitigations or workarounds Microsoft has identified. Always use the MSRC advisory as your source of truth rather than third-party summaries, which may be incomplete or out of date. --- CVE-2025-53770 represents an urgent and critical risk for organizations using affected SharePoint servers. Immediate patching, monitoring, and implementing security measures are essential to mitigate this threat. For the latest updates and detailed guidance, check the following sources: - [Microsoft](https://msrc.microsoft.com/blog/2025/07/customer-guidance-for-sharepoint-vulnerability-cve-2025-53770/?ref=seanshares.com) \- Keep checking as guidance may continue to be updated. - [CISA](https://www.cisa.gov/news-events/alerts/2025/07/20/microsoft-releases-guidance-exploitation-sharepoint-vulnerability-cve-2025-53770?ref=seanshares.com) \-Report if it has been found your systems are compromised. - [Eye Security](https://research.eye.security/sharepoint-under-siege/?ref=seanshares.com) \- Identified large scale exploitation of this zero-day. Stay informed and take swift, appropriate actions to protect your systems. ### Microsoft To Do Tips - Smart Dates, Automation, Recurrence & Flagged Emails URL: https://seanshares.com/microsoft-to-do-tips-smart-dates-automation-recurrence-flagged-emails/ Last updated: 2026-04-21T15:41:26.000Z Microsoft To Do is one of those apps that most Microsoft 365 users have access to but do not get nearly enough out of. On the surface it looks like a basic checklist app, but there are a handful of features that make it genuinely useful for managing daily work, especially when you connect it to Outlook and Power Automate. This guide covers four practical To Do tips I use regularly, plus some deeper context on each one so you can get the most out of them. If you are already familiar with the basics and want to push what the app can do, these are the features worth knowing. ## What Is Microsoft To Do? Microsoft To Do is Microsoft's personal task management app, available as part of Microsoft 365 and also free with any Microsoft account. It replaced Wunderlist after Microsoft acquired it and has been steadily improved since. It is available on Windows, iOS, Android, and the web at to-do.microsoft.com. What sets To Do apart from a simple notepad or reminder app is its integration with the rest of Microsoft 365\. Tasks you create in To Do can sync with Outlook Tasks, appear from flagged emails, and be populated automatically through Power Automate. For anyone working inside Microsoft 365 all day, it sits naturally alongside Teams, Outlook, and the rest of the stack. --- ## Tip 1: Smart Date Recognition Most people click through the date picker when adding a task, but To Do actually understands plain English dates typed directly into the task name. This feature is called smart date recognition and it is faster than using the date picker once you get used to it. ### How It Works When you type a task name that includes a recognizable date or time phrase, To Do highlights it in the task text. You can then confirm it or backspace to keep it as plain text. For example, typing: "Pay rent next Fri at 9 am every month" ...will highlight "next Fri at 9 am" and "every month" as recognized date and recurrence values. When you press Enter, To Do automatically sets the due date to next Friday, the reminder to 9am, and the recurrence to monthly, all from a single typed line. ### Phrases That Work - "tomorrow" or "tomorrow at 2pm" - "next Monday" or "next week" - "every day", "every week", "every month" - Specific dates like "April 25" or "April 25 at 10am" - "in 3 days" or "in 2 weeks" ### Things to Know Smart date recognition works best on Windows and iOS in English. On other platforms or languages the behavior may vary. If To Do highlights a word that is not intended as a date (for example, the name "April"), just backspace to remove the highlight and the word stays as plain text. You can always edit the date and recurrence after saving the task if the auto-detection did not get it quite right. This tip alone saves a meaningful amount of time if you are the kind of person who adds tasks quickly while in the middle of other work. The fewer clicks between a thought and a scheduled task, the better the chance it actually gets done. ## Tip 2: Custom Recurrence The standard recurrence options in most task apps are daily, weekly, and monthly. To Do goes further with custom recurrence, which lets you set precise schedules that would otherwise require manual workarounds. ### Setting Up a Custom Recurrence 1. Create or open an existing task. 2. Click the Repeat option in the task detail panel. 3. Select Custom at the bottom of the recurrence list. 4. Set your frequency (daily, weekly, monthly, or yearly), the interval (every 2 weeks, every 90 days, every 3 months), and for weekly recurrence you can pick specific days of the week. 5. For monthly recurrence you can set ordinal options like "the third Thursday of every month." 6. Save. The task will now recur on exactly that schedule. Custom recurrence is particularly useful for tasks that do not fit neatly into standard intervals. Quarterly reviews, 90-day check-ins, bi-weekly team prep, annual recurring deadlines, these kinds of tasks always ended up being manually re-set in simpler task managers. With custom recurrence you set it once and it handles itself. One example: if you send a status report on the first Monday of every month, set up a task with monthly recurrence on "the first Monday." It will always land at the right time without you touching it. ## Tip 3: Power Automate Integration This is where Microsoft To Do steps up from a personal task manager to something that can actually reduce administrative overhead. Power Automate can create To Do tasks automatically based on triggers from other Microsoft 365 apps and external services. Most people manage tasks reactively, something happens, and then they create a task to deal with it. Power Automate lets you make that process automatic. Instead of manually logging a task every time you get a certain kind of email or a form is submitted, the task creates itself. ### Example Workflows Worth Setting Up - When a new email arrives with a specific subject or from a specific sender, create a To Do task with the email subject as the task name and a due date of the next business day. - When a Microsoft Forms response is submitted, create a task assigned to the relevant team member with the form response content in the task notes. - When a specific keyword is mentioned in a Teams message, create a reminder task to follow up. - On a schedule (every Monday morning), create a recurring To Do task for your weekly review process. ### How to Set One Up 1. Go to Power Automate at flow.microsoft.com and sign in with your Microsoft 365 account. 2. Select Create, then Automated cloud flow for event-based triggers or Scheduled cloud flow for time-based ones. 3. Choose your trigger, for example, "When a new email arrives" in Outlook. 4. Add a condition if needed, such as filtering for flagged emails or emails from a specific address. 5. Add an action: search for "To Do" and select Create a task. 6. Map the fields. Set the list you want the task in, use the email subject as the task title, and optionally set a due date using an expression like addDays(utcNow(), 1) for tomorrow. 7. Save and turn on the flow. Test it by triggering the event manually. Power Automate has hundreds of pre-built templates for To Do specifically. If you want to start with something ready-made rather than building from scratch, the template library at flow.microsoft.com is the fastest entry point. Managing your Outlook inbox more intentionally pairs well with this, [these Outlook email management tips](https://seanshares.com/tips-in-outlook-for-smarter-email-management/) are worth reading alongside this section. ## Tip 4: Flagged Outlook Emails Become To Do Tasks This is one of the most underused features in the Microsoft 365 ecosystem and it requires zero setup. When you flag an email in Outlook, it automatically appears in a dedicated list in Microsoft To Do called Flagged email. The task in To Do includes a link back to the original email, so you can find the message instantly when you are ready to act on it. ### How to Use It Effectively The basic workflow is simple: when an email requires action that you cannot handle immediately, flag it in Outlook. It shows up in your To Do Flagged email list. When you complete the action, mark the task as done in To Do, which removes the flag from the email as well. The sync works in both directions. You can also add a due date and reminder to flagged email tasks from within To Do, so they resurface at the right time rather than sitting in an undifferentiated list. ### Taking It Further with Power Automate The built-in flagged email integration is good for basic capture. If you want more control, for example, routing flagged emails to a specific To Do list based on the sender, or automatically setting a due date based on keywords in the subject, Power Automate can handle that. Use the "When an email is flagged" trigger in Outlook and build the logic from there. If you are dealing with email overload more broadly, [turning off the right Outlook notifications](https://seanshares.com/how-to-turn-off-microsoft-outlook-notifications/) alongside a solid flagged email workflow makes a meaningful difference in how manageable your inbox feels day to day. ## Tip 5: My Day and the Intelligent Suggestions Feature My Day is To Do's daily focus view. Each morning (or whenever you open it), it shows a blank slate where you manually add the tasks you want to work on that day. The idea is intentional prioritization rather than an endless backlog. What makes it more useful than just a filtered view is the light bulb icon in the top right of the My Day view. This opens the Intelligent Suggestions panel, which recommends tasks based on due dates, past behavior, and what you have been working on. You can add suggested tasks to My Day with a single tap. The practical habit is to spend two or three minutes each morning in My Day, review the suggestions, add the tasks that genuinely need to happen today, and ignore everything else. Having a defined daily list reduces decision fatigue compared to working from a full backlog. ## Tip 6: Shared Lists for Team Coordination To Do supports shared lists, which lets you collaborate with others on a list of tasks without needing a full project management tool. This works well for recurring shared responsibilities, household or team checklists, and lightweight project tracking where a tool like Planner would be overkill. To share a list, open it, select the person icon at the top, and either send an invitation link or invite specific people by email. Anyone you share with can add tasks, check things off, and assign tasks to list members. Assignments help with accountability on shared lists. Shared To Do lists are not a replacement for Planner or project management software for complex work. But for simple coordination between a small group, weekly team prep lists, shared follow-up tracking, recurring administrative checklists, they are fast to set up and easy to maintain. ## How To Do Fits Into the Broader Microsoft 365 Stack To Do sits in an interesting position in Microsoft 365\. It handles personal tasks and lightweight coordination. Planner handles team project work with boards and buckets. Tasks in Teams surfaces both Planner and To Do tasks in one place within Teams. If you use Microsoft Teams heavily for your work, it is worth knowing that the Tasks app in Teams (which shows both your To Do tasks and Planner tasks in one view) is accessible directly from the Teams left navigation. Teams also has its own features that help with workflow management, [Microsoft Teams Facilitator](https://seanshares.com/what-is-microsoft-teams-facilitator-and-how-to-use-it/) is one of the newer ones worth understanding if you run a lot of meetings. For admins thinking about Copilot and how it interacts with productivity tools across Microsoft 365, [Copilot admin settings for governance](https://seanshares.com/copilot-admin-settings-to-check-governance/) covers the controls that matter most across the stack. --- ## Frequently Asked Questions ### Is Microsoft To Do free? Yes. Microsoft To Do is free with any Microsoft account. It is also included with all Microsoft 365 personal, family, and business subscriptions. You do not need a paid license to use the core features, including shared lists, recurrence, and the Outlook flagged email integration. ### Does Microsoft To Do sync with Outlook Tasks? Yes, To Do and Outlook Tasks are fully synced. Tasks you create in Outlook Tasks appear in To Do and vice versa. Flagged emails in Outlook appear in the Flagged email list in To Do automatically. Changes made in either app reflect in the other. ### Can I use To Do on mobile? Yes. Microsoft To Do has apps for iOS and Android that are well maintained and support all the features covered in this guide, including smart date recognition, custom recurrence, shared lists, and the My Day view. The mobile apps sync with the desktop and web versions in real time. ### What is the difference between To Do and Microsoft Planner? To Do is designed for personal task management and lightweight sharing. Planner is designed for team project work, with a Kanban board view, task assignments across larger groups, and integration with Microsoft 365 Groups and Teams channels. If you are tracking your own work and small team coordination, To Do is the right fit. For structured project work with multiple contributors, Planner is more appropriate. Microsoft has also been integrating both under the broader Planner umbrella in recent Microsoft 365 updates. ### Can Copilot help with Microsoft To Do? Copilot in Microsoft 365 can help create tasks from meeting summaries, email threads, and documents when working within supported apps. Direct Copilot integration within the To Do app itself is more limited at the time of writing, but the Power Automate approach effectively achieves similar automation results in the meantime. ### Microsoft Copilot Unable to Verify Link Resolution URL: https://seanshares.com/microsoft-copilot-unable-to-verify-link-resolution/ Last updated: 2026-04-21T18:10:13.000Z If you click a source link inside Microsoft Copilot Chat and get the message "Unable to verify link, the link could not be verified due to an internal error," third-party cookies are the most likely culprit. Your browser is blocking a cookie that Copilot needs to complete the link verification process, and the whole thing falls over before the source ever opens. This guide covers why it happens, how to fix it in every major browser, how to set it up properly for a whole organization rather than fixing it one machine at a time, and what to know from a privacy standpoint before changing any settings. ![ Microsoft Copilot Unable to verify link error image](https://seanshares.com/content/images/2025/07/image-7.png) Microsoft Copilot Unable to verify link error ## Why This Error Happens When Copilot returns a response with cited sources, clicking one of those source links triggers a redirect and session verification step. That verification relies on third-party cookies to confirm the active session and safely open the referenced page or document. As browsers have added stronger default privacy protections over the past few years, many now block third-party cookies by default. Chrome began rolling out default third-party cookie restrictions, Firefox has Enhanced Tracking Protection on by default, and Edge offers optional cookie blocking. When any of those protections are active, the Copilot link verification step fails silently from the user's perspective. All they see is the error message. Microsoft has confirmed this dependency and acknowledged it is something they need to address on the Copilot side. Until they do, the fix sits with the browser. ## Fix for Microsoft Edge Edge is the browser Microsoft designs Copilot to work best with, so it is worth checking the cookie settings here first even if Edge is not your primary browser. 1. Open **Edge** and click the **three-dot menu** in the top‑right. 2. Select **Settings**. 3. Go to **Privacy, search, and services**, then **Cookies**. 4. Toggle **Block third-party cookies** to Off. 1. Alternatively: enter `edge://settings/content/cookies` in the address bar to go straight there, then turn **off** *Block third-party cookies*. 5. Restart Edge and check if the Microsoft Copilot unable to verify link error still occurs when clicking on a source link now. ![](https://seanshares.com/content/images/2025/07/image-8.png) Microsoft Copilot Unable to verify link error Edge Resolution --- ### Mozilla Firefox 1. Open **Firefox** and go to Microsoft Copilot ([https://m365.cloud.microsoft/chat/?auth=2](https://m365.cloud.microsoft/chat/?auth=2&ref=seanshares.com)). 2. Now click the **Shield icon** to the left of the URL 3. Toggle **Enhanced Tracking Protection** switch to Off 4. Restart Firefox and click on one of the Microsoft Copilot source links it provides to see if the unable to verify link error is now resolved. ![](https://seanshares.com/content/images/2025/07/image-12.png) ### Google Chrome 1. Open **Chrome**, click the **three-dot menu** → **Settings**. 1. Alternate method, enter `chrome://settings/cookies` in the browser and hit enter 2. Go to **Privacy and security** **\-> Third-party cookies**. 3. Select **Allow all third‑party cookies**. 4. Restart Chrome and go back to Microsoft Copilot to see if the unable to verify link error happens when clicking on a link it provides now. ![](https://seanshares.com/content/images/2025/07/image-11.png) ## Fix for Brave Browser Brave has aggressive tracking protection by default, which commonly triggers this error. The fix is similar to Firefox. 1. Navigate to Copilot at m365.cloud.microsoft/chat. 2. Click the Brave Shield icon in the address bar (the lion icon). 3. Set Trackers and ads blocking to Standard or turn it off entirely for this site. 4. Reload the page and test. Alternatively, go to brave://settings/cookies and add \[\*.\]microsoft.com to the sites that can always use cookies list. ## Fix for Safari (Mac) 1. Open Safari and go to Preferences, then Privacy. 2. Uncheck Prevent cross-site tracking. Safari's Intelligent Tracking Prevention is effective but breaks the Copilot link verification flow. As with the other browsers, if you want a more targeted fix, you can use Safari's per-site settings to allow cross-site tracking specifically for microsoft.com. Go to Settings for This Website from the Safari menu when you have Copilot open, though the options here are more limited than in other browsers. ## The Enterprise Fix: Managing This with Intune or Group Policy Fixing this browser by browser across a large organization is not practical. If you manage devices through Intune or Group Policy, you can push the cookie exception to all managed devices as a policy setting. This is the right approach for any organization where Copilot is deployed at scale. ### Microsoft Edge via Intune or Group Policy Use the CookiesAllowedForUrls policy to add Microsoft domains to the allowed list. Set the policy value to include \[\*.\]microsoft.com and \[\*.\]microsoftonline.com. Users on managed devices will have the exception applied automatically without needing to touch any browser settings themselves. In Intune, this is configured under Device Configuration, then Configuration Profiles, then Settings Catalog, searching for CookiesAllowedForUrls under the Microsoft Edge category. ### Google Chrome via Intune or Group Policy Chrome has a matching CookiesAllowedForUrls policy under the Google Chrome administrative template. The same domain entries apply. Push the policy through Intune or your Group Policy infrastructure and it takes effect on next browser restart. ### Firefox via Group Policy Firefox supports Group Policy management through the Firefox ADMX templates available from Mozilla. The Cookies policy can add trusted sites to an exceptions list. This is less commonly deployed than Edge or Chrome management but the mechanism exists if Firefox is a standard in your environment. ## Is It Safe to Allow Microsoft Cookies? This is a reasonable question, especially in environments with strict data handling requirements. Allowing third-party cookies for Microsoft domains specifically is a narrow exception. You are not opening up third-party cookies broadly. You are allowing session cookies from the same vendor whose software you are already authenticated into. The cookies involved in the Copilot link verification flow are authentication and session tokens. They are not advertising cookies or cross-site tracking mechanisms. The data flowing through them is the same session data that already exists in your authenticated Microsoft 365 session. For organizations in regulated industries, if your environment has a specific policy against any third-party cookies regardless of source, that is worth reviewing with your security team before making changes. The exception is narrow but it is still a policy change. ## When Will Microsoft Fix This? Microsoft has acknowledged the dependency and it is on their list to address. The likely long-term fix is redesigning the link verification flow to use first-party cookies or a different authentication mechanism that does not depend on third-party cookie support. There is no public timeline, but given how broadly third-party cookie blocking is being adopted across browsers, fixing this is in Microsoft's interest. In the meantime, the Intune policy approach is the cleanest path for organizations. It is a single configuration push that resolves the issue for all users without requiring any manual browser changes. If you are managing Copilot across your organization more broadly, [Copilot admin settings to check for governance](https://seanshares.com/copilot-admin-settings-to-check-governance/) covers the full range of controls available in the Microsoft 365 admin center, including how to manage which users have access to Copilot features and what data it can reference. For admins who are newer to the Copilot rollout process, [How to Enable Claude in Microsoft Copilot](https://seanshares.com/how-to-enable-claude-in-microsoft-copilot/) also covers the broader Copilot settings landscape including Anthropic model availability and the subprocessor configuration. --- ## Frequently Asked Questions ### Does this error affect all source links or just some? It affects source links that go through the Copilot link verification redirect. That includes most cited sources in Copilot Chat responses. Direct links that Copilot renders without going through the verification step are not affected, but those are less common. ### Does the error affect Copilot in Teams or Outlook? The unable to verify link error is specific to the browser-based Copilot Chat experience at m365.cloud.microsoft. Copilot embedded in Teams and Outlook uses different rendering paths and handles link verification differently. If you are seeing the error in Teams or Outlook specifically, that is a separate issue from the third-party cookie problem described here. ### I allowed third-party cookies but the error still appears. What now? If the error persists after updating cookie settings, try clearing your browser cache and cookies completely, then sign back into Microsoft 365 and test again. Stale session data can interfere with the verification flow even after the cookie policy is corrected. Also confirm you restarted the browser after making the settings change, as some browsers require a full restart for cookie policy changes to take effect. ### Can I tell which source links will trigger the error before clicking? Not reliably. The error appears at the moment of click during the verification step. There is no visual indicator on the link itself that flags it as likely to fail. The fix is to resolve the cookie setting so the verification step succeeds for all links rather than trying to predict which ones will fail. ### Will this error go away on its own after a browser update? Not necessarily. Browser vendors are moving toward more cookie restrictions over time, not fewer. The fix needs to come from the Microsoft side by updating how Copilot handles link verification, or from the browser policy side by maintaining the exception. Waiting for a browser update to resolve this is unlikely to work. ### Tips in Outlook for Smarter Email Management URL: https://seanshares.com/tips-in-outlook-for-smarter-email-management/ Last updated: 2026-04-13T01:05:49.000Z Email is still one of the biggest time sinks in the modern workday. Most people spend far more time in Outlook than they would like, and a lot of that time is reactive rather than intentional. The good news is that the new Outlook has several features built specifically to help you take control of your inbox. This post covers some of the most useful ones, from managing timing and attention to keeping your inbox from running the show. ## 1\. Snooze Emails Until You Are Ready to Deal with Them Snooze is one of those features that sounds simple but genuinely changes how you handle email once you start using it. The idea is straightforward: instead of reading an email and immediately deciding you need to come back to it later, you snooze it. The email disappears from your inbox and reappears at whatever time you choose. This is different from flagging or marking as unread. Flagged emails sit in your inbox and keep drawing your attention. Snoozed emails are completely out of view until the time you specified, which keeps your inbox cleaner and your focus sharper on what actually needs attention right now. - To snooze an email, right-click it, select Snooze, and choose a preset time or set a custom date and time. You can snooze to later today, tomorrow morning, this weekend, or any specific date and time you choose. When the snooze expires, the email pops back to the top of your inbox as if it just arrived. ![](https://seanshares.com/content/images/2025/07/image-5.png) Snooze Emails in Tips in Outlook A good way to use this: any email that needs a response but not today gets snoozed to tomorrow morning. Any email you need to follow up on if you do not hear back by Friday gets snoozed to Friday afternoon. This keeps your inbox as a real-time representation of what needs attention now. ## 2\. Schedule Send So Your Emails Arrive at the Right Time Most people write emails whenever they have a moment and hit Send immediately. But the timing of when an email arrives matters more than people often realize. An email sent at 11pm from you creates an implicit expectation (whether you intend it or not) that you work late and might expect others to respond at odd hours. An email arriving Friday afternoon might sit unread all weekend when a Monday morning arrival would have gotten an immediate response. Schedule Send solves this cleanly. You write the email when it is convenient for you, but you choose when it actually reaches the recipient. - After drafting your email, click the dropdown arrow next to the Send button. Select Schedule Send. You can choose preset options (tomorrow morning, Monday morning, and so on) or pick a specific date and time. The email moves to your Outbox and sends automatically at the scheduled time. You can edit or cancel it from the Outbox before it sends if you change your mind. ![](https://seanshares.com/content/images/2025/07/image-4.png) Schedule Send in Tips in Outlook This is also useful when you know someone is in a meeting or a different time zone. Scheduling the send for when they typically start their day increases the likelihood of a quick response. ## 3\. Undo Send Before the Email Leaves The panic of realizing you made a mistake a split second after hitting Send is a near-universal experience. Outlook's Undo Send feature gives you a short window to pull the email back before it is delivered. This is different from a message recall (which tries to retrieve an already-delivered email and mostly does not work in practice). Undo Send actually delays the send by a few seconds so you have time to catch it. - To set it up, go to Settings (the gear icon), then Mail, then Compose and reply. Find the Undo Send option and enable the slider. You can choose a delay of 5 or 10 seconds. ![](https://seanshares.com/content/images/2025/07/image-6.png) Undo Send in Tips in Outlook After you click Send, a notification banner appears at the bottom of the screen with an Undo button. Click it within the delay window and the email returns to your Drafts folder ready to edit. Ten seconds feels short but in practice it is enough to catch most send mistakes, especially when you are looking for the Undo button. The key is to make a habit of glancing at the bottom of the screen after every send.. ## 4\. Use Rules to Triage Email Automatically Rules are one of the most underused Outlook features. They let you automatically sort, flag, categorize, or delete incoming email based on criteria you define, without you touching it. Setting up a few smart rules can dramatically reduce inbox noise. Some useful rules to consider: automatically move newsletters to a folder you check weekly instead of daily; flag emails from your manager or direct reports as soon as they arrive; move CC'd emails (where you are not the primary recipient) to a lower-priority folder; and auto-delete emails from specific recurring senders you never read but have not unsubscribed from. To create a rule, right-click any email and select Rules, then Create Rule. Or go to Settings, Mail, Rules to manage them all in one place. ## 5\. Use Categories to Color-Code by Context Color categories let you tag emails by project, context, or priority with a visual label that makes your inbox scannable at a glance. You might use one color for a specific client, another for anything related to a current project, and another for emails that require a decision from you. Categories work across email, calendar events, and tasks, so a color you assign to a project can be consistent across every Outlook item related to it. Right-click any email to assign a category. Go to Settings to rename categories from the default color names to something meaningful. ## 6\. Focus Inbox and How to Use It Wisely Focus Inbox is Outlook's AI-powered filtering system that attempts to separate your most important emails into a Focused tab and moves lower-priority mail to an Other tab. It can be helpful for high-volume inboxes, but it is worth knowing that you can train it over time by moving emails between the tabs. Right-click any email and choose Move to Focused or Move to Other. Outlook learns from these corrections. If Focus Inbox is not for you, you can turn it off entirely. Go to Settings, Mail, and toggle Focused Inbox off. Your inbox will go back to a single chronological view. --- ## Frequently Asked Questions ### Can I snooze an email on mobile and have it reappear on desktop? Yes. Snooze is synced to your Microsoft 365 account, not your device. A snoozed email will reappear on whichever device you are using when the snooze expires. ### What is the maximum delay I can set for Schedule Send? There is no hard maximum. You can schedule an email to send months in the future if needed, which is occasionally useful for sending annual reminders or planned notifications. ### If I enable Undo Send, will my emails feel slower to people? Recipients experience no delay. The delay is on your end only. From the recipient's perspective, the email arrives normally; they just receive it 5-10 seconds after you clicked Send rather than immediately. --- ## Final Thoughts These features are all designed around the same idea: giving you control over your email rather than letting email control your attention. Start with whichever one addresses your biggest current frustration. Snooze is the fastest one to start seeing results from, but Schedule Send tends to be the one people stick with longest once they try it. They work even better together. ### Disable Copilot as a Microsoft 365 Admin URL: https://seanshares.com/disable-copilot-as-a-microsoft-365-admin/ Last updated: 2026-04-21T19:12:33.000Z Copilot in Microsoft 365 can feel like both a helpful assistant and an automatic addition to your environment. Some tenants want tighter control over what’s available in their Microsoft 365 environment. Organizations with strict data handling and compliance requirements may not want an AI assistant interacting with documents and emails even if it stays within Microsoft’s compliance boundaries. Copilot licensing can also bring additional cost, and some admins prefer to prevent unexpected use or billing. Others simply find that their users do not want Copilot at all or that it distracts from established workflows. In these cases, turning the feature off at the tenant level gives you a clear way to govern who can use it and how it behaves in your tenant. With that said, if you're an IT admin looking to block Copilot across your Microsoft 365 tenant, here’s exactly how to do it via the Integrated Apps settings in the Admin Center. How to disable Microsoft Copilot as an Admin ### 1\. Sign in to Microsoft 365 Admin Center Use your Global Admin or AI Admin credentials to log in at admin.microsoft.com. ### 2\. Navigate to Integrated Apps Go to **Settings** → **Integrated apps**. ![](https://seanshares.com/content/images/2025/07/image.png) ### 3\. Search for Copilot Use the Search box to search for Copilot under Available Apps ![](https://seanshares.com/content/images/2025/07/image-1.png) ### 4\. Block the Copilot App Find the **Copilot** app in the list. Click it and choose **Block**. This blocks the app tenant‑wide across Outlook, web, desktop, mobile. When it is blocked here it means no user can access Copilot from anywhere in Microsoft 365. ![](https://seanshares.com/content/images/2025/07/image-2.png) ### 5\. (Optional) Fine‑Tune User Access If you want only certain users to keep access, select **Specific users/groups** instead of blocking entirely. Then assign access only to those in your Copilot‑licensed group. ![](https://seanshares.com/content/images/2025/07/image-3.png) ### 6\. Wait for It to Take Effect Settings may take up to 24 hours to roll out fully across your tenant. In my experience, it did take almost the full 24 hours before it disappeared from Microsoft 365 for users. --- ## What Happens After You Disable Copilot Once you block Copilot through the Integrated Apps setting in the Microsoft 365 admin center, users will no longer be able to use Copilot in your tenant. Here is what to expect once the change has taken effect. **Users will see an access error** If a user tries to navigate to *m365copilot.com* or open Copilot in Outlook, Word, Teams or any other Microsoft 365 app, they will receive a message indicating they do not have access. For example, they may see a message like: > *Looks like you do not have access to the Copilot. Contact your administrator to get access to Copilot.* ![](https://seanshares.com/content/images/2026/01/image.png) Copilot Disabled at tenant level This makes it clear that Copilot is blocked at the tenant level. **Copilot features are not available** With Copilot disabled, the AI-assisted capabilities such as text generation, summarization, suggested replies and similar features will not launch or function in Microsoft 365 apps. Users will simply not be able to invoke Copilot. **Propagation can take some time** Config changes in Microsoft 365 may take time to fully propagate across all clients. In practice this means it can take several hours before the Copilot block fully applies everywhere in your organization. **Users cannot self-enable Copilot** Once disabled centrally, end users cannot turn Copilot back on for themselves. They will continue to see the access error until the setting is changed by an admin or exceptions (such as group-based access) are configured. **UI elements might briefly remain visible** In some apps or cached sessions, Copilot buttons or icons might still appear temporarily. Those UI elements will not launch a working experience and typically disappear after the clients refresh settings. **Licenses are still assigned unless removed** Disabling Copilot access does not automatically remove any Copilot licenses assigned to users. If you want to stop billing for Copilot seats or free up licenses, you will need to unassign them separately in the Microsoft 365 admin center. ### Why Does Teams Show Me as Away? URL: https://seanshares.com/why-does-teams-show-me-as-away/ Last updated: 2026-04-12T16:10:23.000Z If Microsoft Teams keeps marking you as Away even when you are sitting at your computer and actively working, you are not alone. This is one of the most common Teams questions I come across. The Away status is automatically managed by Teams based on your activity, and there are a handful of reasons it might not reflect what you are actually doing. Here is a breakdown of why it happens and what you can do about it. ## How Teams Determines Your Status Teams uses a combination of signals to set your status automatically. The primary one is keyboard and mouse activity. If you have not interacted with your computer in a set amount of time, typically around five minutes, Teams switches your status from Available to Away. ![](https://seanshares.com/content/images/2026/04/image-11.png) This is intentional behavior. Teams is designed to give colleagues an accurate picture of your availability. If you stepped away from your desk, the Away status is correct. The problem arises when Teams marks you as Away even though you are right there, because you were doing something that did not involve keyboard or mouse input. ## Common Reasons Teams Shows You as Away When You Are Not ### Reading Without Interacting If you are reading a long document, reviewing a spreadsheet, or watching a video, you may go several minutes without touching your keyboard or mouse. Teams sees this as inactivity and flips to Away even though you are clearly working. This is probably the most frequent cause. ### Teams Running Minimized or in the Background If the Teams window is minimized or in the background and you are working in another application, Teams may count that as inactivity even if you are typing actively in another program. Teams specifically looks for activity within the Teams client or across your device in general. The sensitivity to background application activity can vary. ### Screen Lock or Sleep Mode If your computer screen locks or goes to sleep, Teams immediately sets your status to Away. This is accurate since you have physically stepped away, but it can cause confusion if your machine locks quickly due to aggressive power settings and you did not actually go anywhere. ### Outlook Calendar Integration Teams reads your Outlook calendar and can automatically update your status based on what is scheduled. If you have a meeting block, focus time, or an out-of-office event on your calendar, Teams may override your manual status setting to reflect it. This is a feature, but it can surprise people who do not realize their calendar is affecting their Teams status. ### In a Meeting Without Active Participation During long meetings where you are listening rather than speaking or typing, Teams can sometimes fall back to Away if your device registers as idle. Using the Teams app directly during a meeting (taking notes, using chat, or opening files) keeps the activity signal alive. --- ## Can You Change the Inactivity Timer? Individual users cannot change the five-minute inactivity threshold. That setting is baked into the Teams client and is not exposed as a user-configurable option. Microsoft's reasoning is that the timeout is intended to reflect genuine availability. What you can do is manually override your status. Click your profile picture in the top right of Teams, select your current status, and choose a different one. You can set it to Available, Busy, Do Not Disturb, or Be Right Back. Manual status changes override the automatic detection for a period of time. However, depending on your client version and tenant settings, Teams may revert to the automatically detected status after a while. ## Setting a Status Message to Add Context Even if Teams shows you as Away, you can add a status message that gives colleagues more information. Click your profile picture, then Set status message. Type something like "Working in a long meeting" or "Available by email." This message appears alongside your status indicator when someone hovers over your name, which helps manage expectations even when the status icon is not quite right. You can also set status messages to expire automatically after a certain duration, which is useful for "Back at 2pm" type messages. ## Adjusting Power and Screen Lock Settings If your screen locks quickly and sets you to Away more often than you would like, the fix is in your Windows power settings rather than Teams. Go to Settings, System, Power and Sleep, and extend the screen timeout to something longer, like 15 or 30 minutes. This gives you more time before the lock screen kicks in and sets Teams to Away. Keep in mind that locking your screen when you step away is good security practice, so find a balance between a timeout that does not trigger unexpectedly and one that still protects your computer when you are genuinely away. ## Admin Considerations If your organization has deployed Teams through Microsoft 365, some status behaviors can be influenced by admin policies. Global admins and Teams admins can configure certain aspects of presence through PowerShell policies, though the inactivity timeout itself is not adjustable at the policy level either. If you are running into status issues at scale across your organization, the most common admin-level cause is a configuration issue with presence federation (which controls how users in different tenants see each other's status). That is worth checking if the problem is specifically about external contacts seeing incorrect statuses. --- ## Frequently Asked Questions ### Teams shows me as Away even when I am typing. Is this a bug? If you are actively typing and Teams still shows Away, check whether you are running an older Teams client version. Updating to the latest version often resolves status detection issues. Also verify that your Teams app has not lost connection to the Microsoft 365 service, which can freeze the status at Away regardless of activity. ### My colleagues can see me as Away but I can see myself as Available. Which is correct? What your colleagues see is the status as reported by the server, which may update slightly behind what your local client shows. Give it a minute; they should sync up. If there is a persistent mismatch, signing out and back in to Teams usually resolves it. ### Can I stop Teams from using my Outlook calendar to change my status? Not directly in the Teams user interface. Calendar-based status updates are part of how Teams integrates with Outlook. If your organization has this behavior causing widespread confusion, a Teams admin can investigate policy settings that affect calendar integration. --- ## Final Thoughts The Away status in Teams is well-intentioned but imperfect. The five-minute inactivity timer is a reasonable default for most situations, but it does not account for every way people actually work. Manual status overrides and status messages are your best tools for managing how you appear to colleagues when the automatic detection is off. If it is a recurring issue, adjusting your screen lock timeout is usually the most practical fix. ### What Can Copilot Do in Excel? URL: https://seanshares.com/what-can-copilot-do-in-excel/ Last updated: 2026-06-03T02:43:56.000Z Copilot in Excel is not the same tool it was when it launched. The early version was mostly a chat pane that suggested formulas and summarized a table. The version most people are using in 2026 can build and edit workbooks, import data from outside the file, answer questions about your tables, generate and explain formulas, create charts and PivotTables, run Python for deeper analysis, and in some cases create a spreadsheet from a prompt before you have even opened Excel. That growth is good news, but it also makes the answer to "what can Copilot do in Excel?" more complicated than it used to be. Two people can click the same Copilot button in the same version of Excel and get a different set of options, because what you see depends on your license, your tenant settings, your app version, your region, and whether Microsoft has finished rolling the feature out to you. This is a guide to what Copilot in Excel does today, who can use which parts of it, and where it is useful versus where you should not trust it. Copilot is not a replacement for knowing Excel. Think of it as an assistant for getting started faster, automating repetitive spreadsheet work, and making data easier to understand. You still need to review what it produces, especially for financial, operational, or executive reporting. ## Who Can Access Copilot in Excel? Here is the cleanest way to think about it. The Copilot button in Excel does not mean every user has the same Copilot experience. Some users get a basic Copilot Chat experience. Users with a paid Microsoft 365 Copilot license get the full work-grounded experience with priority access and deeper integration across Microsoft 365. ![](https://seanshares.com/content/images/2026/04/image-9.png) For work and school accounts, there are a few experiences that get blurred together: - Microsoft 365 Copilot Chat is the chat experience that comes with many eligible Microsoft 365 subscriptions. It is useful, but it is not the full in-app Copilot. - The Microsoft 365 Copilot add-on license is the paid upgrade. This is what unlocks work data grounding, the full in-app experience inside Excel, priority access, and broader agent access. - You will also see Basic and Premium style labels appear inside the Microsoft 365 apps. The label tells you which tier of Copilot you are working with, and two people on the same team can land on different tiers. On the consumer side, Microsoft 365 Personal, Family, and Premium subscriptions include their own Copilot experiences that work in the desktop apps. These are separate from the commercial Copilot license and come with their own limits. Copilot Chat may be available to you without the paid add-on, but the deep Excel features, the work data reasoning, and the agent experiences are different once you have the full Microsoft 365 Copilot license. If you are trying to figure out why a coworker has options you do not, licensing is almost always the reason. ## What Changed Recently If you have not looked at Copilot in Excel in the last several months, here is what is new and why it changes the picture: - The Copilot entry point in Excel is changing. Instead of only using the Copilot button in the ribbon, Microsoft is rolling out a floating Copilot Dynamic Action Button in Word, Excel, and PowerPoint. In Excel, it appears in the corner of the workbook and opens Copilot in the right-side chat pane. - Agent Mode is now being described as Editing with Copilot in Excel. The capability is the same idea, but the user-facing language is shifting away from "Agent Mode." - Copilot can now make direct changes to your workbook instead of only handing you suggestions to apply yourself. - Python-powered analysis is now part of the Excel Copilot feature set, so Copilot can reach for deeper analysis than ordinary formulas allow. - The COPILOT function brings AI directly into the grid as a worksheet function you can type into a cell. - Copilot can import data from the web, SharePoint, OneDrive, documents, emails, meetings, and other organizational information when your license and admin settings allow it. - Word, Excel, and PowerPoint agents can create files straight from Copilot Chat, with how much they can ground in your work depending on your license. - Licensing labels inside the apps now matter more than they used to, because the same app can offer two people different Copilot options. A lot of this rolls out gradually. If a feature in this article is not showing up for you yet, it may simply not have reached your account. It is worth checking whether your organization uses [Targeted Release](https://seanshares.com/microsoft-365-targeted-release-what-it-is/), which is how many of these Copilot features show up early. ## Where Did the Copilot Button Go in Excel? Instead of relying only on the Copilot button in the ribbon, Microsoft is moving Word, Excel, and PowerPoint to a floating Copilot button called the Copilot Dynamic Action Button. In Excel, this button appears in the corner of the workbook. Select it, and Copilot opens in the chat pane on the right side of the screen. From there, you can ask a question about your workbook, choose a suggested action, or start editing with Copilot. The important thing to know is that this change does not mean Copilot’s Excel features changed. Microsoft changed the entry point, not the core capabilities. So if you were used to opening Copilot from the ribbon and now see a floating Copilot icon instead, that is expected. There are a few useful details to know: - You can open it by selecting the floating Copilot button in the corner of the workbook. - On Windows and Excel for the web, Alt + C sets focus on the Copilot button in supported versions. - On Mac, Cmd + Control + I sets focus on the Copilot button in supported versions. - F6 can also be used to move focus to the Copilot button. If the button gets in your way, you can dock it by right-clicking the button and selecting Dock, or by dragging it to the side of the workbook. Microsoft is also adding an option to move it back to the ribbon for users who prefer the older style. If you do not see the floating Copilot button, it usually comes down to licensing, account type, app version, update channel, region, or privacy settings. The button only appears for users who have access to Copilot through a qualifying Microsoft 365 subscription or Microsoft 365 Copilot license. ## Asking Questions About Your Data One of the most approachable things Copilot does is answer plain-language questions about a table or supported range. You can ask the kinds of questions you might ask a coworker who knows the spreadsheet well: - "What are the top five products by revenue?" - "Which regions missed quota?" - "Summarize the largest changes between Q1 and Q2." - "Find outliers in the expense column." Copilot reads the underlying data and comes back with a summary, a chart, a PivotTable, a trend, or a list of outliers, often with a short explanation alongside it. This is great for exploring a dataset and getting your bearings quickly. The thing to keep in mind is that this is exploration, not final truth. Copilot is helpful for spotting what is interesting in your data, but you should verify any number that is going to end up in a report or a decision. Treat its answers as a strong first pass that you confirm, not as the last word. ## Generating and Explaining Formulas Formula help is still one of Copilot's most broadly useful capabilities, because formulas have always been the wall that casual Excel users hit. Describe the calculation you need in plain language and Copilot writes it. It can add a whole formula column, drop a formula into a single cell, and handle common patterns like: - IF statements and nested conditions - XLOOKUP and lookups across sheets - SUMIF and SUMIFS - Date calculations - Text cleanup formulas - Percentage-of-total formulas It also works in the other direction. Click a cell with a formula you inherited and do not fully understand, then ask Copilot to explain it. It walks through the logic in plain English, which is useful both for learning and for documenting what a spreadsheet actually does. If you have ever opened a workbook someone else built and had no idea what column H was doing, this alone is worth trying. The important detail is that formulas Copilot generates are normal Excel formulas. You can click into them, read them, edit them, and maintain them like anything else you wrote yourself. Copilot is speeding up the writing, not hiding the logic in a black box. ## Highlighting, Sorting, and Filtering Copilot can apply formatting, sorting, and filters from plain-language instructions, which is handy for quick review and cleanup. A few examples of what it handles: - "Highlight the top 10 values." - "Filter for rows where revenue is greater than $50,000." - "Sort engagement rate from lowest to highest." - "Bold the rows where status is overdue." None of these are hard to do by hand, but describing what you want and letting Copilot apply it is often faster than clicking through menus, especially when you are combining a sort with a filter and some conditional formatting in one pass. ## Creating Charts and PivotTables Copilot can recommend a chart type, create the chart, and build PivotTables from structured data. If you are not sure how to summarize something, it can suggest a sensible visualization based on the shape of your data, and it can help you specify the axes, categories, measures, and summaries you want. Good prompts here look like: - "Create a chart showing monthly revenue by region." - "Create a PivotTable showing sales by product and quarter." - "Show customer complaints by category." PivotTables in particular are something a lot of people avoid because the setup feels fiddly. Letting Copilot build the first one and then adjusting it is an easier way in than building it from scratch. ## Importing Data With Copilot in Excel This is one of the bigger shifts from the early version. Copilot can now help bring data into Excel from outside the current workbook, including: - The web - Files in SharePoint or OneDrive - Word documents - PowerPoint files - PDFs - Other Excel workbooks - Emails, meetings, and organizational information, depending on your license and settings ![](https://seanshares.com/content/images/2026/04/image-10.png) There are real dependencies attached to this. Web Search has to be enabled for Copilot to pull data from the web. Restricted Search settings can affect what it can reach inside your organization. And many of these import scenarios need the right Copilot license to work at all. If your import attempts come back empty, an admin setting is usually the reason rather than a bug. For pulling from another Excel file, Copilot can use Power Query under the hood, which means the result can be set up to refresh later instead of being a one-time paste. Microsoft does note current limitations here, such as constraints around importing from Excel files that use tables, so it does not handle every layout cleanly yet. When importing depends on organizational data and connectors, it helps to understand how your tenant's [Copilot connectors](https://seanshares.com/manage-microsoft-365-copilot-connectors/) are set up, since that controls what Copilot can actually see. ## Editing With Copilot in Excel, Formerly Agent Mode The capability a lot of people still call Agent Mode is now being described by Microsoft as Editing with Copilot in Excel. You may still hear "Agent Mode" in conversation and in older write-ups, but the user-facing language is moving toward Editing with Copilot. ![](https://seanshares.com/content/images/2026/04/image-8.png) Whatever you call it, the point is that Copilot makes changes directly in the workbook rather than handing you suggestions to apply. After you give it a goal, it analyzes the task, lays out a step-by-step plan, and works through that plan in the sheet. That makes it well suited to multi-step jobs that would normally take several manual passes: - Reshaping data into a different layout - Merging sheets together - Building a report with several pieces - Creating a budget model - Adding formulas, charts, and tables together as one task The thing to understand about this mode is control. Copilot shows what it is doing as it goes, so you can follow the steps and stop it if it heads in the wrong direction. You should review the changes before you rely on them. And because editing with Copilot can save changes automatically, make a copy of any important workbook before you turn it loose on it. For a critical financial model, working on a duplicate is the safe habit. ## Using Python With Copilot in Excel Copilot can now reach for Python-based analysis when a question calls for more than ordinary formulas. This is useful for: - Trend analysis - Outlier detection - Visualizations - Analyzing across multiple tables - More advanced analysis than formulas handle well You do not need to be a Python developer to use this. You ask Copilot for the analysis in plain language, and it can use Python to get there. The code is there if you want to look at it, but you do not have to write it. For eligible Microsoft 365 Enterprise and Business users, Python in Excel is generally available on supported Windows channels, Excel for the web, and supported Mac versions. Standard compute is included with qualifying Microsoft 365 subscriptions, while faster premium compute and additional calculation modes [require the Python in Excel add-on license](https://support.microsoft.com/en-us/office/python-in-excel-availability-781383e6-86b9-4156-84fb-93e786f7cab0?ref=seanshares.com). Family, Personal, and Education users may still see Python in Excel as a preview experience depending on platform and channel. Government cloud availability is also more limited, so admins should check Microsoft’s current service description if they are in GCC, GCC High, or DoD. ## The COPILOT Function in Excel One availability note: at the time of writing, the COPILOT function is still an early-access feature, not something every Excel user will see yet. Microsoft currently lists it as available through the Frontier program and the Microsoft 365 Insider program, with a qualifying Copilot license required. For work or school accounts, that means a Microsoft 365 Copilot add-on license. For individual users, Microsoft says it is available to Microsoft 365 Premium subscribers. Microsoft’s roadmap currently lists general availability for the =COPILOT function as December 2026, but roadmap dates can move. So if you do not see the function yet, it may not be a problem with Excel itself. Your account may simply not be in the right early-access program yet. The COPILOT function deserves its own section because it is a different thing from the Copilot side pane. It is an actual worksheet function you type into a cell, and it calls an AI model right from the grid. The syntax looks like this: `=COPILOT(prompt_part1, [context1], [prompt_part2], [context2], ...)` The prompt part is text describing what you want. The optional context is a cell or range reference that gives the function data to work with. You can chain several prompt and context pairs together in one call. Where it shines is language and classification work that would be painful to do with normal formulas: - Summarizing customer feedback - Classifying text into categories - Tagging rows based on their content - Generating draft descriptions - Creating sample data - Looking up information from the web Where you should not use it is anything that needs to be exactly right every time: - Financial calculations - Deterministic math - Audit-grade reporting - Lookups that belong in XLOOKUP or Power Query The function can return incorrect answers, and [Office Watch’s hands-on testing found examples](https://office-watch.com/2026/copilot-function-excel-accuracy-errors?ref=seanshares.com) of missing data, wrong facts, and inconsistent results, so it is not something to trust blindly. It has usage limits, currently in the range of 100 calls every 10 minutes and up to 300 per hour. It only sees the prompt, the grid context you reference, and web data, so it cannot pull from the rest of your workbook or other files on its own. It needs an internet connection because the models run in Azure. And it will not calculate in workbooks labeled Confidential or Highly Confidential, where it returns a blocked error instead. If your sensitivity label is set high, that is why the function is not running. ## Model Selection and Claude in Excel When you are editing with Copilot in Excel, some users can now choose which model does the work. There is an Auto option that lets Copilot pick the model for you, and depending on your tenant, you may see specific models to choose from, including Anthropic's Claude. For enterprise customers, Claude does not just appear automatically. An admin generally needs to enable Anthropic as a Microsoft subprocessor before Claude becomes available for editing with Copilot in Excel. In some regions, including the EU, EFTA, and the UK, the option is off by default and has to be turned on deliberately. If you want Claude as an option and do not see it, the admin side is where to look. I walk through the exact steps in [how to enable the Claude model in Microsoft Copilot](https://seanshares.com/how-to-enable-claude-in-microsoft-copilot/). ## Practical Prompt Examples If you learn better by example, here are prompts that map to the capabilities above. They are a good starting point to adapt to your own data. Data cleanup: - "Clean up this table by standardizing the date format, removing duplicate order IDs, and flagging rows with missing customer names." - "Find inconsistent values in the Region column and suggest corrections." Formulas: - "Add a column that calculates gross margin percentage." - "Explain the formula in cell H12 in plain English." - "Create a formula that marks a task overdue if the due date is before today and the status is not complete." Reporting: - "Create a PivotTable that summarizes sales by region and quarter." - "Create a chart showing revenue trends by month." - "Summarize the biggest changes since the last reporting period." Importing data: - "Search the web for a table of current public holidays in Canada and insert it into a new sheet." - "Find the device costs from my Q3 purchase file and import them into this workbook." - "List yesterday's important emails in a table with sender, subject, and importance." Python analysis: - "Use Python to identify outliers in this sales data." - "Use Python to create a visualization of monthly revenue trends." - "Compare these two tables and find the largest differences." ## What Copilot in Excel Is Not Good For Knowing where to stop trusting Copilot is as important as knowing what it can do. A few clear lines: - Do not trust it blindly for financial reporting. Verify the numbers before they go anywhere. - Do not let it replace your review of formulas. Read what it wrote. - Do not treat it as the final source of truth for legal, medical, compliance, or audit decisions. - Do not use the COPILOT function as a substitute for deterministic formulas. The rule of thumb is simple. If a task needs repeatable, exact math, use normal Excel formulas, Power Query, PivotTables, or reviewable Python code. Save the AI features for drafting, summarizing, exploring, classifying text, and speeding up the tedious parts, then check the output before you ship it. ## Frequently Asked Questions ### Does Copilot in Excel require a Microsoft 365 Copilot license? For the full work experience, yes. The deep in-app features, work data grounding, and priority access come with the paid Microsoft 365 Copilot add-on. Some Copilot Chat and agent experiences are available without the add-on, but the feature set is more limited and grounds in less of your work data. So the real answer is that you can do some things without the license, but the full Copilot in Excel experience needs it. ### Is Agent Mode still called Agent Mode? Microsoft is shifting the language toward Editing with Copilot in Excel. You will still hear people say Agent Mode, and older articles use that name, but the current user-facing wording is moving away from it. The capability itself, where Copilot makes multi-step changes directly in your workbook, is the same idea. ### Can Copilot in Excel work with local files? Sometimes, but be careful with how this is framed. Microsoft has added local file support for certain Editing with Copilot scenarios, which is a genuine improvement. At the same time, Microsoft's standard Copilot in Excel guidance still says many features expect files saved to OneDrive or SharePoint with AutoSave turned on. If a feature is not working on a local file, moving it to OneDrive and enabling AutoSave is the first fix to try. ### Can Copilot create formulas? Yes. It can build whole formula columns, generate single-cell formulas, and explain formulas you already have. The formulas it creates are normal Excel formulas you can read and edit yourself. ### Can Copilot analyze data with Python? Yes. Copilot can use Python-powered analysis for deeper work like trend analysis and outlier detection, and you do not need to know Python to ask for it. Standard compute is available to qualifying Microsoft 365 Enterprise and Business users without an extra license, while faster premium compute requires the Python in Excel add-on. ### What is the COPILOT function? It is an Excel worksheet function that calls AI from inside a cell, using a prompt and optional cell or range references for context. It is good for summarizing, classifying text, tagging rows, generating sample data, and web lookups. It is not built for deterministic calculations, and it will not run in workbooks labeled Confidential or Highly Confidential. ### Can Copilot import data from other files? Yes, with the right license and settings. It can pull from the web, OneDrive, SharePoint, other Excel files, and organizational information depending on the scenario. Importing from another Excel file can use Power Query so the result can refresh later, though Microsoft notes some current limitations around files that use tables. ### Can admins control Copilot in Excel? Yes. Admins control licensing, Copilot Chat access, web search, connected experiences, Anthropic model availability, and the broader Copilot settings. One thing to know is that Editing with Copilot in Excel is tied to the Microsoft 365 Copilot Chat controls rather than managed as a separate Excel-only toggle, so you cannot turn just that feature off by itself. ## Final Thoughts Copilot in Excel has grown from a formula and insight assistant into a much broader spreadsheet assistant. It can create, edit, import, analyze, and explain workbook content, but the experience you get depends heavily on your license, the state of your file, your tenant settings, and which surface you are using, whether that is Copilot Chat, the full Microsoft 365 Copilot, Editing with Copilot, the Excel Agent, Python, or the COPILOT function. It is at its best when three things line up: your workbook is structured cleanly, you have the right license, and your request is specific. Under those conditions it is strong at building first drafts of analysis, writing formulas, summarizing patterns, importing data, and cutting down repetitive spreadsheet work. What it is still not is something to trust blindly for final numbers. Let it do the heavy lifting, then review the output before it counts. ### Why is Teams meeting not showing in Outlook? URL: https://seanshares.com/why-is-teams-meeting-not-showing-in-outlook/ Last updated: 2026-04-12T16:15:30.000Z If you scheduled a Teams meeting and it is not appearing in your Outlook calendar, or if you received a Teams meeting invite that is missing from your calendar view, it can cause real scheduling headaches. Teams and Outlook are closely integrated through Exchange Online, but that integration has a few failure points. Here is a breakdown of the common causes and how to fix each one. ## How the Teams and Outlook Calendar Integration Works When you schedule a meeting in Teams, the meeting is created in your Exchange Online mailbox and then rendered in Outlook's calendar view. Similarly, when you receive a Teams meeting invite via email, accepting it writes the meeting to your Exchange calendar so it shows in Outlook. Because the integration runs through Exchange, anything that disrupts the flow between Teams, Exchange, and Outlook can result in meetings not appearing where expected. Most issues fall into one of the categories below. ## 1\. The Teams Meeting Add-in Is Missing or Disabled The Microsoft Teams Meeting Add-in for Microsoft Outlook is required for the integration between the two apps to work properly. If this add-in is disabled or not installed, Teams meetings may not appear in your Outlook calendar correctly. To check it, open Outlook and go to File, then Options, then Add-ins. At the bottom, set the Manage dropdown to COM Add-ins and click Go. Look for Microsoft Teams Meeting Add-in for Microsoft Office. If it is not listed, the add-in may not be installed. If it is listed but unchecked, check it and click OK. Restart Outlook and test again. If the add-in keeps getting disabled, it may be crashing on startup. Check whether your Office installation is up to date, as add-in stability issues are frequently fixed in updates. ## 2\. You Are Signed Into Different Accounts in Teams and Outlook This is a surprisingly common cause. If Teams is signed in with one Microsoft 365 account and Outlook is signed in with a different account (or a different tenant), meetings created in Teams will not appear in the Outlook calendar because they are in different mailboxes. Verify that both apps are using the same account. In Teams, click your profile picture to see the signed-in account. In Outlook, go to File, then Account Settings. Make sure both show the same email address. ## 3\. Apps Need an Update Calendar integration behavior can break between Teams and Outlook if one app is significantly behind on updates. Microsoft releases regular updates that fix sync and integration bugs, and running an outdated version of either app is a common root cause. Update Outlook via File, Office Account, Update Options, Update Now. Update Teams by clicking the three-dot menu next to your profile picture and selecting Check for updates. After updating both apps, restart them and check whether meetings are appearing correctly. ## 4\. Teams or Exchange Is Experiencing a Service Issue Sometimes the problem is not on your end at all. Microsoft 365 service incidents can disrupt calendar sync between Teams and Exchange. If multiple people in your organization are suddenly reporting the same issue at the same time, check the Microsoft 365 Service Health dashboard at admin.microsoft.com (if you are an admin) or ask your IT team to check it. Outages typically resolve within a few hours. ## 5\. Delegated Mailbox or Shared Calendar Issues If you are managing someone else's calendar through delegation, Teams meetings they schedule may not always appear in your delegated view correctly. This is a known limitation of how Teams writes meeting data to Exchange compared to how Outlook reads delegated mailboxes. If you are working with a delegated or shared mailbox, check whether the meeting exists in the primary mailbox owner's calendar directly. If it is there but not showing in your delegated view, the issue is with the delegation or calendar permissions rather than the Teams-Outlook sync. ## 6\. Meeting Was Scheduled in the Wrong Calendar Outlook supports multiple calendars (personal, work, shared team calendars) and it is possible a meeting was placed in a calendar that is not currently visible in your view. Check whether all your calendars are displayed by looking at the calendar panel on the left side of Outlook. Any calendar with an unchecked checkbox will not show its events in the main calendar view. Make sure all relevant calendars are checked. --- ## Clearing the Teams Cache If the above steps do not resolve the issue, clearing the Teams app cache is worth trying. Cache corruption can cause a range of unexpected behavior including sync issues with Outlook. To clear the Teams cache, fully close Teams first. Then navigate to %appdata%\\Microsoft\\Teams in File Explorer (paste this directly into the address bar). Delete the contents of the Cache, blob\_storage, databases, GPUCache, IndexedDB, Local Storage, and tmp folders. Do not delete the folders themselves, just the contents. Relaunch Teams and sign in again. Allow a few minutes for the calendar to sync. ## When to Involve Your IT Admin If you have worked through the steps above and meetings are still not syncing, it is time to involve your IT admin. The most likely remaining causes are Exchange server configuration issues, conditional access policies affecting the Teams-Outlook integration, or tenant-level settings that require admin access to investigate. Your admin can review the Exchange transport logs and Teams admin center for clues. --- ## Frequently Asked Questions ### A meeting invite arrived by email but is not in my calendar. Why? You need to accept the invite for it to appear in your calendar. If the invite is in your inbox but you have not opened and accepted it, it will not show in the calendar view. If you accepted it and it still is not showing, check that you accepted it from the same account your calendar is displaying. ### The meeting shows in Teams but not in Outlook. Is that normal? No, they should match. If a meeting appears in Teams but not in Outlook, the most likely cause is the add-in issue or account mismatch described above. Check both of those first. ### Can I manually sync my Teams meetings to Outlook? There is no manual sync button. The sync happens automatically through Exchange. Restarting both apps and ensuring they are updated is the closest thing to forcing a re-sync. --- ## Final Thoughts The Teams-Outlook calendar integration works reliably most of the time, but when it breaks it can be genuinely disruptive. The add-in check and account verification steps above fix the problem in most cases. If you are an admin seeing this affect multiple users simultaneously, a service health check is always the first thing to look at before spending time troubleshooting individual machines. For more on Microsoft Teams and Outlook integration, check out [Microsoft’s support documentation](https://support.microsoft.com/?ref=seanshares.com) and stay current with Microsoft 365 best practices. ### How do I turn off Teams notifications in Outlook? URL: https://seanshares.com/how-do-i-turn-off-teams-notifications-in-outlook/ Last updated: 2026-04-21T19:13:25.000Z Microsoft Teams and Outlook are tightly connected, which is mostly a good thing. But one side effect of that integration is that Teams can send email notifications directly to your Outlook inbox. Things like missed activity summaries, meeting recording notifications, channel digests, and more can add up quickly if you have not configured them. Here is how to control exactly which Teams notifications reach your Outlook inbox and how to turn off the ones you do not need. ## The Two Types of Teams Emails That Go to Outlook Before diving into the settings, it is worth understanding the difference between the two main categories of Teams emails that land in Outlook. The first is missed activity emails. These are summary messages Teams sends when you were not active in Teams and someone mentioned you, replied to your message, or sent you a direct message. They are useful if you step away from Teams, but they become noise if you check Teams regularly. The second category is notification emails from specific features: meeting recording availability notices, channel digest emails, subscription updates for channels you are following, and policy notification emails from your admin. These come from different settings than the missed activity emails, so they need to be turned off separately. ## How to Turn Off Missed Activity Emails This is the most common type of Teams notification that ends up in Outlook inboxes. Here is how to disable it. 1. Open Microsoft Teams on desktop or web. 2. Click the three dots next to your profile picture in the top right corner. 3. Select Settings ![](https://seanshares.com/content/images/2025/05/image-1.png) 1. Go to Notifications in the left menu. ![](https://seanshares.com/content/images/2025/05/image-2.png) 1. Scroll down to the Missed activity emails section. 2. Click the dropdown (which defaults to As soon as possible) and change it to Off. ![](https://seanshares.com/content/images/2025/05/image-4.png) Once set to Off, Teams will stop sending missed activity summary emails entirely. If you want to keep them but reduce the frequency, you can switch the dropdown to Once an hour or Once a day instead of Off. This is a good middle ground if you want the safety net of catching missed @mentions without getting an email for every single one. ## How to Turn Off Meeting Recording Notifications When a Teams meeting recording becomes available, Teams sends an email to meeting participants with a link to the recording. This is helpful but can be redundant if you also get in-app notifications. To disable these emails: 1. Go to Teams Settings. 2. Open Notifications. 3. Scroll to the Meetings section. 4. Find the Recording available setting and change the email notification toggle to Off. You will still see recording availability inside Teams; you just will not get the separate email. ## How to Turn Off Channel Subscription Digest Emails If you follow specific channels in Teams, you may receive periodic digest emails summarizing activity in those channels. To manage these: 1. In Teams, go to the channel you are following. 2. Click the three dots next to the channel name. 3. Select Channel notifications. 4. Adjust the email digest setting, or turn off following the channel entirely if you no longer need it. Channel digests can be genuinely useful for keeping up with active channels without reading every message. The key is to only have them active for channels you actually care about. ## How to Manage Teams Notifications at the Outlook Rule Level If you want to keep receiving Teams emails but not have them clutter your main inbox, Outlook rules are a clean solution. Create a rule that automatically moves emails from the Teams notification address (no-reply@email.teams.microsoft.com or similar) to a dedicated folder called Teams Notifications. You can then check that folder on your schedule rather than seeing those emails alongside your regular mail. To create the rule, right-click any Teams notification email in Outlook, select Rules, then Create Rule. Set the condition to match the sender address and the action to move it to a specific folder. ## Controlling Teams Email Notifications on Mobile If you use the Teams mobile app, notification settings are separate from the desktop client. Changes you make in Teams desktop do not automatically apply to mobile. Go to the Teams mobile app, tap your profile picture, go to Notifications, and look for the email notification settings there. Alternatively, manage mobile notifications at the phone OS level through your device's notification settings for the Teams app. ## Admin Controls for Teams Email Notifications As a Teams admin, you can configure notification policies through the Teams admin center or PowerShell. If your users are overwhelmed by Teams emails across the organization, you can set default notification configurations that reduce email traffic while still keeping users informed of critical items. Go to the Teams admin center at admin.teams.microsoft.com and navigate to Notifications and alerts, or Messaging policies, depending on what you are trying to configure. Email notification defaults can be set at the policy level and pushed to user groups rather than requiring each user to configure their own settings. --- ## Frequently Asked Questions ### Will turning off missed activity emails mean I miss important @mentions? Only if you are not checking Teams regularly. The @mentions will still appear in your Teams activity feed with a notification badge. Missed activity emails are a backup for when you are away from Teams entirely. If you check Teams at least a couple times per day, turning off the emails is safe. ### Teams emails are still arriving even after I turned them off. What is wrong? Allow a few minutes for the setting to sync. If emails continue after an hour, check whether you changed the setting in the correct Teams account. If you have multiple Microsoft accounts (work and personal), settings in one account do not apply to the other. ### Can I turn off Teams notifications just for specific channels? Yes. You can configure notifications per channel in Teams. Click the three dots next to any channel and go to Channel notifications to customize what you hear about from that channel, including whether notifications trigger emails. --- ## Final Thoughts The combination of missed activity emails, recording notifications, and channel digests can add up to a surprising amount of Teams-related email. Turning off missed activity emails is the single biggest change and takes about thirty seconds. If you want more precision, the per-channel notification settings give you the most control over exactly which Teams activity reaches your inbox. Start with the missed activity setting and adjust from there based on what remains. ### Disable Storyline in Teams or Outlook URL: https://seanshares.com/disable-storyline-in-teams-or-outlook/ Last updated: 2026-04-13T01:50:30.000Z Storyline is a social feed feature built into Microsoft Viva Engage (formerly Yammer) that surfaces posts in Microsoft Teams and Outlook. Think of it as a LinkedIn-style activity feed inside your Microsoft 365 environment. For some organizations it is a useful internal communication tool, but for many IT teams it is an unwanted social layer that adds distraction without adding value. Here is what it is, why you might want to disable it, and how to do so. ## What Is Storyline? Storyline was introduced as part of Microsoft's Viva Engage experience. When enabled, each Microsoft 365 user gets a personal story feed that others in the organization can follow. Posts appear on user profile pages in Teams, in Outlook, and in the Viva Engage app itself. From the user side, Storyline adds a "New Storyline Post" option in Teams and lets users share updates, announcements, or content with colleagues who follow them. From an admin perspective, it creates a social media-style layer within your Microsoft 365 environment that may or may not fit your organization's communication culture. ## Reasons Organizations Disable Storyline There are several common reasons admins choose to disable Storyline in their tenants. **Distraction and scope creep:** Not all organizations want a social feed inside their productivity tools. For highly regulated or focused work environments, Storyline adds noise without clear business value. **Compliance and data governance:** Any new communication channel creates potential compliance requirements. Organizations with strict records management policies may want to avoid the additional data that Storyline generates until they have the governance framework in place. **Support burden:** When new features appear in Teams without much context, the help desk typically sees an increase in questions. Disabling Storyline before it becomes visible to users avoids that wave. **Scoping to specific groups:** Rather than disabling entirely, some organizations restrict Storyline posting rights to specific groups such as HR or leadership, which limits it to a broadcast tool rather than an open social feed. ## Who Can Disable Storyline? Storyline is controlled through the Viva Engage (Microsoft Engage) admin center, not the Teams admin center or the Microsoft 365 admin center. You need to be either a Global Administrator or a Viva Engage (Yammer) network administrator to access the required settings. SharePoint admins, Teams admins, and other delegated admin roles do not have access to these controls. > *These actions can only be performed by a Global admin or Viva Engage (Yammer) network admin. Turning the feature off removes the *Storyline* tab from user profiles in Teams, Viva Engage, and Outlook, but it does *not* delete historical posts. Use eDiscovery or data export later if you need to wipe existing content.* [Microsoft Learn](https://learn.microsoft.com/en-us/viva/engage/eac-storyline?ref=seanshares.com) ![](https://seanshares.com/content/images/2025/05/image-7.png) ## Steps to Disable Storyline 1. Login to [https://engage.cloud.microsoft/main/admin](https://engage.cloud.microsoft/main/admin?ref=seanshares.com) as a Global Administrator or an Engage Administrator 2. Click on Feature Management Tab ![](https://seanshares.com/content/images/2025/05/image.png) 1. Now Click Storyline option ![](https://seanshares.com/content/images/2025/05/image-8.png) 1. Now toggle the "Enable storyline" to the off position. Please keep in mind this will disable the storyline feature throughout Engage, Teams and Outlook. ![](https://seanshares.com/content/images/2025/05/image-9.png) ### Verify that "New Storyline Post" no longer appears in Teams 1. Ask a regular user (no admin roles) to relaunch the new Teams client or refresh teams.microsoft.com. 2. Check that the New Storyline Post option no longer appears under the new post menu in Teams. ![](https://seanshares.com/content/images/2025/05/image-10.png) --- ## Disabling Does Not Delete Content Disabling Storyline hides the feature from users going forward, but it does not delete any historical Storyline posts. Existing posts remain in Viva Engage and in the Dataverse database even after the feature is turned off. If you need to remove historical content for compliance or data governance reasons, you will need to use eDiscovery or Viva Engage's data export tools to identify and purge that content separately. ## Scoping Storyline to Specific Groups Instead of Disabling Entirely If you want to keep Storyline available but restrict who can post to it, Engage supports scoping. Rather than a global on/off toggle, you can configure a security group or Microsoft 365 group that controls which users have permission to create Storyline posts. Users not in that group can still view Storyline posts in their feed but cannot post. This scoped approach works well for organizations that want to use Storyline as a one-way broadcast tool from leadership or HR without opening it up for all-employee posting. The scoping controls are also in the Engage admin center under the Storyline settings. ## Communicating the Change to Your Users If Storyline was previously visible in your tenant and you disable it, users will notice the feature disappearing without explanation. A brief communication sent a few days before the change helps prevent confusion and help desk tickets. A simple note explaining that the Storyline feature is being removed and pointing users to the preferred communication channels in your organization is usually enough. If you are disabling it before users have had a chance to discover it, no communication is strictly necessary, but a heads-up to your help desk team is still a good idea so they can handle any questions from early adopters who noticed it. --- ## Frequently Asked Questions ### Can individual users turn Storyline off for themselves? Users cannot disable Storyline tenant-wide, but they can control their own personal notification preferences for Storyline activity. The toggle in the admin center is the only way to remove the feature entirely. ### If I disable Storyline and then re-enable it later, will historical posts reappear? Yes. Historical posts are retained while Storyline is disabled. If you re-enable the feature, those posts will become visible again. ### Does Storyline affect Teams performance? In most environments, no. Storyline is a content layer, not a real-time process. However, in very large organizations with high Storyline activity, there can be some feed processing overhead. This is rarely a practical concern for most tenants. --- ## Final Thoughts Disabling Storyline is a straightforward admin task, but it is one that needs to be done through the Viva Engage admin center rather than the more familiar Teams or Microsoft 365 admin centers. If your organization has decided it is not the right fit, the steps above will cleanly remove it from your tenant. If you want to evaluate it more carefully before making a decision, scoping it to a pilot group is a good way to test the feature without exposing it to your full user base.