logo

NJP

Reverse engineering ServiceNow encoded queries

ServiceNow Blog · Jun 05, 2025 · article

useful link:

https://www.servicenow.com/community/developer-blog/decoding-encoded-queries/ba-p/2290638

Encoded Query

active=true^short_descriptionLIKEIssue^ORshort_descriptionLIKEProblem^NQactive=false^close_code=Not Solved (Not Reproducible)^RLQUERYtask_ci.task,>=1,m2m^ci_item.assignment_groupNSAMEASchange_control^ENDRLQUERY

active=true*^short_descriptionLIKEIssueORshort_descriptionLIKEProblemNQactive=false^close_code=Not Solved (Not Reproducible)RLQUERYtask_ci.task,>=1,m2mci_item.assignment_groupNSAMEASchange_controlENDRLQUERY*

Converting to Code

^ = AND

// active=true
var gr = new GlideRecord('incident');
gr.addQuery('active','true');

// Alternative 1
gr.addCondition('active','true');

// Alternative 2
gr.addActiveQuery();

OR = OR

//active=true^short_descriptionLIKEIssue^ORshort_descriptionLIKEProblem
var qc = gr.addQuery('active',true);
qc.addOrCondtion('short_description','CONTAINS','Issue');
qc.addOrCondtion('short_description','CONTAINS','Problem');

//Alternative
gr.addQuery('active',true).addOrCondtion('short_description','CONTAINS','Issue').addOrCondtion('short_description','CONTAINS','Problem');

NQ = NEW QUERY / CRITERIA

// ^NQactive=false^close_code=Not Solved (Not Reproducible)
var nq = new GlideRecord('incident');
nq.addQuery('active',false);
nq.addQuery('close_code','Not Solved (Not Reproducible)');

var queries = [];
queries.push(gr.getEncodedQuery());
queries.push(nq.getEncodedQuery());

var finalQry = queries.join("^NQ");

var gr = new GlideRecord('incident');
gr.addEncodedQuery(finalQry);
View original source

http://www.cloudminus89.com/2025/06/reverse-engineering-servicenow-encoded.html