Sometimes a business needs to save their client's signature on an incident to prove that someone has come out to their place of work and rectified the incident. Kind of like when a postman delivers a package, they need your signature to prove that the package was delivered.

Previously, ServiceNow did not have this ability out of the box. A third-party plugin was needed for this to work.

However, the Jakarta version of ServiceNow has this capability now, and it’s easy to use. We’ll walk you through the process below.

Go to System Definition > Plugins

Ensure the following plugins are active:

If they're not, then these need to be activated.

Once activated, the UI Page that was created can be modified as required.

Navigate to System UI > UI Pages

The Name of the UI Page that needs to be edited is wo_accept_signature_mobile.

Customise the HTML as required (add logos, text, etc.)

In the Processing Script section, customise what should happen when submitted.

By default, the signature is saved into a table named "signature_image". It’s a good idea to create a new reference field in your incident record that references the signature_image table.

That way, once submitted, the incident record can be updated with the signature.

Here's some sample code to start with (within the OK section of the code):

            var sig = new GlideRecord('signature_image');

            sig.addQuery('document', document_id);

            sig.orderByDesc('signed_on');

            sig.query();

I did this here in case there were multiple signatures made; that way, it only displays the latest signature.

            var sigID = '';

            var sigTable = '';

            if (sig.next()) {

                            sig.signed_name=signee_name;

                            sigID = sig.sys_id;

                            sigTable=sig.table;

                            sig.update();

            }

            var inc = new GlideRecord(sigTable);

            inc.addQuery('sys_id', document_id);

            inc.query();

            if (inc.next()) {

                            inc.u_signature_reference = sigID;

                            inc.update();

            }

            response.sendRedirect(nav_url);

            var message = gs.getMessage('The signature has been accepted');

            gs.addInfoMessage(message);

Once the UI pages are ready, they need to be added as a UI action for the mobile device.

Navigate to System Mobile UI > UI Actions – Mobile

Click on New to create a new mobile UI action for an Incident.

In this example, it's been set so that once the action is clicked on, it saves whatever changes were made, then opens the venue_signature UI page that was defined before.

In this case, all that is required is the current.sys_id. However, to make it more flexible and work with other tables (aside from Incident), the table_name is also sent.

Note that this will work with desktop UI Actions too. So if a touchscreen is available, customer signatures can be added through there as well. Otherwise, a mouse can be used to get the customer's signature for the incident.

Need support for your ServiceNow instance? JDS specialises in providing support, both throughout the implementation stage and after implementation is complete. Contact our Support team for more information.

Our team on the case

Work hard, work smart.

Wei Liang Yau

Consultant

Length of Time at JDS

Since October 2015

Skills

LoadRunner, ServiceNow, AppDynamics, JMeter, C#, SharePoint, Visual Studio, LAMP (Linux, Apache, MySQL, PHP)

Workplace Solutions

Performance testing, ServiceNow ITOM

Tech tips from JDS

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.