Skip to content

Improve SharePoint Embedded docs for LLM awareness - #10990

Open
ShreyasSar26 wants to merge 1 commit into
SharePoint:mainfrom
ShreyasSar26:spe-awareness-docs-improvements
Open

Improve SharePoint Embedded docs for LLM awareness#10990
ShreyasSar26 wants to merge 1 commit into
SharePoint:mainfrom
ShreyasSar26:spe-awareness-docs-improvements

Conversation

@ShreyasSar26

Copy link
Copy Markdown
Contributor

Summary

These changes lift the LLM awareness score (currently 45%, 0 of 4 scenarios pass; target 90) measured by the nightly SPE-Awareness-Evals suite. That eval asks a model — unaided, with web search — to solve four realistic developer problems that never name SharePoint Embedded (SPE), and scores how often it recommends SPE on its own and states the right facts.

The gap is positioning at the front door, not doc quality. This PR reframes the entry content around real problems, adds the missing "when to choose SPE / vs alternatives" content, and states the graded facts on the pages agents land on.

Changes (8 recommendations)

# File Change
R1 scenarios-and-use-cases.md Rewritten as four problem-first scenarios (multitenant SaaS storage, Office co-authoring, AI grounding, compliant API-only store), each: problem → why alternatives fall short → why SPE → the facts
R2 plan/when-to-choose-sharepoint-embedded.md New decision guide with comparison tables (vs Azure Blob, Google Drive/Box/Dropbox, standard SharePoint sites)
R3 plan/office-collaboration-instead-of-building.md, plan/ground-ai-without-a-vector-db.md New "don't build it" pages targeting the two weakest scenarios
R4 overview.md "Is SPE right for you?" router, AI/discoverability line, disambiguation note (not sites/SPFx/OneDrive/Blob)
R5 build/agent-experiences.md, build/sharepoint-embedded-knowledge-source.md State content-discoverability (container-type setting), Microsoft Search API (ContainerTypeId), Purview facts
R6 build/open-office-files.md Co-authoring, AutoSave, versioning, sharing stated up front
R7 build/manage-files.md, reference/glossary.md API-only, recycle bin, 93-day restore, no end-user license; new glossary terms
R8 llms.txt, toc.yml Value-first routing and TOC entries for the new plan pages

How to verify

Dispatch create-spe-app-eval-daily.yml (or RunLocalEvaluation.ps1 -EvalFiles evals/SPE-Awareness-Evals.json), 5 rounds × all models. Watch each scenario clear 70% (pass) then 75% (strong); target overall ≥ 90, 4/4 pass.

Note: because the eval uses live web search, these changes move the score only after the pages are published to the public Learn site. Awareness is also shaped by SPE's broader footprint in model training data.

Notes for reviewers

  • All new and edited content follows the existing conventions: frontmatter, **Applies to:**, <!-- agent: --> metadata, sentence-case headings, active voice.
  • No changes outside docs/embedded/ and docs/toc.yml.

…d assertion facts

Rewrites the front-door docs so models recommend SharePoint Embedded for
real developer problems, and states the graded facts on the pages agents land on.

- Rewrite scenarios-and-use-cases.md as four problem-first scenarios (R1)
- Add plan/when-to-choose-sharepoint-embedded.md with comparison tables (R2)
- Add plan/office-collaboration-instead-of-building.md and plan/ground-ai-without-a-vector-db.md (R3)
- Overview: 'Is SPE right for you?' router, AI/discoverability line, disambiguation note (R4)
- agent-experiences.md + knowledge-source: state discoverability, Search API, Purview facts (R5)
- open-office-files.md: co-authoring, AutoSave, versioning, sharing up front (R6)
- manage-files.md + glossary: API-only, recycle bin, 93-day restore, no license (R7)
- llms.txt + toc.yml: value-first routing and new plan pages (R8)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 022e6c80-2ba9-480e-9d52-4826b8a04d26
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 056abab:

💡 Validation status: suggestions

File Status Preview URL Details
docs/embedded/build/manage-files.md 💡Suggestion View Details
docs/embedded/plan/ground-ai-without-a-vector-db.md 💡Suggestion View Details
docs/embedded/build/agent-experiences.md ✅Succeeded View
docs/embedded/build/open-office-files.md ✅Succeeded View
docs/embedded/build/sharepoint-embedded-knowledge-source.md ✅Succeeded View
docs/embedded/llms.txt ✅Succeeded
docs/embedded/overview.md ✅Succeeded View
docs/embedded/plan/office-collaboration-instead-of-building.md ✅Succeeded View
docs/embedded/plan/when-to-choose-sharepoint-embedded.md ✅Succeeded View
docs/embedded/reference/glossary.md ✅Succeeded View
docs/embedded/scenarios-and-use-cases.md ✅Succeeded View
docs/toc.yml ✅Succeeded View

