Integrating a hand-signed signature to an Incident Form in ServiceNow

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
Tech tips from JDS

What is the difference between a Vulnerability Scan and a Penetration Test?
Read More

Manual Security Testing vs Automated Scanning?
Read More

Five Reasons Why Your Organisation Should Be Penetration Testing
Read More

Mastering Modal Dialog Boxes
Read More

Understanding your Customer Journeys in Salesforce with AppDynamics
JDS Australia works with numerous customers who utilise the force.com platform as the primary interface for their end users ...
Read More

Implementing Salesforce monitoring in Splunk
Read More

Browser Console
Read More

Glide Variables
Read More

Understanding Database Indexes in ServiceNow
Read More

Fast-track ServiceNow upgrades with Automated Testing Framework (ATF)
Read More

ServiceNow Catalog Client Scripts: G_Form Clear Values
Read More

Is DevPerfOps a thing?
Read More

Monitoring Atlassian Suite with AppDynamics
Read More

5 quick tips for customising your SAP data in Splunk
Read More

How to maintain versatility throughout your SAP lifecycle
Read More

How to revitalise your performance testing in SAP
Read More

How to effectively manage your CMDB in ServiceNow
Read More

ServiceNow and single sign-on
Read More

How to customise the ServiceNow Service Portal
Read More

Integrating a hand-signed signature to an Incident Form in ServiceNow
Read More

Integrating OMi (Operations Manager i) with ServiceNow
Read More

Implementing an electronic signature in ALM
Read More

Service portal simplicity
Read More

Static Variables and Pointers in ServiceNow
Read More

Citrix and web client engagement on an Enterprise system
Read More

Understanding outbound web services in ServiceNow
Read More

How to record Angular JS Single Page Applications (SPA)
Read More

Calculating Pacing for Performance Tests
Read More

Vugen and GitHub Integration
Read More

Filtered Reference Fields in ServiceNow
Read More

ServiceNow performance testing tips
Read More

Monitor Dell Foglight Topology Churn with Splunk
Read More

Straight-Through Processing with ServiceNow
Read More

Splunk: Using Regex to Simplify Your Data
Read More

ServiceNow Choice List Dependencies
Read More

Recycle Bin for Quality Center
Read More

Agile Performance Tuning with HP Diagnostics
Read More

Understanding LoadRunner Virtual User Days (VUDs)
Read More

Problems recording HTTPS with VuGen
Read More

Generating custom reports with Quality Center OTA using Python
Read More

Asynchronous Communication: Scripting For Cognos
Read More

How to fix common VuGen recording problems
Read More