Conversational language understanding integration overview

Important

Power Virtual Agents capabilities and features are now part of Microsoft Copilot Studio following significant investments in generative AI and enhanced integrations across Microsoft Copilot.

Some articles and screenshots may refer to Power Virtual Agents while we update documentation and training content.

You can integrate your conversational Language Understanding (CLU) model with a Microsoft Copilot Studio bot. Conversational language understanding is one of the custom features offered by Azure Cognitive Service for Language. It is a cloud-based service that applies machine-learning intelligence to enable you to build natural language understanding component to be used in an end-to-end conversational application. Language service APIs are available (but not required for you to integrate with Microsoft Copilot Studio) and the Azure Language Studio provides natural language processing (NLP) features for analyzing conversational text.

For projects created with this capability, bot creators can now access existing CLU model intents and entities directly in Microsoft Copilot Studio. Microsoft Copilot Studio users can now map CLU intents to trigger bot dialogs in the same way as native Microsoft Copilot Studio utterance triggers. Entities imported from a CLU model appear on the Microsoft Copilot Studio Entities page and can be used alongside Microsoft Copilot Studio prebuilt entities. Bot creators can add new question nodes in a topic and select available entities and intents from the imported CLU model. CLU entities are bound to equivalent Microsoft Copilot Studio objects. Users specify the name, the data type, and the JSON structure of a custom data type, if desired for each entity.

Note

For existing bots that you want to take advantage of CLU integration, you'll need to map the CLU model to Microsoft Copilot Studio, then you can update the bot’s trigger phrases to bind each topic to a corresponding CLU intent. You can also manually manage the relationship between the CLU model and Microsoft Copilot Studio.

Prerequisites

Key concepts

The concepts discussed in this article help you understand how to integrate CLU models with Microsoft Copilot Studio projects. For more information, see Get started with language understanding.

CLU connectors

A connector is a wrapper around an API that allows the Azure Cognitive Service to talk to Microsoft Copilot Studio. It provides a way for users to connect their accounts and apply a set of prebuilt actions and triggers to build their apps and workflows. For more information, see Azure Cognitive Service for Language - Connectors.

Power Platform connectors allow Microsoft services to talk to the CLU API. For more information, see Power Platform and Azure Logic Apps connectors documentation - Connectors. Although you can import any connector types, Microsoft Copilot Studio doesn’t currently validate connectors.

Connections in Microsoft Copilot Studio

A connection is a stored authentication credential for a connector, for example OAuth credentials for the SharePoint connector. A connection reference is a solution component that contains a reference to a connection about a specific connector.

Microsoft Copilot Studio connections are environment specific. When you import a bot, you need to set up a connection for it. We offer a standard way of achieving this capability in Power Platform by way of a Connection reference. For more information, see Connection references in solutions - Power Apps.

External recognizers

CLU integration supports specific external recognizers. The OnRecognize trigger fires in the following scenarios:

  • When a topic is triggered: LanguageUnderstandingReason.TriggerTopic

  • When a question node does not support interruptions and requires an answer: LanguageUnderstandingReason.AnswerQuestion

  • When a question node supports interruptions and requires an answer: LanguageUnderstandingReason.AnswerQuestionWithInterruptions

External intents

CLU integration supports recognized external intents that utilize the System.Recognizer.IntentOptions system variable in the following scenarios:

  • Reuse TopicId for the external intent id
  • Reuse TriggerId for the external intent id
  • Create a new property IntentId for the external intent id
  • System variable(s) that support the reason for triggering the recognizer
Property name Type Description
DisplayName String The display name for the recognized intent; localized in the current language and to be shown in the DYM prompt (if applicable)
Score Number The recognizer score
TopicId String The Dataverse schema name of the topic
TriggerId String The unique ID of the trigger within the AdaptiveDialog topic

For a complete list of Microsoft Copilot Studio variables, including system variables, see Use variables - Microsoft Copilot Studio.

Mix and match entity component types

CLU entities include relevant information extracted from NLU utterances. An entity can be extracted using different methods. They can be learned through context, mixed and matched from a list, or detected by a prebuilt recognized entity. For a complete list of entity component types, see Component Types.

Note

You can also use Microsoft Copilot Studio prebuilt entities along with CLU entities.

Other bot-building features that CLU integration supports include: