Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to: Dynamics 365 Customer Insights
Note
- The tools and examples in this documentation illustrate current capabilities. Tool names, descriptions, parameters, response formats, and available functionality can change over time.
- When you build agents, integrations, or orchestration logic, don't hard-code dependencies on specific tool names, parameter structures, tool metadata, or response schemas. Instead, design your solution to discover and use available tools at runtime.
- As the platform evolves, Microsoft might add, remove, rename, or modify tools and tool metadata. Designing against capabilities rather than specific tool identifiers helps maintain compatibility across service updates.
Use this capability when you hold a record identifier from a source system and want the unified Customer Insights customer it was stitched into.
What it does
Customer Insights ingests records from many source systems—for example a loyalty program or an ERP—and stitches them into one unified profile. This capability takes a source entity name and a source record ID and returns the unified customer ID that record maps to.
Use it when you have an ID from an ingested source table and need the Customer 360 ID before reading a customer's details, segments, measures, or predictions. If no unified profile maps to that source record, the assistant tells you nothing was found.
Try prompts like
- Which unified customer does this loyalty record map to in Customer Insights?
- Map a source lead record to its unified Customer Insights customer.
- We ingested a record from marketing—resolve which stitched Customer Insights profile it became.
- Resolve an ERP customer record to its Customer Insights customer ID.
- Find the unified profile for this source-system record.
What you'll see in chat
The assistant replies with the unified customer ID that the source record maps to. If no unified profile is linked to that record, it tells you the customer wasn't found.
Helpful tips
- Provide both the source entity name (the logical name of the ingested table, such as
contactorloyaltymember) and the source record's key value. - If you have a Dataverse contact ID specifically, use
get_customer_by_contact—it's the shortcut for contacts. - Once you have the customer ID, continue with "show everything about this customer" or ask for segments, measures, or predictions.
What happens next
After the customer resolves, you can continue with prompts like:
- Show me everything Customer Insights knows about this customer.
- Which segments is this customer in?
- What's this customer's churn risk?
Does this change data?
No, resolving a customer by source ID doesn't change data.
This capability only reads the source-to-unified mapping from Customer Insights. It never creates, updates, or deletes records.
Prerequisites
This tool is available on the Dynamics 365 Customer Insights MCP server. See the availability note at the top of this page for details. Customer Insights must be configured for your environment with the relevant source data ingested, and you need permission to read the source-to-unified key mapping.
Tool summary
| Property | Value |
|---|---|
| User-facing name | Resolve Customer By Source ID |
| Internal tool name | get_customer_by_source_id |
| Purpose | Resolves a unified Customer Insights customer ID from a source-system record identifier |
Tool behavior
Resolves a Customer Insights unified customer ID from a source-system record identifier (msdynci_alternatekey). Pass the source entity's logical name and the source record's key value; the tool returns the matching unified customer ID, or reports not found when no unified profile maps to that source record.
Annotations
| Annotation | Value | Meaning |
|---|---|---|
readOnlyHint |
true |
Read-only; this tool doesn't modify data. |
destructiveHint |
Not set | Not applicable (read-only tool). |
idempotentHint |
Not set | Not applicable (read-only tool). |
openWorldHint |
Not set | Uses default (queries Customer Insights through Dataverse). |
Input concepts
Source record
| Input | Description | Required |
|---|---|---|
entityName |
The source entity's logical name as ingested into Customer Insights (for example contact or loyaltymember). Maximum 256 characters. |
Yes |
sourceId |
The source record's alternate-key value to resolve. Maximum 256 characters. | Yes |
Response and UI behavior
This tool returns a text response.
This MCP tool is not backed by an app-in-chat component.
Response type
Unified customer ID (or not found).
The response contains the unified customer ID the source record maps to, or a not-found result when no unified profile is linked to it.
Routing notes
Use get_customer_by_source_id for:
- A prompt that provides a source-system record ID (loyalty, ERP, or another ingested table) and needs the unified Customer Insights customer.
Don't use get_customer_by_source_id when the prompt provides:
- A person's name—route to
find_customer. - A Dataverse contact ID—route to
get_customer_by_contact. - An already-resolved customer ID and a request for their data—route to
get_customer_detailsor a specialist reader.
Related tools
| Tool | Relationship |
|---|---|
find_customer |
Resolves a unified customer from a name |
get_customer_by_contact |
Resolves a unified customer from a Dataverse contact |
get_customer_details |
Returns the full Customer 360 for a resolved customer |
list_data_sources |
Lists the ingested data sources and their source entity names |
Data mutation classification
Read-only.
This tool only reads the source-to-unified key mapping from Customer Insights and never changes data.