web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Customer experience | Sales, Customer Insights,...
Answered

Need Help Troubleshooting: Single User in Dynamics CRM Triggering Changes on Hidden/Ghost Fields

(4) ShareShare
ReportReport
Posted on by 54
I have a single user in my Dynamics 365 CRM that is somehow able to go into an Opportunity record and trigger the change of 2 attributes simply by loading the form. Every time the user views a record the audit history shows that "new_previouslyopened" has changed from No to Yes and "fsr_estclosedatesalesforecast" has been cleared.
 
"new_previouslyopened" is a custom boolean attribute that is marked to Yes once an opportunity is closed lost/won to prevent several notification automations from firing if the opportunity needs to be reopened for corrections.
"fsr_estclosedatesalesforecast" is a custom datetime attribute that is tied to a custom Sales Forecast entity and the date is copied from the Estimated Close Date.
 
Here's some more info about the issue:
  • "fsr_estclosedatesalesforecast" attribute is hidden and "new_previouslyopened" isn't even on the form.
  • The user is NOT the owner of the records, he's simply viewing them and making no manual edits.
  • The user has the same security roles as many other people in my org, including the owner.
  • This activity does not show on the user's timeline.
  • The attributes being changed and the changes that are happening would be associated with an action taken to close won/lost the opportunity, but that's not the case here. These are open, active opportunities.
  • The changes are being attributed to his user name.
  • There are 5 scripts that run On Load, but they don't reference these fields, I've already checked.
I've attached a screenshot of an instance. The red is the "offending" user updates and blue is the record owner and a few other workflows.
 
I'm pretty sure this is related to some sort of automation, but I can't think how a single user could be triggering an automation that no one else in the org (to my knowledge) is doing. 
 
I don't have time to go through hundreds of workflows and thousands of plug-in steps individually. Does anyone here have any suggestions for how to troubleshoot this?
attribute-updates.png
I have the same question (0)
  • Anupam.khasia Profile Picture
    170 on at
    Hello @kellykirk
     
    There must be some customizations being implemented to set/clear this field values. 
     
    I would suggest checking following things: 
     
    * Check if any Business rules are written or not 
    * Debug JavaScript which is being loaded on Form using browser dev tools
    * Last, you can check if there is plugin written on "Retrieve" event for that entity which I suppose not be implemented but check it. 
     
    These are possible areas where it would be updating as stated by you that it's changing when form is loaded.
     
     
    Please mark as resolved if it helps you. 
     
    Thanks
    Anupam
  • Verified answer
    Hamza H Profile Picture
    1,807 on at

    The issue is likely caused by a personal Power Automate flow or a JavaScript library that indirectly modifies the fields when the form is loaded. Since it's only happening for one user, check their Power Automate flows, and use XrmToolBox to find any components referencing new_previouslyopened or fsr_estclosedatesalesforecast. Also, test with JavaScript disabled or use a clean form to confirm.

  • kellykirk Profile Picture
    54 on at
    I have checked all Power Automate Flows connected to our environment in the Power Platform Admin Center, and I have access to all of the custom Flows that are currently enabled (and this user does not have a Power Automate account to create his own flows). I'm working through the workflows in Processes (we have over 1000), but none were built by this user and there aren't any specific entity workflows that reference this field.
     
    The first thing I dig was check business rules and there is nothing that would cause this for a single user. 
     
    I checked all JS being loaded on dev tools (there is SO much being loaded, but that's a problem for another day), downloaded the HAR file, found nothing there, then searched within the developer tools itself and the only place I found these fields was on a metadata api call. Nowhere else.
     
    I did a surface level look at retrieve plugin steps because there are hundreds of them and none of them look relevant on the surface. I'd rather not have to dive into the code on each and every one of them...
     
    The only thing left to check are dependencies. Does anyone have a tool they prefer in XRM Toolbox for checking dependencies, specifically attributes? I tried one, but it only went to the entity level and didn't really give me what I needed.
     
     
  • Verified answer
    Muhammad Shahzad Shafique Profile Picture
    2,373 Most Valuable Professional on at
    Thanks for the detailed follow-up. Since you’ve ruled out Power Automate, business rules, and most JavaScript, here are a few targeted next steps to isolate the root cause:

    1. Use XrmToolBox – “Attribute Usage Inspector” Plugin
    • This plugin scans solution components that reference specific fields (attributes) like new_previouslyopened and fsr_estclosedatesalesforecast.
    • It will reveal:
      • Workflows
      • Plugin steps
      • Dialogs
      • Business rules
      • JavaScript
    • More granular than entity-level searches, perfect for what you're trying to find.

    2. Use Plugin Trace Logs (if enabled)
    • Go to Settings > Plug-in Trace Log and filter by:
      • The user GUID
      • Entity = Opportunity
    • You’ll see which plugin or assembly is firing during that OnLoad and modifying fields.
    • If logs are not enabled, enable them via System Settings > Customization > Plugin and Custom Workflow Activity Tracing.

    3. Disable JavaScript temporarily for that user (via Role-based Form)
    • Clone the Opportunity form, remove all JS libraries.
    • Assign this clean form to the user via role-based form assignment.
    • Have them open a record — if the fields no longer change, it confirms script-driven behavior even if not obvious in source.

    4. Check for Hidden Auto-Save Side Effects
    • Even though the user isn't editing, some forms or scripts trigger save on load.
    • Use Fiddler or browser dev tools > network tab to watch for Update or Save calls the moment the form loads.

    5. Review Audit History on the Fields Specifically
    • Sometimes audit logs on the record don't give the full picture.
    • Go to field-level audit history in the customization area and view change sources.

     
  • Verified answer
    kellykirk Profile Picture
    54 on at
     
    1. Use XrmToolBox – “Attribute Usage Inspector”: This tool only lets me get basic info on the usage of a field and doesn't let me dig any deeper into the data than simple info I can find in the column quick form. 
     
     
    Unless there's another way to use this tool that numerous YouTube videos have missed, I don't think this is the correct tool.
     
    2. The plug-in trace log is empty:
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    3 & 4. I don't have this User easily available to me. I would need to schedule time, screenshare and walk them through how to enable developer tools. This is a last resort.
     
    5. I can't find field audit history anywhere like you can with a record. I tried the Audit History Extractor in XRM, but that just pulls records' audit histories in bulk, which wasn't helpful.
     
    Here's what's odd:
     
    The user has logged on and used the system several times in the last month:
     
    HOWEVER, that highlighted date/time is the ONLY time this change happened and it happened to over 100 records at once (I checked and it's only those 2 fields):

    The 2 processes associated with this field do not have an option to run this as an on-demand process, so the user couldn't have selected every opportunity he's associated with (NOT the owner, btw) and made the update.

    Additionally, if it were a script running on save or open, it would be running every time he looked at a record, and it's not. It only ran that one time for 100 records. 
     
    For now, I'm going to run an import fix to this field, so it doesn't impact my Salesperson, but the bug concerns me.
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Customer experience | Sales, Customer Insights, CRM

#1
Tom_Gioielli Profile Picture

Tom_Gioielli 70 Super User 2025 Season 2

#2
Gerardo Rentería García Profile Picture

Gerardo Rentería Ga... 33 Most Valuable Professional

#3
Daniyal Khaleel Profile Picture

Daniyal Khaleel 32 Most Valuable Professional

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans