Conversational language understanding integration overview

You can integrate your conversational Language Understanding (CLU) model with a Copilot Studio agent. 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 Copilot Studio) and the Azure Language Studio provides natural language processing (NLP) features for analyzing conversational text.

For projects created with this capability, agent creators can now access existing CLU model intents and entities directly in Copilot Studio. Copilot Studio users can now map CLU intents to trigger agent dialogs in the same way as native Copilot Studio utterance triggers. Entities imported from a CLU model appear on the Copilot Studio Entities page and can be used alongside 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 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 agents that you want to take advantage of CLU integration, you'll need to map the CLU model to Copilot Studio, then you can update the agent’s trigger phrases to bind each topic to a corresponding CLU intent. You can also manually manage the relationship between the CLU model and Copilot Studio.

Prerequisites

Key concepts

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

CLU connectors

A connector is a wrapper around an API that allows the Azure Cognitive Service to talk to 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, Copilot Studio doesn’t currently validate connectors.

Connections in 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.

Copilot Studio connections are environment specific. When you import an agent, 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 Copilot Studio variables, including system variables, see Work with variables.

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 Copilot Studio prebuilt entities along with CLU entities.

Other agent-building features that CLU integration supports include: