Post

Connect custom knowledge sources to Copilot Studio

Diesen Beitrag auf Deutsch lesen

Use the OnKnowledgeRequested trigger to call a search endpoint, transform results, and provide Copilot Studio with usable knowledge snippets.

A four step flow shows creating a Copilot Studio topic in code view, defining the OnKnowledgeRequested trigger in YAML, calling a search endpoint, and mapping results into System.SearchResults.
Schematic view of the steps described by The Custom Engine, not a screenshot.

TL;DR

Copilot Studio custom knowledge topics use the OnKnowledgeRequested trigger, currently configured in YAML code view. Query variables provide rewritten semantic or keyword searches, while System.SearchResults must receive Content, ContentLocation and Title fields. Copilot Studio uses up to 15 snippets across all knowledge topics, so results should be ranked or limited.

Original by Adi Leibowitz, on The Custom Engine. Read the original

This is our own summary, not a republication or full translation.

Governance takeaway

  • Makers: Create the OnKnowledgeRequested topic in code view, call the search endpoint, and map API fields into the required result format.
  • Admins/CoE: Treat the 15-snippet ceiling as shared across knowledge topics, and require relevance sorting or response limits to control which evidence reaches the agent.

Frequently asked questions

How do I create an OnKnowledgeRequested topic in Copilot Studio?

Create a topic, switch to code view, and define the OnKnowledgeRequested trigger in YAML. The source says UI designer support was unavailable as of September 2025.

Which Copilot Studio variables support a custom search endpoint?

System.SearchQuery provides a semantic-search rewrite, System.KeywordSearchQuery provides a keyword-search rewrite, and System.SearchResults stores formatted results.

How many custom knowledge snippets can Copilot Studio use?

Copilot Studio uses up to 15 snippets across all knowledge topics combined. Return or rank the strongest results before assigning them to System.SearchResults.

This post is licensed under CC BY 4.0 by the author.