docs/embedded/build/manage-files.md

  • Line 156, Column 3: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL. Otherwise, remove the view parameter. URL: /graph/api/filestoragecontainer-restore-recyclebinitem?view=graph-rest-beta

docs/embedded/plan/ground-ai-without-a-vector-db.md

  • Line 0, Column 0: [Suggestion: filename-contains-stop-word - See documentation] Stop words like 'a', 'or', 'and', 'the', and 'in' are discouraged in filenames.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

Comment thread docs/embedded/llms.txt
@@ -4,11 +4,14 @@

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this file is published: https://learn.microsoft.com/sharepoint/dev/embedded/llms.txt

Why do we have llms.txt if it's not published?

Comment thread docs/embedded/overview.md

SharePoint Embedded fits when you're trying to do any of these tasks:

- **Store files for a multitenant SaaS app** so each customer's content stays in their own Microsoft 365 tenant. See [Store files for a multitenant SaaS app](scenarios-and-use-cases.md#scenario-store-files-for-a-multitenant-saas-app).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sounds repetitive. The link is the same as the bolded text.

Suggested change
- **Store files for a multitenant SaaS app** so each customer's content stays in their own Microsoft 365 tenant. See [Store files for a multitenant SaaS app](scenarios-and-use-cases.md#scenario-store-files-for-a-multitenant-saas-app).
- **[Store files for a multitenant SaaS app](scenarios-and-use-cases.md#scenario-store-files-for-a-multitenant-saas-app)** so each customer's content stays in their own Microsoft 365 tenant.

Same for the next few points

Comment thread docs/embedded/overview.md

- Core content management — any file type, folders, search, sharing, versioning, recycle bin.
- Office collaboration — view, edit, and co-author Word, Excel, and PowerPoint on the web and desktop.
- AI and agent grounding — make content discoverable to Microsoft 365 Copilot through the container type's content-discoverability setting, and search it with the Microsoft Search API scoped by `ContainerTypeId`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- AI and agent grounding — make content discoverable to Microsoft 365 Copilot through the container type's content-discoverability setting, and search it with the Microsoft Search API scoped by `ContainerTypeId`.
- AI and agent grounding — make content discoverable to Microsoft 365 Copilot through the container type's content-discoverability setting, and search it with the Microsoft Search API scoped to your app's content.

We haven't introduced the concept of container type at this point.

ms.reviewer: stpuceli
title: Scenarios and Use Cases
description: Common developer problems that SharePoint Embedded solves, from multitenant SaaS storage to Office co-authoring, AI grounding, and compliant document management.
ms.date: 08/13/2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ms.date: 08/13/2026
ms.date: 07/13/2026

Shouldn't update ms.date (the latest skill adds this rule, by the way--make sure you're using the latest version)


# Scenarios and use cases for SharePoint Embedded

**Applies to:** All

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we were starting all articles with this?


### The problem

You build a multitenant SaaS product, such as contract management for enterprise legal teams. Your biggest blocker is file storage. Enterprise customers won't accept their documents living in your storage. Their IT teams want to apply their own data loss prevention (DLP) and retention rules. You still need full control of the files from your app: create, read, organize, permission, and delete, all through APIs.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You build a multitenant SaaS product, such as contract management for enterprise legal teams. Your biggest blocker is file storage. Enterprise customers won't accept their documents living in your storage. Their IT teams want to apply their own data loss prevention (DLP) and retention rules. You still need full control of the files from your app: create, read, organize, permission, and delete, all through APIs.
You build a multitenant SaaS product, such as contract management for enterprise legal teams. Your biggest blocker is file storage. Enterprise customers won't accept their documents living in your storage. Their IT teams want to apply their own security and compliance policies, like data loss prevention (DLP) and retention rules. You still need full control of the files from your app: create, read, organize, permission, and delete, all through APIs.


### The problem

You have a custom app, and your top feature request is "let me edit documents without leaving the app." Today you store files and hand out download links. Users want to open a Word or Excel file and co-author it in real time, with AutoSave and version history, plus sharing with an external person through a link.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You have a custom app, and your top feature request is "let me edit documents without leaving the app." Today you store files and hand out download links. Users want to open a Word or Excel file and co-author it in real time, with AutoSave and version history, plus sharing with an external person through a link.
You have a custom app, and your top feature request is "let me edit Office documents the same way I'm used to." Today you store files and hand out download links. Perhaps you even use a Web Application Open Platform Interface (WOPI) host. But your users want to open a Word or Excel file and co-author it in real time, with AutoSave, version history, sharing, and all the features of Office for the web, Office Desktop, and Microsoft 365 for mobile.

