In this series of blog posts, I’m looking at the ways to enable an asynchronous conversation between Dynamics/Power Apps users and portals users. The two most common techniques I see use Entity/Web Form Metadata – either the Notes or Timeline metadata option. This post covers the original way – using notes.
Notes (schema name of annotation) has been an out-of-the-box entity in Dynamics for a long time (at least since I started working with the platform over 10 years ago). It allows users in Dynamics/Power Apps to add unlimited notes to a record. Notes are comprised of a title, a description (main note text), and an optional file attachment.
When enabled on Power Apps Portals, users can be allowed to view, create, edit, and delete note records, as well as upload files.
Microsoft provides step-by-step documentation that covers how to enable notes on your Entity/Web Forms:
I’m not going to rehash those instructions, but I’ll provide a few comments:
The biggest stumbling block I see with notes is that people miss the fact that users in Dynamics/Power Apps need to include the following text in order for a note to appear on the portal: *WEB*.
This allows you to distinguish between notes you want visible to portal users, and notes that are for internal purposes only. By requiring that this unique bit of text appear in a note before it is seen on the portal, you all but eliminate the possibility that internal notes are inadvertently displayed to the public.
Users on the Portal do not see the *WEB* text (except as notes below in the *WEB* Case Sensitivity Issues section). Notes created by users on the Portal automatically have this text included to ensure that they are visible on the Portal.
The system needs to keep track of which Portal user created the note so that everyone can see who entered the note, and so it can allow editing (if enabled). However, since the Note entity does allow for much/any customization, there is no direct relationship to the portal user’s contact record. Instead, the Name and ID of the contact record is stored as part of the note’s title:
This means that the Portals code relies on string parsing to verify note authorship, which is not ideal as it can be brittle.
One quirk with the *WEB* system is what happens if a Dynamics/Power Apps user uses *web* (lowercase) instead of *WEB*. In this situation, the note will appear on the portal, but the *web* text will be visible. This is because the code that looks for *WEB* is case insensitive, but the case that removes it for display purposes is case sensitive. Therefore, for the best user experience, ensure that Dynamics/Power Apps users use the uppercase version.
In my next post, I’ll take a deeper dive into the Timeline metadata option.
I’d like to acknowledge the individuals who have provided invaluable assistance to this series of posts, including providing their comments, insights, experiences and review:
Hi Nicholas !
Really appreciate your article.
I am facing an issue with showing Notes on a Portal Entity Form. I have configured it on my entity form with “Notes” displayed by default.
I also configured Portal Comments on portal (following your article) so portal users can add a comment on records.
However I am not able to see Notes created on Dynamics 365 side, even with *WEB* tag whereas I can see portal comments from both sides.
Entity permissions are configured on global scope for activity pointer, Annotation (note) and for my custom entities, scope is on contact. I also tried the parent scope for activity and note but result is same (message “There is no activity to show”).
What did I do wrong ?
To confirm, are you trying to display note and portal comments on the same form? I believe you can only show one or the other.
I’m facing the same issue as Alex, but i have only notes on the Form (no Portal comments). Entity Permissions are configured for Notes (Parent) and for Parent Entity (Global). I tried Global for both as well, it does not help.
Do u have any Idea, what else can be wrong?
Thanks in advance.
I fixed it. Can be useful I think. Although in UnifiedInterface Properties the Timeline is already filtered by Notes, in Web Client The Default Tab must be set to “Notes” as well.
Can we replace *WEB* with some other value?
For example: *WEB* to *ABC*
There is a site setting KnowledgeManagement/NotesFilter, but I believe that only applies to knowledge articles. I don’t think you can change it for other types of records.