How to embed a dynamic link in the email notification via mail script

nameisnani
Mega Sage

Hi Team ,

 

Need help with the mail script to redirect the user to the survey link . 

 

https://<instance-name>.service-now.com/esc?id=take_survey&type_id=d241f419471b21100a2e3e58c26d4338

 

The link should be dynamic .

 

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
    /* Optional EmailOutbound */
    email, /* Optional GlideRecord */ email_action,
    /* Optional GlideRecord */
    event) {


    gs.log("current " + current.number, 'sys');

    var surv = new GlideRecord('asmt_assessment_instance');
    surv.addNotNullQuery('trigger_id');
    surv.addQuery('trigger_id', current.sys_id);
    surv.query();
    surv.next();
    gs.log("Incident from survey " + surv.number, 'sys');

    var params = current.number + "," + surv.number;
    var subject = "survey:" + surv.number + " " + " " + "incident:" + current.number + " ";
    //var mail = gs.getProperty("instance_name") + "@service-now.com";
    //var mail = "testgpt0070@gmail.com";
    email.setSubject(subject);
    template.print('<br/>In order to improve the quality of our service, we invite you to evaluate the overall processing of your file by clicking on one of the following emoticons:<br/><br/>');

    template.print('<img src="verymad.png" width="51" height="52"/></a>');

    template.print('<img src="mad.png" width="50" height="53"/></a>');

    template.print('<img src="neutral.png" width="49" height="53"/></a>');

    template.print('<img src="happy.png" width="50" height="53"/></a>');

    template.print('<img src="veryhappy.png" width="50" height="53"/></a>')

 

 

Thanks in Advance 

 

@Chuck Tomasi 

1 ACCEPTED SOLUTION

My Bad,

Please try below.

The URL generated was not correct.

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
    /* Optional EmailOutbound */
    email, /* Optional GlideRecord */ email_action,
    /* Optional GlideRecord */
    event) {


    gs.log("current " + current.number, 'sys');

    var surv = new GlideRecord('asmt_assessment_instance');
    surv.addNotNullQuery('trigger_id');
    surv.addQuery('trigger_id', current.sys_id);
    surv.query();
    surv.next();
    gs.log("Incident from survey " + surv.number, 'sys');

    var params = current.number + "," + surv.number;
    var subject = "survey:" + surv.number + " " + " " + "incident:" + current.number + " ";
    //var mail = gs.getProperty("instance_name") + "@service-now.com";
    //var mail = "testgpt0070@gmail.com";
    email.setSubject(subject);
    template.print('<br/>In order to improve the quality of our service, we invite you to evaluate the overall processing of your file by clicking on one of the following emoticons:<br/><br/>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="verymad.png" width="51" height="52"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="mad.png" width="50" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="neutral.png" width="49" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="happy.png" width="50" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="veryhappy.png" width="50" height="53"/></a>')
Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande

View solution in original post

15 REPLIES 15

hi @Anil Lande 

 

After updating script , not working 😑

 

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
    /* Optional EmailOutbound */
    email, /* Optional GlideRecord */ email_action,
    /* Optional GlideRecord */
    event) {


    gs.log("current " + current.number, 'sys');

    var surv = new GlideRecord('asmt_assessment_instance');
    surv.addNotNullQuery('trigger_id');
    surv.addQuery('trigger_id', current.sys_id);
    surv.query();
    surv.next();
    gs.log("Incident from survey " + surv.number, 'sys');

    var params = current.number + "," + surv.number;
    var subject = "survey:" + surv.number + " " + " " + "incident:" + current.number + " ";
    //var mail = gs.getProperty("instance_name") + "@service-now.com";
    //var mail = "testgpt0070@gmail.com";
    email.setSubject(subject);
    template.print('<br/>In order to improve the quality of our service, we invite you to evaluate the overall processing of your file by clicking on one of the following emoticons:<br/><br/>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/' + current.getTableName() + '/' + current.sys_id + '"><img src="verymad.png" width="51" height="52"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/' + current.getTableName() + '/' + current.sys_id + '"><img src="mad.png" width="50" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/' + current.getTableName() + '/' + current.sys_id + '"><img src="neutral.png" width="49" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/' + current.getTableName() + '/' + current.sys_id + '"><img src="happy.png" width="50" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/' + current.getTableName() + '/' + current.sys_id + '"><img src="veryhappy.png" width="50" height="53"/></a>')

 

SunilKumarPadh_0-1690190000532.png

 

My Bad,

Please try below.

The URL generated was not correct.

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
    /* Optional EmailOutbound */
    email, /* Optional GlideRecord */ email_action,
    /* Optional GlideRecord */
    event) {


    gs.log("current " + current.number, 'sys');

    var surv = new GlideRecord('asmt_assessment_instance');
    surv.addNotNullQuery('trigger_id');
    surv.addQuery('trigger_id', current.sys_id);
    surv.query();
    surv.next();
    gs.log("Incident from survey " + surv.number, 'sys');

    var params = current.number + "," + surv.number;
    var subject = "survey:" + surv.number + " " + " " + "incident:" + current.number + " ";
    //var mail = gs.getProperty("instance_name") + "@service-now.com";
    //var mail = "testgpt0070@gmail.com";
    email.setSubject(subject);
    template.print('<br/>In order to improve the quality of our service, we invite you to evaluate the overall processing of your file by clicking on one of the following emoticons:<br/><br/>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="verymad.png" width="51" height="52"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="mad.png" width="50" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="neutral.png" width="49" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="happy.png" width="50" height="53"/></a>');

    template.print('<a href="' + gs.getProperty('glide.servlet.uri') + '/esc?id=take_survey&type_id=' + surv.sys_id + '"><img src="veryhappy.png" width="50" height="53"/></a>')
Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande

Hi @Anil Lande 

 

Thanks once again , I have updated my script as per the above .

 

I don't know why it is like this can u please here . 

 

SunilKumarPadh_0-1690190915591.png

 

Hi,

The incident survey you are trying to attempt is not was assigned to system admin.

Open the survey that is assigned to logged in user.

 

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande

Is it working with correct user now?

 

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande