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

nameisnani
Giga 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>')

View solution in original post

15 REPLIES 15

Anil Lande
Kilo Patron

Hi,

Can you please where exactly you want to include that link?

 

Hi @Anil Lande 

 

Thanks for your quick response 

 

SunilKumarPadh_0-1690189346307.png

 

 

If i clicks on emoji it should redirect survey page . 

 

I need to attach/embed the Survey link to the below image.

 

How to add please help here .

 

 

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

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

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

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

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

Anil Lande
Kilo Patron

Please check if this works for you 

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>')

@Anil Lande  once again thanks , let me try and come back