Megosztás a következőn keresztül:


Entity registration for conversational language understanding integration

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.

This article discusses adding conversational language understanding (CLU) entities to Copilot Studio copilots. The entities are composed of the following Boolean, string, and number data types. For more information, see Data types. In most cases, you can use prebuilt entities for your projects. If you would like to use CLU entity types with custom JSON resolutions, the following schema examples are provided as a reference.

To set up your environment for mapping CLU entities to Copilot Studio copilots, see Get started with conversational language understanding integration.

The following data types are available for mapping CLU entities:

  • BooleanDatatype: Choice.Boolean
  • StringDatatype: Geography.Location, Regex , List, General.Event, General.Organization, Phone Number, IpAddress, Person.Name, Phone Number, URL
  • NumberDatatype: Number

Note

Composite entities (entities with multiple components) map to StringDatatype.

Schema table

You can use sample JSON code to register entities for copilots you create. Entities resolve to complex data types. You can manually map CLU entities to Copilot Studio data types by copying and pasting the following JSON code blocks for the relevant entity.

Age

{
    "unit": "Year",
    "value": 10
}

Currency

{
    "unit": "Egyptian pound",
    "ISO4217": "EGP",
    "value": 30
}

Temperature

{
    "unit": "Fahrenheit",
    "value": 88
}

Ordinal

{
    "offset": "3",
    "relativeTo": "Start",
    "value": "3"
}

Dimensions

{
    "unit": "KilometersPerHour",
    "value": 24
}

CLU dateTime entity types

DateTime is a special entity type that changes the returned resolution based on the types of user input that are received.

The following examples demonstrate how to configure entities for different types of date and time utterances. You can create your own mappings, based on these examples, depending on the type of result you expect your copilot users to provide.

Date

Example input: Jan 1st, 1995

{
    "dateTimeSubKind": "Date",
    "timex": "1995-01-01",
    "value": "1995-01-01"
}

DateTime (year)

Example input: I'll be back on April 12th

{
    "dateTimeSubKind": "Date",
    "timex": "XXXX-04-12",
    "value": "2022-04-12"
}

DatetimeRange (duration)

Example input: I'm out between 3 and 12 of Sept.

{
    "resolutionKind": "TemporalSpan",
    "timex": "(XXXX-09-03,XXXX-09-12,P9D)",
    "duration": "P9D",
    "begin": "2022-09-03",
    "end": "2022-09-12"
}

DatetimeRange (set)

Example input: Every Tuesday

{ 
    "resolutionKind": "DateTime",
    "dateTimeSubKind": "Set",
    "timex": "XXXX-WXX-2",
    "value": "not resolved"
}

Datetime (since)

Example input: I've been out since August

{
    "resolutionKind": "TemporalSpan",
    "timex": "XXXX-08",
    "begin": "2022-08-01",
    "modifier": "Since"
}

Time

Example input: It's half past seven o'clock

{
    "resolutionKind": "DateTime",
    "dateTimeSubKind": "Time",
    "timex": "T07:30",
    "value": "07:30:00"
}