Identify if an Incident or Catalog Item has been raised from NOW mobile App

Subhajit Mukhe1
Kilo Expert

Hi,

We have the create incident record producer in our Servicenow instance. End users can access it via service portal or NOW mobile app to raise an incident.

I wanted to know if we can differentiate between the incidents raised from create incident via service portal and NOW Mobile App, so we can set accurate contact type to the incident created.
This is required for reporting purposes.

Any approach or suggestion is appreciated.

1 ACCEPTED SOLUTION

Steps:

 

Create one event here 

Go to module system policy >> Events >> registry. 

Screenshot for reference. 

 

find_real_file.png

 

Now create one script Action:

Go to module system policy >> Events >> Script Actions

 

var ID = event.parm1;

var grsp =  new GlideRecord('sp_log');
grsp.addEncodedQuery('type=Task View^id='+ID);
grsp.query();

if(grsp.getRowCount() >0){
	var gr = new GlideRecord('incident');
	gr.get(ID);
        gr.contact_type = 'self-service';
	gr.update();
}

 

 

Now create one before business rule on incident table to trigger the eventQueueScheduled(). 

 

(function executeRule(current, previous /*null when async*/) {



	// Add your code here
	var gdt = new GlideDateTime(); 
	gdt.addSeconds(4); 

	gs.eventQueueScheduled('rp.portal',current,current.sys_id,'Scheduled ' + gdt.getDisplayValue(),gdt);


})(current, previous);

 

 

 

now in record producer set one line in script 

 

current.contact_type = 'phone';

 

Note: Now whenever you will submit the record producer from portal, incident contact type will set as "self sevice" and if you will submit from mobile app it will set as "phone".

This workaround will be only fit if you are handling record producer via portal and now mobile app. 

Hope it will help you. 

View solution in original post

12 REPLIES 12

you can use sp_log  table here.

If you see the above solution which i had mentioned, that you can consider here to built this functionality for your use case. 

Setting it to phone does not make sense. That is what an incident should be set to when someone calls support. So you would not have a good indication if someone called support or they used the mobile app.

faisal_dadabhoy
Giga Expert

replying to an old thread.

 

There is a plugin called "Service Catalog - Channel Source Analytics" (
com.glideapp.servicecatalog.analytics), it install a table called "catalog_channel_analytics" which infact tracks if service request is submitted from mobile or portal, per screen shot below
 
faisal_dadabhoy_0-1665085592163.jpeg