Conversational language understanding integration overview
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
- A fully trained CLU model. This includes intents for each of Copilot Studio's system topics and for any custom topics you may want to author.
- Enabled deployment of the model (including the key and prediction URL)
- CLU project name and deployment name
- Microsoft Copilot Studio account
- Existing Microsoft Copilot Studio bot
- Ensure that your Copilot Studio language connector is using maker authentication
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 conversational language understanding integration.
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 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.
Related content
Other bot-building features that CLU integration supports include:
- System topics: Use system topics
- Entities and slot filling: Use entities and slot filling in copilots
- CLU best practices: Conversational language understanding best practices - Azure Cognitive Services
- Topic flow interruptions: Design and control conversation flow - Bot Service
- Power Fx expressions: Create expressions using Power Fx