 In May of 2023, Microsoft announced a new private preview of a new product and service at their annual build conference called Syntex Repository Services. Then, in November 2023, they announced the public preview of SharePoint Embedded, the new name for Syntex Repository Services, who is also referred to as Headless APIs or Repository as a Service, or RAS. SharePoint Embedded offers a headless API-only pattern for building content apps that integrate management capabilities, like collaboration, security, and compliance into any app by storing content within the enterprise's existing Microsoft 365 tenant. Now, I've had the opportunity to work with the SharePoint Embedded team for the last few months, leading up to the public preview announcement. And as a longtime SharePoint developer, I see great potential in this offering, as it addresses a need that app developers have had for years. The ability to use SharePoint to store data while blocking users from accessing the files through the traditional SharePoint web interface. In this episode, I'm going to explain where SharePoint Embedded is in my own words, and share some of the scenarios where I believe it can be really beneficial. Hey, I'm Andrew. If you're new here, be sure to hit that subscribe button below the video to stay up to date on all my videos from on Microsoft 365 and Microsoft Azure for full stack developers. SharePoint Embedded provides developers with a faster way to create file and document focused applications empowered by SharePoint. SharePoint Embedded is going to allow developers to integrate the powerful file and document management capabilities that SharePoint offers into their own custom applications. This video is going to focus on what SharePoint Embedded is and what it offers to developers creating custom apps. You can check out my other associated video that's going to show you how to build one of these apps in step-by-step approach. Now, for many years, users have enjoyed the document management capabilities provided by SharePoint. These features include collaborating on various file types, securing content, managing the content lifecycle, and utilizing enterprise grade classification in enterprise content management capabilities. SharePoint document management has been an industry leading solution for a very long time, and these capabilities have become the industry standard, leading ISVs and developers to want to implement them in their own custom solutions. Some organizations, they've recreated these capabilities in their own products while others have built their products on top of SharePoint. However, these solutions, they introduce a dependency on the entire SharePoint product. When all they really want is to leverage the document management capabilities and features of SharePoint in their own products and projects, that's what SharePoint Embedded brings to developers. It provides a faster way for developers to create file and document focused applications. SharePoint Embedded is powered by SharePoint, and developers can integrate the same powerful file and document capabilities that SharePoint has to offer in their own custom applications. SharePoint Embedded speeds up your content management plan by adding new features to custom apps. You can enhance Microsoft 365 security and compliance for your app, including auditing, e-discovery, bringing your own key, and many more options. You can utilize Microsoft 365 business continuity features like auto scaling, high availability, Microsoft 365 backup, Microsoft 365 archive, and disaster recovery. You can provide 365 collaboration to your customers, your users, and guest users within your app, such as co-authoring in Word or in PowerPoint or Excel. You can also incorporate Microsoft's trusted content management features into your app, like search, content preview, and version tracking. You can also define a custom user experience that gives your app full control over the security, lifecycle, and management of your content. And you can also utilize the capabilities of SharePoint Premium, for example document processing, e-signature, and content assembly within your applications. And you can make your content searchable in the Microsoft 365 semantic index that's and that's also available in co-pilot for Microsoft 365. Another way to look at SharePoint Embedded is that your custom application leverages SharePoint for all document storage and collaboration features. And this effectively uses SharePoint Embedded as a headless API to SharePoint's document storage system. Now when a customer installs and registers a SharePoint embedded application in their 365 tenant, SharePoint Embedded creates a brand new SharePoint partition. And this storage partition does not have a user interface, but instead the documents in the partition are only accessible via APIs. And this means that all documents will be accessible to the ISV or the developer's application. But the documents will only reside in the consumer's Microsoft 365 tenant. Now all documents that are stored in the SharePoint partition that are created by SharePoint Embedded apps are in the consumer's 365 tenant and therefore they're subject to the consumer's Microsoft 365 tenant settings. SharePoint Embedded is fully integrated with the Microsoft 365 Admin Center and Microsoft Purview, which allows administrators to use familiar tools to manage the content lifecycle, security, and compliance. Let's see some of the SharePoint and Microsoft 365 features that you can use in your SharePoint embedded applications. Office docs stored in SharePoint Embedded apps can be open for viewing and editing in office online applications. And this allows your users to work with documents directly on the website or in desktop apps for a better viewing and editing experience. The auto save feature, it automatically saves your files as your users work. And it's enabled for Word, Excel, and PowerPoint files that are stored in your SharePoint Embedded apps storage. Furthermore, you can use the Microsoft Search API to search for content within your application. The search requests run in the context of the signed-in user and the search results are limited to the items that are accessible by the user based on their access control settings. For instance, the search results will include all the content that matches the search criteria and is accessible to the user, regardless of whether the SharePoint Embedded application is authorized to access the content. Now your users can discover and share content from your SharePoint Embedded application through their recommended quick access or share with me feeds on Microsoft 365 services like office.com, SharePoint search results, or in OneDrive users accounts. This allows your users to easily find content from your applications using familiar 365 experiences. And in future releases, the option to disable 365 content discovery across all services can also be configured. Now, while I've shared what SharePoint Embedded is from a high level, you still might be asking, okay, I kind of get it, but where would I want to use this? Let's look at a few examples, scenarios, as they may help you better understand why do you use SharePoint Embedded in your next application. Let's say that you have a very specific path that you want your users or your customers to follow. And part of this process collects data from your users, request different file types to be uploaded such as forms or pictures and resources. And instead of providing your users the flexible SharePoint experience with a series of specific instructions that they must follow, you can instead create your application that guides the user through the process. And along the way, all the data that you collect can be stored as files in a SharePoint Embedded container, along with any files that they upload. Some advantages of using SharePoint Embedded for this scenario instead of SharePoint is that the users are only going to get access to your app's user experience, not your SharePoint environment. In addition, not only are those resources that the user provides separate from your Microsoft 365 entitlements, which allow for simpler resource management, but they're also all subject to the same sensitive classification and records management and all the other features defined in your 365 tenants settings or your users 365 tenant This includes settings defined in purview within your 365 tenant. When you're building applications on top of SharePoint, it's still possible for user with permissions to navigate to the underlying site, depending on their permission level. If a user may be able to perform actions in the SharePoint interface that were not intended by your application, such as changing the site settings, these actions can have unintended consequences for your application or content. But in contrast, SharePoint Embedded is headless, meaning it does not have a user interface other than what is provided by your custom app. If you don't provide a method to change content or settings through your application, it's not going to be possible for a user to bypass this limitation through SharePoint. You have the ability to choose which collaborative features are available in your application, such as sharing. Some of the advantages of using SharePoint's Embedded instead of SharePoint include the following. If you require the collaborative capabilities of SharePoint, which you want to have a highly customized user interface, SharePoint Embedded is the solution for you. It allows you to handle high value content and manage the risk by removing the ability for users to discover or alter the content repository. The application containers can have separate default sharing settings from your OneDrive and SharePoint settings, ensuring logical separation of content from other Microsoft content. Now, what if your application targets end customers who need to upload files, you need simplified experiences and Microsoft 365 document storage capabilities? SharePoint Embedded supports this scenario without requiring access to your Microsoft 365 tenant. For example, if you run an event management organization, you're going to interact with speakers and vendors and sponsors and exhibitors. Vendors are required to send you statements of work and invoices. Sponsors and exhibitors, they need to provide marketing collateral and access to resources, such as booth packages and marketing materials. Speakers are expected to provide bios, session titles and abstracts, as well as slides and resource downloads for the students in their sessions. If you run your business on Microsoft 365, but you don't want to give access to non-employees, SharePoint Embedded is going to give you a solution for this. These users don't require a special license for 365 or as external users of SharePoint. This allows you to keep their data separate from your organization while being managed within your tenant's scope of compliance tools and data compliance requirements. SharePoint Embedded introduces a new type of storage called a container that helps manage content in a scalable way. These containers are created and stored within a Microsoft 365 tenant and the ISV or the line of business application can use the Microsoft Graph API to read from and write to the specific containers for your app. These containers are always part of the customer's Microsoft 365 tenant, regardless of how or where the app's code base is deployed. Containers are associated with a container type, a property that's stamped on every container instance. These container types are owned by one application and each application can only have one type of a container. Let's look at these container types a little bit more. Only the app owning a container type may create instances of that container. A container instance of a container must be associated with a container type. Apps can grant permissions to other apps to create, read, update and or delete container instances of a container type of the owning app. So for example, to allow backup and restore for DLP apps to operate on content in those containers and or create instances of the container type. Now Microsoft 365 customers have different rights for storage usage and features depending on the licenses that they purchased. Now the partition that's created in the customer's 365 tenant by SharePoint embedded apps doesn't count towards your existing 365 entitlements. Instead the partition in the customer's Microsoft 365 tenant that's created by the SharePoint embedded app that's billed separately through an Azure subscription. The billing is based on the pay as you go model or the metered approach which means that you pay for the total storage and the number of API calls and you can find more information about the costs and the billing rates in the Microsoft documentation that I'm referencing here. The way it works is that you associate a container type with a consumer's Microsoft 365 tenant with an Azure subscription. Therefore, all the containers that are linked to that container type will be billed through Azure by the customer to the customer. So how do you create a new SharePoint embedded application? There's a few steps that are involved in this process. So first step is that the app provider and the consumer must both enable SharePoint embedded in their tenants. Technically these can be the same tenant for example in an enterprise customer they can build their own line of business application as a single tenant app and consume it within the same 365 tenant. However, an ISV can act as the provider and create the app in their 365 tenant while their customers can use the app in their own 365 tenants as well. Now step two is that they're going to create a new container type in the app provider's 365 tenant. They then are going to register that container type in the app consumer's 365 tenant and then step four is that app provider creates and deploys an application the code base which can reside anywhere. It's going to use Microsoft Graph APIs to read and write data to the specified consumer's SharePoint embedded containers that exist in the consumer's 365 tenant. Now I created this video during the public preview of SharePoint embedded in December of 2023 so the steps may change prior to and after SharePoint reaches the general availability milestone. So I suggest referring to the docs for the latest steps on how to enable SharePoint embedded in your tenants. In this episode my goal was to share what SharePoint embedded is, some common scenarios and provide a high-level understanding of how it works. What do you think of SharePoint embedded? I'm sure you've got some questions. Do you have any questions though about what I didn't cover? Let me know. Drop a comment below and let me know if you want to see more videos about SharePoint embedded. If you found this video useful please give it a thumbs up and subscribe by smashing that big red subscribe button below the video so you'll see when I publish more videos for full stack developers on Microsoft 365 and Microsoft Azure. Please feel free to reach out to me using the links in the show notes to ask me any questions about SharePoint embedded on LinkedIn or X. Now in my next episode I'm going to go deeper and walk through the process of creating a web application that will create containers as well as read and write files to these containers so you can see what a real SharePoint embedded app looks like. I'm Andrew Connell. Thanks again for watching and I hope to see you in my next episode.