Tip o’ the Day: Quick Codeless Auditing Tool

Today’s guest blogger is CRM MVP Leon Tribe, a Microsoft Dynamics CRM Consultant based in Sydney, Australia.

The workflows in Microsoft Dynamics CRM 4.0 are very powerful. Here is an example of an auditing tool which can be implemented without code, without additional attributes or additional entities and if you just need an audit log to roll back when people make mistakes, it should do the job.

Step 1: Setting up the Workflow

The workflow is pretty simple. All you do is create a note when a new record is created or when a specific field is changed.


In this case I’m auditing the first name attribute of the Contact record. The details of the note are thus:


That’s 90% of the work now done. We publish and the engine is in place.

Step 2: Make some changes

When we create a new contact or change the ‘First Name’ field, a new note will be created against the contact showing the current value. To determine the previous value we look back through the notes.


If there are extensive notes, we can use Advanced Find



We can even save the Advanced Find as a View and while there is no simple way to access the log through the interface, we can always go to Advanced Find – Saved Views.

Each time you need to audit a new field you just create a new workflow. If you are monitoring many fields, a plug-in may be a better option but if you need an audit tool to manage a few key fields and don’t want to spend a lot of time messing about, this should do the trick.


Leon Tribe

Comments (8)

  1. David B says:

    Hi Leon, How would you record what the field value was originally?

  2. Dennis Aries says:

    If you want to monitor a fixed set of fields, you can also add them to the same note, giving you the information as:

    Anton Kirilov modifed at 6/30/2010 8:01pm the contact from:

    Firstname1 Lastname1





    Firstname2 Lastname2




    If someone changed a number of fields, it will not lead to that much notes.

    Good article, keep it up!


  3. Bertil says:

    Great to see the power of Workflow in CRM. And even better: the Business Data Auditing Accelerator provides a similar, yet more complete auditing option.

    To download: crmaccelerators.codeplex.com/…/27404

    A blogpost showing it: blogs.msdn.com/…/business-data-auditing-accelerator-for-microsoft-dynamics-crm-online.aspx

  4. Fred says:

    Hi Leon,nice idea

    To really fulfill auditing needs also the old value of the field needs to be stored. I could not find a way to do this

    Any idea?

    Best regards


  5. Dave Carr says:

    Another option that takes a little more work, but gives you a much better UI for looking at the audit trail is to use a workflow, but instead of creating a note, create a new entity, and copy all of the fields from the current entity whenever any field changes.

  6. Leon Tribe says:

    Because the workflow fires on the record creation, the previous note created for that attribute holds the previous value (the first note being the original value). If you want a note line that records both, you need a plugin.

  7. Leon Tribe says:

    An alternative, although a more labour intensive solution to the 'previous value' issue, is to create an attribute to hold the previous value. On record creation, the value of the field is copied to this new attribute. On change you would do something like:

    1) Write a note showing both the field and the new atrribute values

    2) Copy the value of the field to the new attribute.

  8. Daniel Sabater says:

    Great idea! Just wanted to add that there's a quick way to add this to the standard UI: copy the shortcut to the view, export the SiteMap.xml, and paste the link within a new SubArea element.

Skip to main content