Helpdesk widget

Hi,

i got a special request here and i would like to know if this can be done or if its not possible.

I have 3 external sharepoint user that need to access some ticket related to them but they are not the requester, they are from the same "societe" and need to input thing on the ticket but not have access to all the ticket or all the field of the ticket.
The widget seem to be the answer with a new view but if we create a new view we can edit this CAML

 <And>
   <Eq>
     <FieldRef Name='Requester' LookupId='True' />
     <Value Type='Lookup'>{{Me.ID}}</Value>
   </Eq>
   <Neq>
     <FieldRef Name='InternalStatus' />
     <Value Type='Text'>Solved</Value>
   </Neq>
 </And>

I would like to get something else like:

<And>
   <Eq>
     <FieldRef Name='Societe' LookupId='True' />   
     <Value Type='Lookup'>32</Value>
   </Eq>
   <Neq>
     <FieldRef Name='InternalStatus' />
     <Value Type='Text'>Solved</Value>
   </Neq>
 </And>

but that do not work
Is this possible?

thanks

Hello Maxime! In general, your idea seems feasible. If the external users should be able not only to add comments but also modify any ticket fields, the widget is not a solution. In this case, I would advise to grant unique item-level permissions to the ticket right on the HelpDesk site. To restrict the fields shown to them, you can manage list views and form sets (for the latter you will have to customise ticket forms). But please note that the unique item-level permissions may affect the performance of the 'Tickets' list.

If you can show what exactly the external users should do in tickets and in what cases, perhaps I could advise something better and more concrete.

that was what i feared, i cant use item level permission beacause i will have too many of them.

Let try to give more detail within the limit of what my customer can tell.

A ticket is opened due to a request from a customer(let say a copyrigth check),
the ticket is used to track the request over time and several filed are filed.
In the mean time, the 3rd party company that need to make some verification and provide a case id and comment of their own.
This is the informations that they need to input back the ticket.
I could be as simple as 1 textbox. i hope its clearer this way

You can avoid granting unique permissions if provide access to all tickets. You can restrict the information they see managing list views and form sets.

If that is not an option and if the external users should not be involved into the discussion, but just provide some information to the initial request, you can install another HelpDesk site for communication with them. When a ticket is created on the main site or if it is modified in a certain way (for example a certain value is set in a certain field), create a new ticket on the second site. You can tie the ticket on the main site with one on the additional using list or library control in the ticket form.

If that does not suit you too, the last thing I can suggest is the following.

First, create a custom lookup field in the 'Tickets' list that refers to the 'Title' column of the 'Contacts' one, in fact it is a clone of the 'Requester' field. Name it 'Contractor', for example. Fill that field if the ticket should be exposed to the external user from the third party.

In the widget configuration, create a custom view. Replace the 'Requester' field with the newly created, for example:

 <And>
   <Eq>
     <FieldRef Name='Contractor' LookupId='True' />
     <Value Type='Lookup'>{{Me.ID}}</Value>
   </Eq>
   <Neq>
     <FieldRef Name='InternalStatus' />
     <Value Type='Text'>Solved</Value>
   </Neq>
 </And>

They should provide all the required information in the comment they post. If the comment should not be visible by the requester and CC contacts in the ticket, create a trigger started on adding a comment and put it above all other triggers, especially above notification ones. If the comment is added by one of those external users, change its type to private.

If some of the provided information should be added to a ticket field necessarily, the contractor can mark it with special characters right in the comment body. For example:

This is a regular text.
#This text should be saved in a field#
This is some further text

Then start a Power Automate flow on item creation in a 'Comments' list. If the comment is from one of the contractors, split the comment body string by # and use the second item in the result array to fill the required field. Marking can be complicated to distinguish what field each string should be added to.

It is just a general concept to see if that will work for you. If so, we can elaborate each step together.

Wow, thanks Evgeniy
i must say that you gave me some serious options to investigate.
i always appreciate how your answer are complete and full of informations.

will explore the options.

Thanks again

1 Like