I was asked another question recently ……… this time it was about how to implement notes within Unified Service Desk (USD).

Again the Microsoft base sample package does contain an example of how notes work. It allows you add notes to cases.

The Microsoft example updates the notes from an agent script. In my example, I’ll assume you might not use agent scripts so I’ll implement the capability from a navigation toolbar. But whichever approach you implement to trigger the update of notes the hosted controls / actions involved would remain the same.

In my example I will give a toolbar button to update the notes on contact, but this approach can easily be applied to any entity that supports notes.

The steps involved are;

  1. Create hosted control for notes.
  2. Create action call load notes.
  3. Load the notes control in left panel.
  4. Create actions to “grab” and  create notes.
  5. Create toolbar button

Step One – Create hosted control for notes.

First of all, if you haven’t got one already you’ll need to create a “special” hosted control to show the notes dialogue in the left panel. (Or right if you prefer!) Mine is shown below. Notice how the USD Component Type is “User Notes”.

Step Two – Create action call load notes.

Next, if it doesn’t exist, create a action to load the note. This is quite straight forward and will relate to the hosted control you just created. You just need to create an action call for its default action.

Notes1

Step Three – Load the notes control in left panel. 

Now you will need to ensure the notes control shows in the left panel of whatever entity you are working with. So in this example “contact”. Simply go to the hosted control for the entity you are working with, locate the events in navigation. Then on a “BrowserDocumentComplete” event add the action call we mentioned earlier to create the note. Example shown below.

Notes2

Step Four – Create actions to “grab” and  create notes.

Now create two actions, the first “grabs” the notes information. (Mine is below.) The order is significant. It needs to be one. The hosted control is the one you have just created for notes. The action is “UpdateReplacementParameters”.

Tip: If you replicate the ability to attach notes in multiple entities you will re-use this same action for each.

Now create another action call that will create a note on the required entity. In this example contact. The hosted control this time is your global manager and action is CreateEntity.  This time the order needs to be 2. The data portion contains the “code” needed to create the note.

LogicalName=annotation 
objected=EntityReference("contact",[[contact.Id]]) 
notetext=$Escaped([[Notes.Notes]$])

Obviously you change change “contact,[[contact.Id]]” to work with other entities. Such as “incident, [[incident.Id]]”.

Step Five – Create toolbar button

Now create a toolbar button on your navigation toolbar for the entity you want to update. Meaning in the contact navigation toolbar for this example. And add the two actions you’ve just created to the toolbar button. See example below.

The enable and visible conditions mean that the toolbar button will not be shown until the contact is exists. (If you are creating a new contact you can’t attach the notes until the contact has been saved.)

 

17 responses to “USD – Notes”

  1. I made a mistake in this post! I will update later. Missed a stage to add an action to load the notes. On browserdocumentcomplete

    Liked by 1 person

  2. Hopefully the post is now correct, sorry for any confusion!

    Liked by 1 person

    1. Hi,
      I am Using Unified Service Desk 2.1 Base Package in My CRM environment. USD supports Spell Check for User Notes Control. MSDN documentation said Language Specific Spell Check can be applied to this control. But I did not find any action like SetLanguague in my organisation. Am I missing any link.
      MSDN Link I am following msdn.microsoft.com/…/dn864936.aspx

      Like

      1. Hi Biplab

        I haven’t spotted this before. I have tried but not quite got this working. (yet)

        On your Notes hosted control, simply navigate to uii Actions and add a new one called “SetLanguage”.

        You can then create an action to fire as the notes hosted control loads.

        I have found that everything I have tried has disabled the spell checker rather than changing the language. I guess I am setting the data field wrong.

        I have no language packs installed, so that could be my issue.

        Try it, you might have more luck than me.

        Neil.

        Like

  3. Thank you sir !!!!!!!!!

    Like

  4. Hi sir,

    I have able to implement the user notes hosted control inside the Microsoft USD & Now it is appearing on the Left panel but the problem which I am currently facing is that, I want to save the “notes” against the case entity which I couldn’t.
    As you said above, that to change “contact,[[contact.Id]]” to work with some other entities; Such as case, I have change the code to “incident, [[incident.Id]]” but the Debugger showing error due to this specific step only. On hovering over it I am getting this error : system.exception not all the parameters in the action call create entity are available, stopping the action call. The parameters are: LogicalName= annotation objected=EntityReference(“contact”,[[contact.Id]])
    notetext=$Escaped([[Notes.Notes]$]).

    Another changes which I have done is under the Event entity I have added Browserdocumentcomplete related to hosted application “associated case” (& not contact) to which I have added the “Load notes action call” which is the only Active Action unlike three Active Actions shown on the above the screenshot in this page, under the Browserdocumentcomplete event with hosted application “Contact”.

    I hope, I made my point.

    Please help !!!!!!!!!!!!!!!!!!!!!!!

    Thanks !!!!!!!!!!

    Like

    1. I think this makes sense …. when I have added the ability to add notes on a case I used the code below. Hopefully that will work for you.

      LogicalName=annotation
      objectid=EntityReference(“incident”,[[incident.Id]])
      notetext=$Escaped([[Notes.Notes]$])

      Liked by 1 person

  5. Hi sir, I am facing a big challenge to save the notes against the case entity, & when I try to diagnose this issue using Debugger, I found that the error message is coming due to

    1.) “Not all the parameter in the action call “create entity” are available”
    2.) Also below mention code is showing in Red in debugger:

    LogicalName=annotation
    objectid=EntityReference(“incident”,[[incident.Id]])
    notetext=$Escaped([[Notes.Notes]$])

    Wherein, every time case incident id is changing normally But there should be “Agent notes” here notetext=$Escaped (AGENT NOTES) but it showing the same code statement notetext=$Escaped([[Notes.Notes]$]), Hence creating problem.

    Please help, I know, i am irritating you constantly. But please try to spare little time out of your busy schedule, as Microsoft is inefficient in solving issues related to USD, as per my experiences.

    Note: Previously also, I had asked you for a help related to same issue & that time things start working fine but when I actually require it, it’s again not working.

    Hope this will not take much your valuable time & promise will not irritate you constantly further 🙂

    Like

    1. Hi
      Hard to be sure what your exact problem is …. but here are some thoughts / pointers.

      If you had this working at one point that my first tip is to go back to basics and check everything. Has anything changed. For example: I had a problem recently that an agent script stopped working. It turned out that some actions hadn’t migrated properly when I moved by data.zip from one org to another. So things can change without you knowing!

      My data portion of my created entity action, for notes on case is …

      LogicalName=annotation
      objectid=EntityReference(“incident”,[[incident.Id]])
      notetext=$Escaped([[Notes.Notes]$])

      Sounds like yours is the same.

      If you are getting an error that something is missing try checking the data parameters in the debugged to check that each field is availbale as a replacement parameter.

      Is it a newly created case? As you won’t have an incident Id field until the case is saved. I typically add a condition to the button or agent script calling the notes create function, so that it is only present after the case is saved.

      If you problem isn’t the ID that Notes.Notes is likely to be null. If that is the problem make sure you are calling an action to update the replacement parameters before you do the create new. (Hosted control will be “Notes”, then Action will be “UpdateReplacementParameters”.

      You commented that you had this working. If nothing had changed, my guess would be that it isn’t working as you are creating a new case.

      One final thought, I saw a bug with onpremise CRM 2015 and USD 1.0. That having saved the case the ID field wasn’t always being populated. That caused me quite a few problems! But I have never had that problem with online or CRM2016.

      Hope this helps

      Neil.

      Like

  6. Hi sir, Firstly Thanks for your reply, Out of all the scenarios you had commented above, I have checked all but didn’t find a reason of why I am not able to save notes except the final thought you had shared as I am trying to do this on onpremise CRM 2015 and USD 1.0. & earlier when I got it done, it were on online CRM 2015 & USD 1.0

    Like

  7. I just checked the same issue in CRM 2016 & USD 2016 but even then I am not able to save the notes. Please check this issue on my CRM 2016 org, I had shared my credentials on your mail id.

    Like

  8. […] Recently I have been asked several questions about using notes within Unified Service Desk for Microsoft Dynamics CRM, I have previously created a blog post on this, which you can find here. […]

    Like

  9. […] Recently I have been asked several questions about using notes within Unified Service Desk for Microsoft Dynamics CRM, I have previously created a blog post on this, which you can find here. […]

    Like

  10. […] A demo video for my USD interface plus a text description can be found here. […]

    Like

Leave a comment

Trending

Website Powered by WordPress.com.