Enrich CRM record summaries with insights from your application (preview)
Important
- This is a production-ready preview feature.
- Production-ready previews are subject to supplemental terms of use.
[This article is prerelease documentation and is subject to change.]
To better understand the context of a meeting that they are preparing for or an email that they are reading, sellers want relevant customer relationship management (CRM) information, such as customer queries, concerns, and notes. Copilot for Sales uses AI to generate a summary of each CRM record. This summary highlights crucial details, such as the sales stage, budget, and projected close date. You can extend the CRM record summary capability that Copilot for Sales provides with insights from your own application.
API description
You must add the following API description to the action. In this way, Copilot for Sales can identify the correct API that must be invoked to enrich the capability.
This action gets additional sales insights related to a CRM record that will be shown in the C4S record summary card. The action enhances the existing skills of copilot for sales.
Input parameters
Copilot for Sales is designed to provide the following input parameters to your APIs.
Name | Data type/format | Required | Details | Description to add in the action |
---|---|---|---|---|
recordType | String | Yes | The type of entity or object in CRM that related insights such as activities are requested for. The value includes the language-agnostic unique name of the entity or object type, not the display name that can be localized. Examples include account and opportunity. | This input indicates the entity or object type in CRM for which insights are requested. |
recordId | String | Yes | The unique identifier of the CRM record. | This input indicates the unique identifier of the CRM record for which insights are requested. |
startDateTime | String in 'date-time' format | No | The start date and time to look up insights. The format follows the OpenAPI specification. Here is an example: 2017-07-21T17:32:28Z. | This input indicates the start date and time for insights requested. |
endDateTime | String in 'date-time' format | No | The end date and time to look up insights. The format follows the OpenAPI specification. Here is an example: 2017-07-21T17:32:28Z. | This input indicates the end date and time for insights requested. |
top | Integer | No | The number of insights to fetch. | This input indicates the number of insights to fetch. |
skip | Integer | No | The number of insights to skip. | This input indicates the number of insights to skip. |
crmType | String | No | The valid values are Dynamics 365 and Salesforce. | This input indicates the type of CRM in which the CRM record exists, for which insights are requested. |
crmOrgUrl | String | No | The host name of the CRM organization, such as contoso.crm.dynamics.com. | This input indicates the URL of the CRM environment in which the CRM record exists, for which insights are requested. |
Output parameters
Copilot for Sales expects to receive a list of insights (objects) from your APIs, and it expects each insight to have specific parameters. To ensure that Copilot for Sales can correctly parse the output, the response structure must adhere to the guidelines in the following table.
Parameter | Data type | Required | Details |
---|---|---|---|
value | Array | Yes | A list of insights (objects) that are defined as described in the Schema for insights section. |
hasMoreResults | Boolean | No | A value that indicates whether more results are available. |
Schema for insights
Name | Data type/Format | Required | Details | Description to be added in action |
---|---|---|---|---|
title | String | Yes | The title of the insight on the citation card. It's the natural language title of the insight in the language that is specified through the Accept-Language request header. Here is an example: Contract signed. |
This output indicates the title of the activity in the citation card. |
description | String | Yes | The description of the insight. It's shown as bullet points in the record summary and is the natural language description of the insight in the language that is specified through the Accept-Language header. Here is an example: Kenny, Logan, and two others signed the Contoso 2023 Renewal Contract on 9/7/2023. |
This output indicates the description of the insight. |
dateTime | String in 'date-time' format | Yes | The date and time of the activity in UTC format. If the activity has both a start time and an end time, the application must determine which time to show. The format follows the OpenAPI specification. Here is an example: 2017-07-21T17:32:28Z. | This output indicates the time associated with the insight. |
url | String | No | A valid URL to open the activity in the partner application. | This output indicates the URL to open insight. |
additionalProperties | An object that has Property Name and Property Value values of the String type | No | Additional properties that are shown in the detailed view. Property names and values are in natural language in the language that is specified through the { |
This output indicates additional properties displayed in the detailed view of the insight. |
Note
Although the API requirements for extending email summary capabilities and record summary capabilities might look similar, they must be added as separate actions in the connector.
Example
{
"value": [
{
"title": "Contract signed",
"description": "You have 5 connections in Fourth Coffee Inc",
"dateTime": "2024-05-07T03:28:38.0667701Z",
"url": null,
"additionalProperties": {
"Contract name": "50 Cafe-A-100 Automatic Renewal Contract",
"Signed by": "Alberto Burgos, Tony",
"Signed": "9/7/23"
}
},
{
"title": "Contract signed",
"description": "Multiple stakeholders from Fourth Coffee have visited the Contoso website four times in the last four months",
"dateTime": "2024-05-07T03:28:38.0669445Z",
"url": null,
"additionalProperties": {
"Contract name": "50 Cafe-A-100 Automatic Renewal Contract",
"Signed by": "Alberto Burgos, Tony",
"Signed": "9/7/23"
}
}
],
"hasMoreResults": false
}
The example in the following image shows how the output of the API is mapped to the record summary.
Legend:
- Section that shows insights from the partner application. The section title is derived from the name of the Microsoft Power Platform connector.
- Descriptions of the insight from the API response.
- Citation numbers that can be selected to view details about the insight.
- Citation card that shows details about the insight.
- Icon and title of the insight. The icon is retrieved from the Microsoft Power Platform connector metadata. The title text is the title of the insight from the API response.
- Additional properties of the insight from the API response.
- Name of the partner application. The name that is shown is the name of the Microsoft Power Platform connector.
- Link that can be selected to view insight details in the partner application. It's based on the URL of the insight in the API response.
Related information
View record summary
Add new question and answer (Q&A) capabilities to the Sales chat
Enrich email summaries with insights from your application
Enrich key sales information with insights from your application
Enrich CRM record details with insights from your application
Extend Microsoft 365 Copilot for Sales with partner applications
Build Copilot for Sales extensions