Is it possible to have a "notification bell" on Service Portal?

Blertan Hasani
Tera Contributor

Hi, is there possible to have a notification "bell" on the Portal? 
I would say something similar to what it is in Agent Workspace, that would trigger when a customer comment is made in a case and a case is resolved?

1 ACCEPTED SOLUTION

Raghu Ram Y
Kilo Sage

@Blertan Hasani 

Yes it is possible, I tried..

Select Menu and Create a new menu item like below... Leave label name as empty and for glyph select bell icon

find_real_file.png

View solution in original post

5 REPLIES 5

Raghu Ram Y
Kilo Sage

@Blertan Hasani 

Yes it is possible, I tried..

Select Menu and Create a new menu item like below... Leave label name as empty and for glyph select bell icon

find_real_file.png

Thanks for marking it as helpful... If further more information required let me know. Else can you please mark it as correct and close the thread? so that it will be benefited for the future readers.

This was really helpful, thanks. I will also need to configure in order to trigger a notification when a customer comment is made in a case and a case is resolved. To show the notifications on the bell.

Hi,

In Menu Item select type as "Scripted List" and under Server script use the below code and try.

var max = 30;

var t = data;  
t.items = [];

var u = gs.getUser().getID();

t.record_watchers = [];
t.record_watchers.push({'table':'incident','filter':'active=true^caller_id=' + u});

var z = new GlideRecord('incident');
z.addActiveQuery();
z.addEncodedQuery('assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^sys_updated_byNSAMEAScaller_id.name');
z.orderByDesc('sys_updated_on');
z.setLimit(max);
z.query();
while (z.next()) {
  if (!z.canRead())
    continue;
  
  var a = {};
  $sp.getRecordValues(a, z, 'short_description,sys_id,number,sys_updated_on');
  if (z.short_description.nil())
    a.short_description = "(No description)";
  a.__table = z.getTableName();
  a.type = 'record';
  a.sortOrder = z.sys_updated_on.getGlideObject().getNumericValue();
  t.items.push(a);
}

t.items = t.items.slice(0, max); // only want first 30
t.count = t.items.length;

var link = {title: gs.getMessage('View all my incidents'), type: 'link', href: '?id=incident', items: []};
t.items.unshift(link); // put 'View all requests' first


 

I Hope it will be helpful, if so please mark my response as both Helpful and Correct.