Skip to content

Commit 129c95e

Browse files
gnjosephgrjosephandrewconnell
authoredMar 12, 2025
SharePoint Embedded copilot documentation reorganization and content updates (#10147)
* Fix copilots to copilot Delete sections Move sections over to advanced topics Reorganize side bar navigation * Fix broken links * Fix casing * Update SPE copilot license and prerequisites * correct acronym --------- Co-authored-by: grjoseph <[email protected]> Co-authored-by: Andrew Connell <[email protected]>
1 parent da9f458 commit 129c95e

File tree

5 files changed

+111
-115
lines changed

5 files changed

+111
-115
lines changed
 

‎docs/embedded/development/declarative-agent/spe-da-adv.md

+83-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: SharePoint Embedded copilots Advanced Topics
3-
description: Learn how the semantic index powers Retrieval-Augmented Generation (RAG) to provide accurate, context-aware AI responses in SharePoint Embedded copilots.
2+
title: SharePoint Embedded copilot Advanced Topics
3+
description: Learn how the semantic index powers Retrieval-Augmented Generation (RAG) to provide accurate, context-aware AI responses in SharePoint Embedded copilot.
44
ms.date: 3/03/2025
55
ms.localizationpriority: high
66
---
@@ -9,15 +9,95 @@ ms.localizationpriority: high
99

1010
This advanced guide covers how the semantic index powers Retrieval-Augmented Generation (RAG) to provide accurate, context-aware AI responses. We’ll explore how these concepts work together to ensure your copilot retrieves relevant information from your data and returns grounded answers.
1111

12+
## Caveats
13+
14+
### Configuration
15+
16+
#### Required ContainerType Configuration
17+
18+
##### DiscoverabilityDisabled
19+
20+
This [flag](../../administration/developer-admin/dev-admin.md#container-type-configuration-properties) prevents copilot from discovering [drive items](/graph/api/resources/driveitem) in the specified container type. If you have an existing container type and are setting this value to false, please wait 24 hours to ensure the container type configuration is fully propagated before creating a new container, uploading files there, and trying out copilot on folders/files of that new container.
21+
22+
The following is an example of how to set the flag to false with [Set-SPOContainerTypeConfiguration](/powershell/module/SharePoint-online/set-spocontainertypeconfiguration#examples)
23+
24+
```powershell
25+
Set-SPOContainerTypeConfiguration -ContainerTypeId 4f0af585-8dcc-0000-223d-661eb2c604e4 -DiscoverabilityDisabled $false
26+
```
27+
28+
Discoverability can also be disabled using the Visual Studio Code SharePoint Embedded extension
29+
30+
![Using the VS Code extension for SPE to set DiscoverabilityDisabled to false](../../images/speco-vscodeextensiondisablediscovery.png)
31+
32+
##### CSP Policies
33+
34+
The Content-Security-Policy (CSP) for embedded chat hosts ensures that only specified hosts can load the chat component. This helps in securing the application by restricting which domains can embed the chat component.
35+
36+
It is intended to allow consuming tenant SPE admins to set an allowlist of hosts that they will allow to embed the SPE copilot in an iFrame. Specifically, the value they set here will be used in a Content-Security-Policy header as a frame-ancestors value.
37+
38+
> [!NOTE]
39+
>
40+
> If this configuration is not set, the [Content-Security-Policy](https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Security-Policy) will default be set to
41+
> [frame-ancestors](https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors): ‘none’ which means no one can embed the copilot.
42+
43+
Below are example commands to use the [Connect to SharePoint Online using PowerShell](/powershell/sharepoint/sharepoint-online/connect-sharepoint-online) commands:
44+
45+
- [Set-SPOApplication](/powershell/module/SharePoint-online/set-spoapplication) to set the `CopilotEmbeddedChatHosts` property.
46+
- [Get-SPOApplication](/powershell/module/SharePoint-online/get-spoapplication) to get the `CopilotEmbeddedChatHosts` property.
47+
48+
```powershell
49+
# Note this MUST be run in Windows PowerShell. It will not work in PowerShell.
50+
Import-Module -Name "Microsoft.Online.SharePoint.PowerShell"
51+
Connect-SPOService "https://<domain>-admin.sharepoint.com"
52+
# Login with your admin account.
53+
...
54+
55+
Set-SPOApplication -OwningApplicationId 423poi45 -CopilotEmbeddedChatHosts "http://localhost:3000 https://contoso.sharepoint.com https://fabrikam.com"
56+
57+
# This will set the container type configuration “CopilotEmbeddedChatHosts” accordingly.
58+
...
59+
60+
Get-SPOApplication -OwningApplicationId <OwningApplicationId> | Select-Object CopilotEmbeddedChatHosts
61+
62+
OwningApplicationId : <OwningApplicationId>
63+
OwningApplicationName : SharePoint Embedded App
64+
Applications : {<OwningApplicationId>}
65+
SharingCapability : ExternalUserAndGuestSharing
66+
OverrideTenantSharingCapability : False
67+
CopilotEmbeddedChatHosts : {http://localhost:*}
68+
```
69+
70+
#### Optional Configuration
71+
72+
##### Authentication and 3P Cookies
73+
74+
The iFrame used by SharePoint Embedded copilot attempts to authenticate using third-party cookies. If third-party cookies are disabled in the user's browser, the iFrame will not be able to authenticate automatically. In such cases, a popup will be displayed prompting the end user to log in manually. This ensures that the authentication process can still be completed even when third-party cookies are not available.
75+
1276
## Advanced Topics
1377

78+
### Application Scoping
79+
80+
Application scoping in SharePoint Embedded copilot (SPE copilot) involves defining the boundaries and context within which the tool operates, ensuring its features and capabilities are tailored to meet the specific needs of different applications. This process helps customize the copilot's functionality, making it more effective and relevant for various use cases.
81+
82+
When SPE copilot users query the LLM, it will only have access to files that the **User+Application** have access to. The effective permissions for the copilot session will be the intersection of your SharePoint Embedded application's permissions and the user's permissions.
83+
84+
![Venn Diagram with SPE application access on left, SPE copilot in middle and consuming tenant user on right, overlapped area is what copilot can access](../../images/speco-appscopingvenn.png)
85+
86+
### Information Architecture
87+
88+
Files in SharePoint Embedded are naturally [semantic indexed](spe-da-adv.md#semantic-index). This semantic index underpins retrieval augmented generation [(RAG)](spe-da-adv.md#rag--retrieval-augmented-generation-) workflows by providing relevant context from your stored content at query time. In essence, it [grounds](spe-da-adv.md#grounding) the AI responses, ensuring they directly reference accurate information in your containers rather than relying on general knowledge alone.
89+
90+
![How RAG works in SPE](../../images/speco-ragm365.png)
91+
92+
With SharePoint Embedded copilot, you can further ground the large language models (LLM) reponses on [specific files or drive items.](spe-da-adv.md#scoping-your-copilot-to-specific-content).
93+
1494
### Semantic index
1595

1696
[Learn more about semantic index for Microsoft 365 Copilot here](/microsoftsearch/semantic-index-for-copilot)
1797

1898
The semantic index allows for quick and accurate searches based on data similarity. This means it can find the most relevant information not just by exact matches, but also by understanding the context and meaning.
1999

20-
### RAG ( Retrieval-Augmented Generation )
100+
### Retrieval-Augmented Generation (RAG)
21101

22102
RAG relies on having relevant source materials stored in a repository, which can be queried at runtime​, data is retrieved from the index and is used to augment the prompt sent to the large language model (LLM)​:
23103

0 commit comments

Comments
 (0)
Please sign in to comment.