Skip to main content

ServiceNow - Survey Expiry - assessment duration field?


There is a misconception that due_date in the survey designer is responsible for the expiration of the survey instance. but the Fact is:
1. The schedule job(sys_trigger) called 'Cancel Expired Assessments' is responsible for the assessments to get canceled.



Surveys with cancelled state will no longer available to be taken. But if we see survey which is having due_date as past, stats of the survey will still be in 'Ready' state and not cancelled which means expired.

So when schedule job run, it cancels the survyes which are are having due_date as past.

Further, when impersonate user, i can not see this survey instance from My Survey related list, but only visible when directly opening provided link:


scheduled job frequency:

Changing it to daily would not affect heavily as it only run once a day. So changing when to run would be up-to the requirement.
However, you can also consider changing it to weekly etc, based on your requirement.



  1. This blog is really helpful to deliver updated affairs over internet which is really appraisable. the endocannabinoid system


Post a Comment

Popular posts from this blog

Get URL Parameter - server side script (portal or classic UI)

Classic UI : var sURL_editparam = gs . action . getGlideURI (). getMap (). get ( ' sysparm_aparameter ' ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); } Portal : var sURL_editparam = $sp . getParameter ( " sysparm_aparameter " ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); }

ServiceNow check for null or nil or empty (or not)

Haven't tested these all recently within global/local scopes, so feel free to have a play! option 1 use an encoded query embedded in the GlideRecord , e.g.  var grProf = new GlideRecord ( 'x_cls_clear_skye_i_profile' ); grProf . addQuery ( 'status=1^ owner=NULL ' ); grProf . query (); even better use the glideRecord  addNotNullQuery or addNullQuery option 2 JSUtil.nil / notNil (this might be the most powerful. See this link ) example: if ( current . operation () == 'insert' && JSUtil . notNil ( current . parent ) && ! current . work_effort . nil ())  option 3 there might be times when you need to get inside the GlideRecord and perform the check there, for example if the code goes down 2 optional routes depending on null / not null can use gs.nil : var grAppr = new GlideRecord ( 'sysapproval_approver' ); var grUser = new GlideRecord ( 'sys_user' ); if ( grUser . get ( 'sys_id' , current . approver )){