Open link in Agent App

kimberlylp
Giga Guru

When I click on an email link on my mobile device, it opens a web browser to login to Service Now. I have the Mobile Agent app installed on my device. How do I direct it to open in the app instead of the browser?

1 ACCEPTED SOLUTION

This works, but it's a little hokey.

The link in the email should just know it's being clicked from a mobile device. Every app I've ever used does this.

We will be forced to have two links in our emails one label "Mobile Link" with the deep link you've suggested and the browser link.

Our code looks like this:

  1. Create a notification email script, I named mine deeplink.
  2. I added the code to that email script:

var deepLinkGenerator = new global.MobileDeepLinkGenerator("agent");

var table = current.getTableName();

var link = '';

switch (table) {

    case 'incident':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'incident_task':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'change_request':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'change_task':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'problem':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'problem_task':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    default:

        link = deepLinkGenerator.getFormScreenLink("<sys_id>", current.getTableName(), current.getValue("sys_id")); //open's agent

        break;

}

template.print('<a href=' + link + '>Mobile Agent Link</a>');

  1. Add ${mail_script:deeplink} to whatever notifications are needed.

View solution in original post

11 REPLIES 11

Thanks for you time Alex. I will try this.

This works, but it's a little hokey.

The link in the email should just know it's being clicked from a mobile device. Every app I've ever used does this.

We will be forced to have two links in our emails one label "Mobile Link" with the deep link you've suggested and the browser link.

Our code looks like this:

  1. Create a notification email script, I named mine deeplink.
  2. I added the code to that email script:

var deepLinkGenerator = new global.MobileDeepLinkGenerator("agent");

var table = current.getTableName();

var link = '';

switch (table) {

    case 'incident':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'incident_task':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'change_request':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'change_task':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'problem':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    case 'problem_task':

        link = deepLinkGenerator.getFormScreenLink("sys_id_of_whatever_the_sys_id_is_for_that_applet_on_system_mobile ", current.getTableName(), current.getValue("sys_id"));

        break;

    default:

        link = deepLinkGenerator.getFormScreenLink("<sys_id>", current.getTableName(), current.getValue("sys_id")); //open's agent

        break;

}

template.print('<a href=' + link + '>Mobile Agent Link</a>');

  1. Add ${mail_script:deeplink} to whatever notifications are needed.

Rama Jha2
Giga Contributor

On similar note is there a possibility to check if the app is not found in mobile it will redirect to app store?

Chad22
Tera Contributor

I could use some help doing this in Rome. I can't get an additional link to come though as described. 

Chad22
Tera Contributor

template.print('<a href=' + link + '>Mobile Agent Link</a>');

 

This link still prompts a browser instead of the app.