Key here is to remove "without leaving the app" (because of open in Office Desktop would leave the app, and Office for the web doesn't iframe)

### Examples
- **Real-time co-authoring** in Office for the web and Office desktop clients.
- **AutoSave** and **automatic version history** for Word, Excel, and PowerPoint.
- **Sharing** through email invitations, shareable links, and @mentions.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sharing in SPE doesn't send email invitations IIRC (by design)
@mentions only applies to licenced users

- Deal room applications
- Shared research environments
- Content **stays in the customer's Microsoft 365 tenant**.
- **Content discoverability is a container-type setting** that controls whether Microsoft 365 Copilot can surface the content.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Content discoverability is a container-type setting** that controls whether Microsoft 365 Copilot can surface the content.
- **Content discoverability is configurable for your app** and controls whether Microsoft 365 Copilot can surface the content.

"Container type" hasn't been introduced here. Also, "container type" and not "container-type". It looks like this is missing some of the rules encoded in the doc updater skill. Let's figure out what's going on.

- Shared research environments
- Content **stays in the customer's Microsoft 365 tenant**.
- **Content discoverability is a container-type setting** that controls whether Microsoft 365 Copilot can surface the content.
- Retrieve content with the **Microsoft Search API**, scoped by `ContainerTypeId`, or a Microsoft Foundry knowledge source.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Retrieve content with the **Microsoft Search API**, scoped by `ContainerTypeId`, or a Microsoft Foundry knowledge source.
- Retrieve content with the **Microsoft Search API** or a Microsoft Foundry knowledge source, scoped to your app's content.

- Content **stays in the customer's Microsoft 365 tenant**.
- **Content discoverability is a container-type setting** that controls whether Microsoft 365 Copilot can surface the content.
- Retrieve content with the **Microsoft Search API**, scoped by `ContainerTypeId`, or a Microsoft Foundry knowledge source.
- **Microsoft Purview** DLP, retention, and eDiscovery apply, and nothing is exposed to Copilot until you enable discoverability.

@dluces Diego Luces (dluces) Aug 13, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Microsoft Purview** DLP, retention, and eDiscovery apply, and nothing is exposed to Copilot until you enable discoverability.
- **Microsoft Purview** DLP, retention, and eDiscovery apply, and nothing is exposed to Copilot until discoverability is enabled.

Refer internally to admin governance for why this wording is needed


### Why use SharePoint Embedded instead of SharePoint Online?
- **API-only** through Microsoft Graph, with no SharePoint UI to bypass.
- Full lifecycle: upload and download, folders, versioning, **recycle bin**, and **93-day container restore**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Full lifecycle: upload and download, folders, versioning, **recycle bin**, and **93-day container restore**.
- Full lifecycle: upload and download, folders, versioning, **recycle bin**, and **93-day content restore**.

Applies to both containers and files/folders

next: ../build/open-office-files.md
-->

If your app stores files and users ask to edit documents without leaving it, you don't need to build a collaboration engine. SharePoint Embedded lets your app open Word, Excel, and PowerPoint files for real-time co-authoring, backed by the same Office service Microsoft 365 uses.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"without leaving it" is not something SPE offers

ms.localizationpriority: high
---

# Add Office editing without building it

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This article isn't providing any value on top of what you added to the Scenarios and Use Cases article. Let's add some value. You're linking to this article from that other article and the reader will come to another page that says exactly the same thing.


Reconsider or choose another option when:

- You need a **ready-made, no-code end-user UI**. SharePoint Embedded is API-only and has no interface of its own.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be a good hook for SharePoint Online instead of leaving it open.


- You need a **ready-made, no-code end-user UI**. SharePoint Embedded is API-only and has no interface of its own.
- You **don't build an application**. Every SharePoint Embedded scenario involves calling Microsoft Graph from an app.
- You need collaborative sites, portals, or intranet features. Use **standard SharePoint** instead.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's "standard SharePoint". You probably mean "SharePoint Online"

I believe I saw this elsewhere and didn't flag it. Let's avoid "standard SharePoint" and use the actual product name.

- You **don't build an application**. Every SharePoint Embedded scenario involves calling Microsoft Graph from an app.
- You need collaborative sites, portals, or intranet features. Use **standard SharePoint** instead.

## SharePoint Embedded vs Azure Blob Storage

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## SharePoint Embedded vs Azure Blob Storage
## SharePoint Embedded vs blob storage

Don't compare against Azure Blob Storage but in general blob storage solutions


| Consideration | SharePoint Embedded | Azure Blob Storage |
|---|---|---|
| Where content lives | The customer's Microsoft 365 tenant | Your Azure subscription |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Where content lives | The customer's Microsoft 365 tenant | Your Azure subscription |
| Where content lives | The customer's Microsoft 365 tenant | Your storage account |

|---|---|---|
| Where content lives | The customer's Microsoft 365 tenant | Your Azure subscription |
| Compliance | Inherits the customer tenant's Microsoft Purview DLP, retention, and eDiscovery | You build the compliance layer yourself |
| Office co-authoring | Built in for Word, Excel, and PowerPoint | Not available |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Office co-authoring | Built in for Word, Excel, and PowerPoint | Not available |
| Office co-authoring | Built in for Word, Excel, and PowerPoint | Not generally available |

Technically somewhat available in CSPP+ with a WOPI host, with limited capabilities

| Consideration | SharePoint Embedded | Google Drive, Box, or Dropbox APIs |
|---|---|---|
| Data residency | Stays in the customer's Microsoft 365 tenant | Stored in the provider's cloud |
| Customer-enforced policy | Customer admin applies their own DLP and retention | Limited customer control |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Customer-enforced policy | Customer admin applies their own DLP and retention | Limited customer control |
| Customer-enforced policy | Customer's existing Microsoft 365 policies apply | Limited customer control |

| End-user licensing | No per-seat license required for end users | Often per-seat licensing |
| Native Office editing | Built-in Word, Excel, and PowerPoint co-authoring | Conversion or add-ons required |

## SharePoint Embedded vs standard SharePoint sites

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## SharePoint Embedded vs standard SharePoint sites
## SharePoint Embedded vs SharePoint Online sites

| User interface | Headless and API-only; your app owns the UX | Built-in site UI users can browse |
| Content isolation | Dedicated containers your app controls | Shared site and library structure |
| Storage entitlements | Separate, metered billing | Counts against Microsoft 365 storage |
| Bypass risk | Users can't bypass your app through a site | Users with permission can open the site directly |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a note on API quota, higher quota for SPE

| Owning application | The Microsoft Entra ID application registration strongly coupled with a container type; each owning app can own one container type at a time. See [app architecture](../plan/app-tenant-architecture.md). |
| Partition | The API-only SharePoint storage partition created in a consuming tenant for SharePoint Embedded app documents. See [SharePoint Embedded overview](../overview.md). |
| Partition | The API-only SharePoint storage partition created in a consumer's Microsoft 365 tenant for SharePoint Embedded app documents. See [SharePoint Embedded overview](../overview.md). |
| Content discoverability | A container type setting that controls whether content in its containers can surface in Microsoft 365 experiences, including Microsoft 365 Copilot. See [add Copilot and agent experiences](../build/agent-experiences.md). |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Content discoverability | A container type setting that controls whether content in its containers can surface in Microsoft 365 experiences, including Microsoft 365 Copilot. See [add Copilot and agent experiences](../build/agent-experiences.md). |
| Content discoverability | A SharePoint Embedded app setting that controls whether its content can surface in Microsoft 365 experiences, including Microsoft 365 Copilot. See [add Copilot and agent experiences](../build/agent-experiences.md). |

| Partition | The API-only SharePoint storage partition created in a consumer's Microsoft 365 tenant for SharePoint Embedded app documents. See [SharePoint Embedded overview](../overview.md). |
| Content discoverability | A container type setting that controls whether content in its containers can surface in Microsoft 365 experiences, including Microsoft 365 Copilot. See [add Copilot and agent experiences](../build/agent-experiences.md). |
| Recycle bin | Storage for soft-deleted files in a container, so users can restore items before permanent deletion. See [upload, download, and manage files](../build/manage-files.md). |
| Container restore | Recovery of a deleted container within 93 days of deletion, before permanent removal. See [archive and restore containers](../build/archive-restore-containers.md). |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Container restore | Recovery of a deleted container within 93 days of deletion, before permanent removal. See [archive and restore containers](../build/archive-restore-containers.md). |
| Content restore | Recovery of deleted content within 93 days of deletion, before permanent removal. See [archive and restore containers](../build/archive-restore-containers.md). |

ms.localizationpriority: high
---

# Ground AI on enterprise content without an external vector database

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as the office collaboration article. It doesn't provide more value than what's already in Scenarios and Use Cases.


Complete [Upload, download, and manage files](manage-files.md) first so your app has files to launch.

When you store Office files in a SharePoint Embedded container, your app gets a full collaboration stack without building one. Word, Excel, and PowerPoint files support real-time co-authoring, AutoSave, automatic version history, and sharing through email invitations, shareable links, and @mentions, with scoped access levels. You don't need to build a collaboration engine. For the decision context, see [Add Office editing without building it](../plan/office-collaboration-instead-of-building.md).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mentions require user licence FYI, probably good to not overpromise (maybe add a disclaimer)

@andrewconnell Andrew Connell (andrewconnell) added the pr:awaiting-peer-reviews Awaiting the requested reviewers to complete their review. label Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:awaiting-peer-reviews Awaiting the requested reviewers to complete their review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants