Google Anlatics

Thursday, June 5, 2025

How We Recovered a Retired Product in Microsoft Dynamics 365 CRM (And What You Can Do)


Recently, I heard from a friend who had faced a major issue in their CRM system — one that could easily turn into a nightmare if you’re not prepared.

If you’ve ever worked with Microsoft Dynamics 365 CRM, you’ll know that products can be inactivated (retired) when they’re no longer needed. But what happens if you need to reactivate a product that was retired? You’d expect it to be simple, but surprisingly, it’s not possible out of the box (OOB).

Here’s what happened — and what you can do if you ever face this problem in your live environment.

The Problem

They found a critical product had been retired by mistake. When they tried to reactivate it, there was no way to bring it back using standard CRM functionality.

They were stuck — and with the product inactive, it wasn’t showing up where it was needed, impacting real business processes.

What They Did

  1. First, they assessed the issue and confirmed: no OOB (out-of-the-box) way exists to reactivate retired products.

  2. Next, they raised a support ticket with Microsoft. Microsoft’s team ran a backend script to move the product’s status from Retired back to Draft.

At this point, things looked better — the product was visible again.

But...

The Hidden Problem

When trying to use the product — like adding it to a cart — errors popped up:

  • "An error occurred while saving the {0} property instance."

  • "Specified argument was out of range of valid values. Parameter name: value."

Confusing, right?

It turned out that while the product was moved to Draft, one of its Product Properties — a field related to the product — was still inactive.

CRM didn’t like that mismatch.

The Real Fix

They went back to Microsoft support, flagged the new issue, and explained what they had found.

Microsoft’s engineers:

  • Ran a test script in UAT (test environment) to reactivate the inactive Product Property.

  • After confirming everything worked there, they ran the script in the Live environment.

Finally, the errors were gone. The product could be used normally again — just like before it was retired.

Key Takeaways

If this ever happens to you:

  • You can’t reactivate a retired product OOB — Microsoft support is needed.

  • Simply changing the product status isn’t enough — check the related Product Properties too.

  • Raise a detailed support ticket and suggest checking Product Properties if you hit errors.

  • Test fixes in UAT first before applying anything live.

It’s one of those hidden challenges that can trip you up if you’re not careful. Hopefully, if you ever end up in a similar situation, this story will save you hours of troubleshooting!


Wednesday, April 23, 2025

Decoding the Mystery of msdynci Columns in Dynamics 365 and Customer Insights

Integrating Microsoft Dynamics 365 CRM with Customer Insights - Data (CI-D) opens up a world of possibilities for understanding your customers better. But as you navigate this integration, you might notice something peculiar: certain tables, like your trusty Contacts, get these columns prefixed with msdynci_, while others seem to miss out. If you've ever wondered if your data sync is working correctly, you're not alone. The truth is, this isn't a random occurrence – it's a deliberate design that reflects how Customer Insights handles different types of data.


The Purpose Behind the Pattern: Why Only Some Tables Get the msdynci_ Prefix

Think of Customer Insights - Data as a platform built to create a unified and comprehensive view of your customers. To achieve this, it focuses on what it considers "profile" tables – primarily your Contact and Account entities.1 When you set up the synchronization between Dynamics 365 CRM and CI-D, the system identifies these key entities as central to building that single customer profile.1

To power features like profile unification, data enrichment, audience segmentation, and even predictive scoring, Customer Insights - Data automatically adds specific metadata fields to these designated profile tables 1. These are the columns you see with the msdynci_ prefix. They act as internal markers, helping Customer Insights track and manage profile-related data more effectively.1

Here are a few key msdynci_ columns you'll likely encounter in your core profile tables:

  • msdynci_isprofile: This column likely acts as a simple yes/no indicator, telling the system whether a specific record (like a Contact) is actively contributing to your unified customer profile within Customer Insights - Data.2
  • msdynci_lastprofileupdate: Think of this as a digital timestamp. It probably records the exact date and time when a record's profile information was last updated or refreshed by Customer Insights - Data.2 This is crucial for knowing how recent your unified customer data is.
  • msdynci_profilestatus: This column likely holds a status code or value that reflects the current stage of a record's profile within the Customer Insights - Data processing pipeline.2 It could indicate if a profile is active, pending unification, or has been successfully unified.

Now, what about other tables in your Dynamics 365 environment, such as custom entities or standard tables like Activities? These are generally not automatically treated as core profiles in Customer Insights - Data.4 As a result, they don't automatically receive the msdynci_ columns unless you explicitly configure them within CI-D.4 This design helps keep the focus on the most critical customer data for unification.

Validating Your Integration: Ensuring Smooth Synchronization

To make sure your Dynamics 365 CRM and Customer Insights - Data integration is working as expected, here are a few key steps you can take 5:

  1. Examine Sync Health Metrics: Head over to the Power Platform Admin Center. Here, you can usually find a dashboard that shows the overall health of your data synchronization, including the status of individual tables.
  2. Verify Table Classifications in CI-D: Open up Customer Insights - Data and navigate to Data > Tables. This section allows you to see how each table is classified (e.g., as a profile, interaction, or relationship) and confirm which tables are being actively used.
  3. Configure Non-Profile Tables: If you have custom entities that you want to include in your Customer Insights data model, you'll likely need to manually map them within CI-D. This involves defining their schema and specifying how they relate to your core profile entities.

Key Insights for Administrators

Understanding the selective nature of msdynci_ columns is crucial for anyone managing a Dynamics 365 and Customer Insights - Data integration. It provides a clear view into how Customer Insights categorizes and processes your CRM data, helping to maintain a distinction between core profile information and other supporting data.1 When building your unified customer data models, recognizing this architectural choice ensures you can accurately interpret table structures and establish effective relationships between different entities.

Diving Deeper: Exploring Other msdynci_ Tables

Beyond the key columns mentioned earlier, the integration also creates several other tables in your Dataverse environment, all helpfully prefixed with msdynci_.1 These tables serve specific purposes in managing and enriching your customer data:

Table NameKey ColumnsDescription
msdynci_alternatekeyDataSourceName, TableName, AlternateValue, CustomerId, AlternateKeyId, IdentifierContains mappings between the unique identifier Customer Insights - Data generates for a customer and their original identifiers from source systems like Dynamics 365 CRM .
msdynci_unifiedactivityCustomerId, ActivityId, SourceTableName, SourceActivityId, ActivityType, ActivityTimeStamp, Title, Description, URLStores a consolidated view of customer activities (e.g., purchases, website visits, support interactions) gathered from various connected data sources, providing a unified timeline for each customer profile.5
msdynci_customermeasureCustomerId, Measures, Identifier, CustomerMeasureIdHolds calculated metrics and Key Performance Indicators (KPIs) derived at the level of the unified customer profile, enabling tracking and analysis of crucial business metrics at an individual customer level.5
msdynci_enrichmentCustomerId, EnrichmentProvider, EnrichmentType, Values, EnrichmentId, IdentifierStores the results of data enrichment processes, where customer profiles are augmented with additional information from Microsoft or third-party data providers, enhancing the comprehensiveness of customer understanding.5
msdynci_predictionCustomerId, ModelProvider, Model, Values, PredictionId, IdentifierContains the output and results generated by predictive AI models within Customer Insights - Data, providing insights into potential future customer behaviors and outcomes for proactive interventions.5
msdynci_segmentmembershipCustomerId, SegmentProvider, SegmentMembershipType, Segments, Identifier, SegmentMembershipIdRecords which specific customer segments (defined within Customer Insights - Data) each unified customer profile is a member of, essential for enabling targeted marketing and personalized experiences.5

Real-World Applications: Putting msdynci_ Columns to Work


Understanding these msdynci_ columns and tables opens up various practical applications :

  • Smarter Segmentation: Use msdynci_isprofile to create highly targeted audience segments that include only fully unified customer profiles.
  • Personalized Interactions: Leverage msdynci_lastprofileupdate to ensure your sales and service teams have the most up-to-date customer information for more relevant conversations.
  • Troubleshooting Integration Issues: Monitor msdynci_profilestatus to quickly identify and address any records that may have failed to unify correctly.
  • Comprehensive Customer Journeys: Utilize msdynci_unifiedactivity to gain a holistic view of customer interactions across all touchpoints, enabling more effective journey mapping.
  • Data-Driven Insights: Employ msdynci_customermeasure to track key metrics like customer lifetime value and tailor business strategies accordingly.
  • Targeted Marketing: Rely on msdynci_segmentmembership to deliver personalized marketing messages and offers based on specific customer segment affiliations.

Staying Informed: Recent Updates and Best Practices


The landscape of Dynamics 365 and Customer Insights is constantly evolving. Keeping an eye on recent release waves and updates is essential. Features like enhanced integration with Microsoft Fabric OneLake and improvements to the Dataverse connector can influence how msdynci_ data is managed.

For optimal management of your integration, remember these best practices :

  • Strategic Synchronization: Only sync necessary entities to avoid performance bottlenecks.
  • Data Quality First: Implement robust data unification processes within Customer Insights - Data to ensure accurate and complete customer profiles.
  • Regular Monitoring: Keep a close watch on the data synchronization status in both Dynamics 365 CRM and Customer Insights - Data to identify and resolve any issues promptly.5

By understanding the role of msdynci_ columns and following these best practices, you can confidently navigate the integration between Microsoft Dynamics 365 CRM and Customer Insights - Data, unlocking the full potential of your customer data.


Sri Lanka .NET 
                Forum Member