Microsoft SharePoint
16 TopicsHow SharePoint Embedded works and how to build AI apps on it
SharePoint Embedded is a fully managed, cloud-based, API-only document management system that lets you securely integrate your custom web or mobile apps, whether built on Azure or other clouds, with Microsoft 365 file storage. It’s especially ideal for ISVs building multi-tenant apps because content stays within each customer’s Microsoft 365 tenant. Design apps that include Microsoft 365 Copilot and agent capabilities, connected Office experiences like Word, and Microsoft Purview compliance and data protection, all within your own user experience. Use built-in retrieval augmented generation (RAG) or bring your own models to create intelligent, secure solutions that reason over your business content, support real-time co-authoring, and scale with granular permissions and storage control. Jeremy Chapman, Microsoft 365 Director, shares how to build intelligent, secure solutions that integrate seamlessly with Microsoft 365 content and services. No data movement & no loss of control. Keep custom app content in your Microsoft 365 tenant. Check out Microsoft SharePoint Embedded. Custom frontend, your domain. Still connected to Office, Copilot, and Microsoft 365. Get started with SharePoint Embedded. Built-in vector embeddings. Automatically index files for AI. Get started with SharePoint Embedded. QUICK LINKS: 00:00 — Keep content secure & compliant without moving it 01:21 — Build fully custom experiences 02:11 — Use built-in vector indexing and RAG 02:55 — Use your models with Copilot’s vector search 04:34 — How it works 05:23 — How the app is built 06:19 — Microsoft Copilot retrieval API 06:58 — Security and compliance 08:02 — Wrap up Link References Build your first agent at https://aka.ms/SPEAgent Unfamiliar with Microsoft Mechanics? As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast Keep getting this insider knowledge, join us on social: Follow us on Twitter: https://twitter.com/MSFTMechanics Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/ Enjoy us on Instagram: https://www.instagram.com/msftmechanics/ Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanics Video Transcript: -If you’re looking to build AI powered web or mobile apps for your employees that can securely leverage your organization’s content without moving it or compromising your existing data security. That’s where SharePoint Embedded comes in. Microsoft SharePoint Embedded is a cloud-based document management system. As an API only solution, it lets you as a developer connect the apps that you might be building on Azure or in other clouds securely to the Microsoft 365 file and document storage platform. And this is also an advantage if you’re an ISV who’s building multi-tenant apps because the content stays within your customer’s Microsoft 365 tenant. SharePoint Embedded lets you integrate Microsoft 365 capabilities into your apps, including Microsoft 365 Copilot and agent capabilities, connected Office app experiences like Word and other familiar apps, as well as Microsoft Purview data security and compliance controls. -So you can build generative AI and agent-based solutions using built-in retrieval augmented generation without needing to move your business documents outside of your Microsoft 365 boundary. SharePoint Embedded is also fully managed, so you don’t need to worry about provisioning or managing the underlying compute and infrastructure. And this works with your own web front ends and logic. Let me show you an example. So this is a specialized contract management app that curates case files, which are stored in SharePoint Embedded. Notice this isn’t a SharePoint created site. It’s our own custom application. It’s our own user experience and it’s on our own domain. You’ll see that I need to connect to Microsoft 365 with my user account because the file access is based on my unique set of permissions like I would have if I was running this in Microsoft 365 or an Office app. -This is a one-time connection performed by an end user account, and previously to build an app like this, you would need to send those files to another document management or storage location, maybe like Azure Blob storage or another cloud service where the classifications, protections and permissions for those files would effectively get lost. And once I’m securely signed in, I can see the documents that I have permissions to access within the app and that I want my AI app to reason over. I can also upload or add cloud files from SharePoint, OneDrive, or third party locations into my app, and these files, if not previously on SharePoint or OneDrive will get stored in SharePoint Embedded containers in my tenant. And behind the scenes, these files are indexed at upload time for AI reasoning using embeddings for vector-based search, and the vector index itself is also within my Microsoft 365 tenant. -Here, we’re also using Microsoft 365 Copilot’s orchestration within the app for retrieval augmented generation to respond to my prompts. Alternatively, you can also leverage your own foundational models while leveraging Copilot’s vector search and retrieval, and that way, your content and associated indexes stay within your compliance boundary. The app is designed so that the manual work of rationalizing and processing proposals and legal documents can be done in a fraction of the time using AI. So I can use the custom starter prompts on the top with this agent or write my own prompts. -Here, I’m going to ask it to summarize the proposals by uptime and hourly rates. And as it responds, you’ll see a summary of the uploaded and attached files. Using this app’s custom instructions, it knows exactly how to respond with the right voice and format. Everything in this response is grounded on our information in SharePoint Embedded and contextualized to our application. It’s also fully integrated with familiar Office app experiences, so when I click into any of these documents, the app can open them directly in their respective apps on desktop, web and mobile. And because it’s powered by SharePoint, you can also do real-time co-authoring, also commenting and sharing, and it works with over 300 different file types. And I can even access this as an agent using Microsoft 365 Copilot Chat, like I’m doing here with my prompt, looking for information from the same SharePoint Embedded container that I showed earlier. You now have the flexibility for how you want to design your apps and their information architecture while maintaining data security and permission controls over the underlying files. -So let me explain how this works. When you have an app that uses SharePoint Embedded in your Microsoft 365 tenant, SharePoint Embedded creates another partition within your tenant. The storage partition is headless and doesn’t have a user experience so you can develop your own. Within it, the documents you upload go into that storage partition and they’re only accessible via APIs. In that partition, documents are accessible to the custom app or agent while residing in your own Microsoft 365 tenant and to limit per app access within this new storage partition, a SharePoint Embedded app can create multiple file storage containers to store content where each container can have its own unique permissions. So the app that uses SharePoint Embedded has full control over the containers and the documents within them. -And if you’re a developer, let me show you how you can build an app like this. So I’m in Visual Studio Code. And the first thing that you’ll need to do is provision a container, and containers within SharePoint Embedded are tied to the app that creates them. Next, your application will need to integrate with Microsoft Entra for authentication for the signed in user to access files in that storage location. Again, because this is powered by SharePoint, you can build in all the granular access controls all the way down to the individual file level. And because this also leverages Microsoft Graph, you can use Graph APIs to directly access files in your SharePoint Embedded containers. This uses the same file operations that you have across Microsoft 365, except they’re scoped to your app that uses SharePoint Embedded. That means that anything that you can use with Graph APIs can also be used in your SharePoint Embedded apps. -And related to that, you can also use the Microsoft 365 Copilot retrieval API, so that you can leverage built-in RAG for your own custom orchestration and have full control over the experience, or you can use what’s built in, like I showed before. In fact, this is the code for the AI component of our app where we’ve defined the information locations to ground responses and the theming of the sidebar so it matches your app, the suggested prompts that are presented as starter recommendations for users and the meta prompt to customize the voice, tone, format and other aspects of generated responses. -Importantly, your application gets the full Microsoft Purview security and compliance capabilities, which include detailed auditing for all SharePoint Embedded app interactions, data loss prevention, or DLP policy integration to protect sensitive and high value information and information protection controls to identify and protect other classified content. Your containers can be managed from the SharePoint admin center, where you can also apply default sensitivity labels for each container to protect the content within it. -Again, any security and compliance controls that you can apply to your SharePoint sites can also be leveraged by your SharePoint Embedded app. SharePoint Embedded is an Azure service that’s billed based on consumption for storage, transactions and Copilot interactions. When you set up SharePoint Embedded for the first time in the Microsoft 365 admin center, under Org settings, you’ll enable it as a pay-as-you-go service in one billing policy where you’ll define your Azure subscription, your resource group, and your region. Now you’re ready. And the good news is, as a developer, you can get started right away using the Visual Studio extension for SharePoint Embedded. -To find out more about that and build your first agent, check out aka.ms/SPEAgent and keep watching Microsoft Mechanics for the latest tech updates. Subscribe to our channel and thanks for watching.140Views0likes0CommentsMicrosoft 365 Champion community call | March 2025 | PM
Join our next community call on March 25, 2025, to deep dive into the new features in SharePoint Pages and News, including flexible sections! Host: Tiffany Lee Guest: Katelyn Helms Moderator: Jessie Hwang 📢 NOTE: our community call format has changed to using Teams webinars to enable more dynamic discussions! Join link is still the same but you must register to be able to join the call when it starts: https://aka.ms/M365ChampionCallPM ⏰ 🗨️ Each call includes an open Q&A discussion section, where you'll have a chance to ask your questions about Microsoft 365. Our new call format will make this easier! 👋 Join the Microsoft 365 Champion program today! Champions combine technical acumen with people skills to drive meaningful change. Our community calls are open to everyone but only Champions have access to the presentation resources (access link in the initial welcome email and in the monthly newsletters). Join now: https://aka.ms/M365Champions. Note: If you are unable to watch the recording on YouTube, try watching it here.261Views0likes2CommentsMicrosoft 365 Champion community call | March 2025 | AM
Join our next community call on March 25, 2025, to deep dive into the new features in SharePoint Pages and News, including flexible sections! Host: Tiffany Lee Guest: Katelyn Helms Moderator: Jessie Hwang 📢 NOTE: our community call format has changed to using Teams webinars to enable more dynamic discussions! Join link is still the same but you must register to be able to join the call when it starts: https://aka.ms/M365ChampionCallAM ⏰ 🗨️ Each call includes an open Q&A discussion section, where you'll have a chance to ask your questions about Microsoft 365. Our new call format will make this easier! 👋 Join the Microsoft 365 Champion program today! Champions combine technical acumen with people skills to drive meaningful change. Our community calls are open to everyone but only Champions have access to the presentation resources (access link in the initial welcome email and in the monthly newsletters). Join now: https://aka.ms/M365Champions. Note: If you are unable to watch the recording on YouTube, try watching it here.331Views0likes0CommentsMicrosoft 365 Champion community call | February 2025 | AM
Join our next community call on February 25, 2025, to deep dive into SharePoint sites and pages and learn about the new capabilities and AI features in SharePoint! Host: Tiffany Lee Guest: Mark Kashman Moderator: Jessie Hwang 📢 NOTE: our community call format has changed to using Teams webinars to enable more dynamic discussions! Join link is still the same but you must register to be able to join the call when it starts: https://aka.ms/M365ChampionCallAM ⏰ 🗨️ Each call includes an open Q&A discussion section, where you'll have a chance to ask your questions about Microsoft 365. Our new call format will make this easier! 👋 Join the Microsoft 365 Champion program today! Champions combine technical acumen with people skills to drive meaningful change. Our community calls are open to everyone but only Champions have access to the presentation resources (access link in the initial welcome email and in the monthly newsletters). Join now: https://aka.ms/M365Champions. Note: If you are unable to watch the recording on YouTube, try watching it here.357Views0likes3CommentsMicrosoft 365 Champion community call | February 2025 | PM
Join our next community call on February 25, 2025, to deep dive into SharePoint sites and pages and learn about the new capabilities and AI features in SharePoint! Host: Tiffany Lee Guest: Mark Kashman Moderator: Jessie Hwang 📢 NOTE: our community call format has changed to using Teams webinars to enable more dynamic discussions! Join link is still the same but you must register to be able to join the call when it starts: https://aka.ms/M365ChampionCallPM ⏰ 🗨️ Each call includes an open Q&A discussion section, where you'll have a chance to ask your questions about Microsoft 365. Our new call format will make this easier! 👋 Join the Microsoft 365 Champion program today! Champions combine technical acumen with people skills to drive meaningful change. Our community calls are open to everyone but only Champions have access to the presentation resources (access link in the initial welcome email and in the monthly newsletters). Join now: https://aka.ms/M365Champions. Note: If you are unable to watch the recording on YouTube, try watching it here.439Views0likes2CommentsHow to recover deleted folder from OneDrive/sharepoint
I have synced my sharepoint folder in onedrive. Onedrive was offline and not syncing with cloud due to some issue so reinstalled onedrive. During installation i selected to sync existing directory. After synchronization, one folder get removed from my onedrive. Is there any way to restore it ?510Views0likes2CommentsCustom fields using an external source of data
Hi We have a scenario whereby an admin team for musical instruments wants to offer different public facing appointments types to requesters. Some of these appointment types would ask the requester which instrument and subsequently the sub type of that instrument that they need for the appointment during the booking process. This list of instruments and sub types can change quite often due to the availability of them so the admin team need to have the ability to show and hide different instruments on an ad-hoc basis (For example by setting the status of each instrument to either “inactive or active” and a list being constructed which only shows instruments which have a status of “active” that is then displayed to the requester). As its an appointment system they want, using MS Bookings makes sense due to all of the out of the box functionality it offers. Plus with the new Power Automate triggers I can push data into a dataverse table to create a model driven app for the Admin staff to use to administer the appointments that come in etc. However the main sticking point I have is with the ability to keep the instruments and sub types up to date whilst using MS Bookings. Custom fields seem to be the way to go about it as depending on the service I can ask which instrument the request is linked to but unfortunately custom fields seem to be too static and simple (in that I can’t point a custom field's dropdown list’s datasource to a dataverse table or anything else apart from a set list of values when you first create the custom field) Would anyone be able to give me any ideas of how to get around this problem? I’m not sure whether there is a solution that involves other parts of the Microsoft environment, for example inside of the Power Platform environment, MS Forms etc that would either integrate or replace the use of MS Bookings? Thanks Phil.702Views0likes2CommentsVideo Playback issues - Stream (SharePoint) barely usable
Hello, We’re currently experiencing issues with playback of videos on Microsoft Stream (SharePoint) which we have never had with the Stream (Classic). At this point Stream (SharePoint) is barely usable. Around May 2023 we started using the Stream (SharePoint) Since the videos were not processed anymore and are dependent on automatic codec assignment, we couldn’t upload videos from our footages that was by default .mp4 as it wouldn’t play back This is why we had to opt in to using .avi which seemed to work OK at the time However issues were discovered on 14/09/2023 – some videos were playing at a different speed than they should (for example a video that was normally 2 minutes long would only be 1 minute 45 seconds long on stream, making the video look sped up) I've tried uploading several videos but couldn't find patters as to why this is happening It got worse - uploads in .avi format since October 26th won’t playback at all - receiving a generic error message. We didn’t appear to have any issues with the videos that were uploaded prior to this date (we don’t upload videos daily, though). Since this date I was trying to upload a different variety of videos that were playing back with a mixed ratio of success .mp4 videos would still not play at all .avi videos would only play sometimes, these are the differences I found between them Data rate – 4946kbps and 9.52 frames/second and audio bit rate 64kbps - (WORKING) Data rate - 2115kbps and 12.50 frames/second and audio bit rate 32kbps - (NOT WORKING) I wasn't able to report the issue with the 'report' button as it doesn't do anything - once you refresh the page, you get a flash of the 'submit report' page, seeing what you should've seen after pressing the report button The only format that seems to be working fine is at this moment is .mkv (I haven't tested others) This is however not a viable option for us as we need to upload the video in its original and unedited export. Not to mention the extra work with having to convert all videos and other inconveniences that the new Stream is causing compared to Stream (classic) 07/11/2023 – As I’m writing this up, I went back to check the videos that had issues with playback speed – they weren’t sped up anymore and play they way they should've. However, when I tried to open them again for the second time they would not playback at all anymore. I’ve tried Edge (Version 119.0.2151.44) and Firefox on the same Windows 10 PC receiving the same results. Sometimes wrong videos would be opened as well (opening video A but video C opens instead in a new tab). In addition, the videos that won't playback don't give any error messages from today's tests - only endlessly spinning loading circle Same results on a separate Windows 11 laptop on Edge (Version 118.0.2088.76) Even more strange is that on an old Surface Go 2 (Intel Pentium 4415Y) Edge (version118.0.2088.76) The videos that were sped up are still sped up and the newly uploaded videos that didn't playback on other Windows PCs, are working on this tabletHow to migrate Mediawiki page to SharePoint Page
We need to crawl the MediaWiki page to Viva Topics. As there is no connector, we are trying to create Modern SharePoint pages based on the Mediawiki pages. Eventually Viva Topics AI can crawl this SharePoint pages provide the Hastags/Topics in Viva Topics.514Views0likes0CommentsSPFx webparts not able to acquire token for Graph API in Teams app (Viva Connections)
Hi all, There is a very strange thing happening to a few webparts that we've build for one of our clients. We haven't seen this problem in other tenants, it seems to be related to this specific tenant. Maybe it's a setting, or maybe it's a bug. Hopefully someone can help us. This is the case: We have created a SharePoint intranet site and made it the root site. We then added the site to the Viva Connections integration in Teams, as an app. On this site we have a couple of custom webparts that we created. One of the webparts have been used in many intranet sites and haven't had these problems so far. The problem also isn't occurring on SharePoint itself. The problem is connecting to the Graph API, the token doesn't seem to be retrieved and thus the API requests are not even send to the Graph API. Environment details: Microsoft Egde version 115.0.1901.183 (Official build) (64-bit) SPFx 1.17.4 Node 16.15.1 NPM 8.11.0 The error I'm getting: Uncaught (in promise) Error: Token request previously failed at new t (chunk.aadTokenProvider_en-us_445a72773ba77a61be93.js:1:1514) at e._getTokenInternal (chunk.aadTokenProvider_en-us_445a72773ba77a61be93.js:1:3567) at e.getToken (chunk.aadTokenProvider_en-us_445a72773ba77a61be93.js:1:2372) at sp-pages-assembly_en-us_c3c628b67d521769ee27f473c0ed9543.js:76:647657 The request that might be the problem: https://tenant.sharepoint.com/_api/Microsoft.SharePoint.Internal.ClientSideComponent.Token.AcquireOBOToken?resource=%27https://graph.microsoft.com%27&clientId=%2775aff87b-45bf-41e7-84f3-552901a72ea0%27 Results in an 500 internal server error with the following message: { "odata.error": { "code": "-1, System.AggregateException", "message": { "lang": "en-US", "value": "One or more errors occurred." } } } I found this issue #7884 which seems to be related to mine or at least gives the same error, but the resolution there doesn't apply here sadly. The manifest is already in the right format and with the correct data. Also cross referenced the manifest with other, working tenants At this point I have no clue on what the cause of the issue is, could any of you help me with this problem? Kind regards, ArjenSolved4.6KViews0likes4Comments