Blog

Mastering Modal Dialog Boxes

Modal Dialog boxes are a great way to enhance the user experience and provide more detailed feedback to users than a default browser popup.

Recently, we had a challenging set of requirements from a customer. They needed a bunch of mandatory fields (easy enough with UI Policies) but there was a twist—they needed:

  • Fields that were mandatory ONLY if the person wanted to send the record for approval
  • Four fields but ONLY one of the four is mandatory (ie, put data in any one field and all four are good to go)
  • There had to be at least one record in a related list

Modal dialogs are awesome!

We developed a simple approval dialog box for a UI action to cater to these requirements. It’s a good example of how complex requirements can be distilled into a simple solution.

Have fun and happy coding!

Understanding your Customer Journeys in Salesforce with AppDynamics

The Problem

JDS Australia works with numerous customers who utilise the force.com platform as the primary interface for their end users (internal and external) to execute business critical services. The flexibility and extensibility of the component based Lightning framework has allowed businesses to customise the platform to meet their specific requirements.

However, many of these companies struggle to monitor, quantify or pinpoint the impact of performance in the Salesforce platform to their end users and ultimately their business. Furthermore, there is limited capability to provide detailed Salesforce information for root cause analysis (e.g. is the problem with a particular lightning component(s) vs core Salesforce platform vs multiple pages?).

The Solution

Using AppDynamics Real User Browser Monitoring (RUM) coupled with advanced JavaScript configuration, we have created a solution.

Unlike traditional methods involving logfile or API based monitoring; real user monitoring collects rich metrics from the end users’ perspective. JDS has also further integrated  additional custom code to identify AJAX requests and inject page names into the stream and provide business context and make sense of the data.

Dashboards provide Salesforce Performance at a glance

Additionally, AppDynamics RUM is able to identify and dynamically visualise each step of Customer Journeys as they traverse Salesforce, in near real time. 

Using the collated metrics these businesses have been able to proactively alert support teams of issues, and also utilise the historic data to analyse customer behaviour to understand how customers are using the platform. For example, expected user journeys vs actual user journeys.

AppDynamics RUM captures detailed diagnostic information to help triage issues, including:

  • Single Page Application performance
  • Page Component load details, 
  • AJAX requests, 
  • Detailed Error Snapshots
  • Dynamic Business Transaction Baselining (Normal vs Slow Performance)
  • User browser version and device type,
  • Geographic location of users,
  • Connection method (e.g. browser vs mobile), and device type. 

AppDynamics RUM can also provide direct correlation to AppDynamics APM agents to combine the ‘front-end’ and ‘back-end’ of these user sessions where Salesforce may traverse additional down-stream applications and infrastructure.

Why JDS?

As experts in Application Performance Management (APM) and Observability, JDS have extensive experience in helping our customers determine the root cause of performance issues.

Contact us at [email protected] to discuss how monitoring Salesforce can be used to understand your end users and make informed decisions with quantifiable metrics. 

5 Ways uberAgent Measures Your Employee Digital Experience

Measuring employee digital experience is a great way to assess how well your systems are performing. With the move to working from home there is now greater importance in making sure your IT services can support multiple device types and varying network conditions. This scenario is where uberAgent shines.

uberAgent is a user experience monitoring and endpoint security analytics product that integrates with your Splunk environment. uberAgent provides rich details on user experience whether they are on a Mac, PC, Surface, or virtual desktop like Citrix or VMware.

Here are 5 ways uberAgent can help you evaluate your employees’ end-user experience – and troubleshoot any issues.

Logon Monitoring

A logon is your first chance to make a good impression. No one likes to wait, so when users start to complain of slow logon times you need access to everyone’s details to understand what is going on. uberAgent for Splunk captures everything you will need, giving you everyone’s logon time, and where that time is being spent. You can review the details for a group of users, or drill-down to one specific user.

Logon time is broken down by the shell startup, group policy processing, profile loading, and group policy and AD logon scripts. You can compare users with different characteristics to help identify where time is being spent. If your group policy is taking too long for some users, you can drill down to see how much time each policy is taking. 

Logon Monitoring dashboard

Application Usage

Measuring the user experience of applications can benefit both application owners and end users. If users are reporting slow performance, it is important to understand what is happening on the system. Is performance poor due to the user’s memory or CPU? Is storage or bad network connectivity the issue? Could it be slow because of the many tabs open in their web browser? Or is the issue firmly with the application?

uberAgent will give you a clear picture of what is happening on each user’s device. Comparing all users can provide insights into how applications are performing throughout the day. You can view details about crashes, load times, memory/CPU/disk usage, network connectivity problems, and even understand how often the app freezes.

There are many other benefits to getting a full catalog of deployed applications. uberAgent tells you which applications are installed, and which of those are used. You can understand how many licenses will be needed for an application, and plan purchases and upgrades around usage.

Application Performance dashboard

Network Monitoring

A user’s internet connection can play a large role in the perceived performance of applications.  When users are working remotely, they may not always have access to high-speed internet connections. With uberAgent’s network monitoring capability you can easily see how much data is being transferred, to where, and exactly how long that took. Built in dashboards can show you connectivity issues broken down by user or application. You can separate latency issues in Citrix sessions and latency in Citrix hosted applications, helping identify if the user’s connection or an issue at the data centre is the cause.

Network Communications dashboard

Browser Application Experience

With the shift to cloud and web-based UIs, it is important to include web application performance in measuring overall user experience. With plugins for Internet Explorer, Firefox, and Chrome, uberAgent can delve into the browser experience without needing any code changes to the monitored apps.

Details about page load times, render time, network communications, errors, and more are available by application or web page. Measure the performance of web-based apps whether they are hosted internally or available in the cloud.

The light-weight plugin is a trusted solution with over 600,000 downloads in the Chrome store.

Browser App Performance dashboard

Experience Score Dashboard

Individual metrics are useful for troubleshooting individual issues. To get a clear picture of the overall user experience, uberAgent creates a single user experience score. The experience score is a single view that shows the current and past status of all devices, applications, and users monitored by uberAgent. It allows for proactive monitoring of your environment, reducing downtimes and costs.

The trend of this score can let you know how the user experience is going, and allow you to compare scores across different days, users, or applications.

The experience score dashboard calculates and visualises experience scores for the entire userbase, breaking the data down by category and component, highlighting components where potential issues are originating from. The dashboard also provides quick access to important KPIs like logon duration, application responsiveness, and application errors.

Experience Score dashboard

These five benefits are just the start – uberAgent has many more features built in. With the flexibility of the Splunk platform you can even extend the dashboards, alerts, and reports to suit your own requirements.

JDS has extensive experience successfully configuring uberAgent for our customers. JDS is a gold partner of uberAgent, so we can install, configure, and provide you with licenses. If you would like to take advantage of the impressive user experience monitoring capability of uberAgent, get in touch with JDS today.

JDS Appoints John Banks as National Sales Director

JDS Australia has appointed former IBM and Micro Focus executive, John Banks as the National Sales Director.  John will be responsible for all aspects of growth and customer success for JDS, reporting to Managing Director, John Bearsley.

“We have undergone a major realignment of JDS towards a practice model,” Bearsley said.  “In this new role, John will add a new edge to the team, bringing new names to the organisation, whilst expanding or engaging with our loyal customers.  He brings a wealth of industry and business growth experience to the JDS team.”

John Banks has over 35 years of ICT industry and management experience across 40 countries.  As Vice President for GBM Software in Dubai, he managed teams throughout the Middle East.  He has held IBM executive positions over 16 years in outsourcing and software divisions across Asia Pacific, and most recently served as Sales Director for Micro Focus here in Australia.

“In the current climate of ‘onshoring’, Australian companies need partners that they can rely on for delivery, but they also need trust,” said Banks. “Being an Australian-owned company staffed entirely by Aussies, JDS is now perfectly positioned to build upon the history they have developed with their customers over the last 17 years.  I am very excited to have the opportunity to be a part of this next phase of JDS’s story.”

Implementing Salesforce monitoring in Splunk

The problem

A JDS customer embarked on a project to implement Salesforce to provide their users a single user interface to fulfil their customer needs.  Their aim, to make the interface easy to use and reduce the time to process customer requests.  At the same time, the business had to ensure that their customer data stored in Salesforce was secure and to be able to detect any malicious use.

The Solution

Implementing Splunk with the Splunk Add-on for Salesforce enabled the collection of logs and objects from Salesforce using REST APIs.  This in turn, enabled proactive alerting and the creation of informative dashboards and reports to satisfy the business’ security requirements.

Scenarios detected:

  • Failed or unusual login attempts (same user tries to login from multiple IP addresses)
  • Large amounts of data extracted from Salesforce
  • Unauthorised changes in Salesforce configuration such as Connected Apps settings or Authentication Provider settings
  • Integration user account activity occurring outside of scheduled job runs
  • Privileged user activity
  • Apex code execution

All of this was achieved by setting up the required data inputs via the Splunk Add-on.  Creating lookups to enhance the alert content with meaningful information and macros for re-usability and ease of administration, then adding alerts to ensure the required conditions were notified to the operational support teams.

Splunk dashboards and reports built on Salesforce data allowed the business to easily view login patterns and analyse EventLog events and Setup Audit Trail changes.  Additionally, Salesforce data ingestion and alert summary dashboards were added to assist the support team to identify issues or delays in data ingestion as well as review the number of alerts being generated over time.

When developing any application that provides access to secure information, it’s important to not only monitor in terms of user experience, but also look at security aspects. Our customer was able to satisfy the security monitoring requirements of the business with the Splunk Add-on for Salesforce and achieved their go-live target date. The configured alerts will keep them informed of any potential security issues, giving them confidence that the platform is secure. The accompanying dashboards provide an intuitive summary of user actions, all backed by an extended data retention policy in Splunk to satisfy regulatory compliance. With SalesForce data now available in Splunk, they are planning additional use cases to not only monitor security, but get insights into how the platform is used by employees.

Why choose JDS?

JDS has experience and expertise in bringing SalesForce application data into Splunk . If your focus is on security, performance, or custom monitoring, speak to JDS today about how we can convert your SalesForce data into useful insights.

Virtual Agent: Understanding The Limitations Of LITE

Understanding the difference between Virtual Agent LITE and the full Virtual Agent offering is a must when planning your organisation’s Virtual Agent journey.

The following matrix will help you to understand the benefits of the Virtual Agent LITE product as a starting point, whilst clearly highlighting the immense value that can be realised in proceeding with the full Virtual Agent offering.

Want to know more? We’d love to hear from you via [email protected] or 1300 780 432.

ServiceNow & ReactJS

Technology Background

Like any enterprise platform, ServiceNow has a complex relationship with its underlying architecture. Originally, ServiceNow was built on Java using Jelly XML for server-side component rendering. For its time, this approach was cutting edge.

As the Internet matured and social media ramped up, Google developed a clever client/server binding language called AngularJS that allowed for dynamic HTML pages to be rendered. ServiceNow adopted this only to have Google discontinue AngularJS in its original form. ServiceNow’s implementation of AngularJS as found in the Service Portal is world-class, but unfortunately, the underlying technology is no longer actively supported.

At this point, the architects at ServiceNow sat back and took a long hard look at emerging technologies and trends among the tech giants. It would be fair to say they were once bitten, twice shy. In developing their Agent Workspace UI, ServiceNow settled on using ReactJS (with GraphQL for data management) because of its broad scale adoption across the industry.

ReactJS is used by Facebook, Instagram, Netflix, WhatsApp and Dropbox to name a few, so ServiceNow are on safe ground with this technology.

Implementing ReactJS In ServiceNow

Whereas with AngularJS, ServiceNow provided an online IDE for widget development, at the moment the only way to build a ReactJS application for ServiceNow is to work offline. Once built, your ReactJS file can be deployed to ServiceNow as a packaged application.

There are pros and cons to this approach. On the positive side, ReactJS applications can be deployed with little to no overhead from ServiceNow, making them astonishingly fast and scalable. The only con is you need your own Node JS environment and ReactJS development platform.

Why Use ReactJS?

Why would anyone develop a ServiceNow application with ReactJS?

The answer is:

• ReactJS is an industry standard and so there is a vast pool of experienced web developers to draw upon
• ServiceNow provides a highly-scalable platform for ReactJS
• ServiceNow has built-in granular data security and APIs to manage data access
• ServiceNow is extremely efficient at workflow management and integration supporting ReactJS

Rather than building and managing a full-stack service platform for a ReactJS app, your app can be deployed quickly and easily through ServiceNow. Given the amount of effort and due-diligence required to operate a full-stack service at an enterprise level, ServiceNow provides a convenient shortcut.

When it comes to ReactJS, ServiceNow is effectively operating as PaaS (Platform as a Service). Think of your ReactJS app as a beautifully designed architectural home. ServiceNow allows you to position it as a penthouse suite without the need to worry about the rest of the building beneath it.

Creating A ReactJS Application

We’re going to create a nice simple ReactJS application listing contact details.

I recommend using the Code Sandbox for ReactJS applications as it is easy to use and provides an instant preview of your work.

To keep things simple, I’m going to use the ServiceNow REST API for Tables as my data access point.

Once you’ve signed into the Code Sandbox you’ll be assigned to one of their temporary virtual servers. The first time you run the code below it will fail because of cross-origin resource sharing restrictions (CORS).

If you look at the console log, you’ll find your temporary virtual server name. From there, you can set up a CORS exception that will allow access to your instance. Once that is in place, the application will work properly.

Without getting into too much detail, about how ReactJS works, we’re going to set up two files, our core Apps.js and contacts.js. We’re going to create a new folder called components to hold our contacts.js template.

Notice how when I hover over the line src folder in the Code Sandbox I get options for a new directory and a new file. This is how I added /components/contacts.js

Let’s look at the code used to retrieve contacts from ServiceNow and display them using ReactJS.

App.js

import React, { Component } from "react";
import Contacts from "./components/contacts";

class App extends Component {
  render() {
    return <Contacts contacts={this.state.contacts} />;
  }

  state = {
    contacts: []
  };

  componentDidMount() {   
    //this is a sample web service you can test with
    //fetch('https://jsonplaceholder.typicode.com/users',{
    fetch(
      "https://{your-instance}.service-now.com/api/now/table/sys_user?sysparm_query=emailENDSWITH{your-email-suffix}",
      {
        withCredentials: true,
        credentials: "include"
      }
    )
      .then((res) => res.json())
      .then((data) => {
        console.log(data);
        this.setState({ contacts: data.result });
      })
      .catch(console.log);
  }
}

export default App;

As you can see, our Apps.js file refers to /components/contacts to get an HTML/ReactJS template. It also includes a simple REST call (fetch) that uses the ServiceNow Table API to retrieve information from ServiceNow.

To get this example to work, you’ll have to replace…

  • {your-instance} with your ServiceNow instance name
  • {your-email-suffix} with your organisation’s email suffix (ie, gmail.com, etc)


contact.js is our HTML/ReactJS template. It takes the data retrieved from the fetch and formats it for display. It’s pretty straight-forward and intuitive to read.

contact.js

import React from "react";

const Contacts = ({ contacts }) => {
  return (
    <div>
      <center>
        <h1>Contact List</h1>
      </center>
      {contacts.map((contact) => (
        <div class="card">
          <div class="card-body">
            <h4 class="card-title">{contact.name}</h4>
            <h5 class="card-subtitle mb-2 text-muted">
              Email: {contact.email}
            </h5>
            <h6 class="card-text">UserID: {contact.user_name}</h6>
          </div>
        </div>
      ))}
    </div>
  );
};

export default Contacts;

That’s it.

That’s a ReactJS application.

At this point, your ReactJS application should work. If it doesn’t, look carefully at the console log in your browser and check you’ve completed the steps listed above.

Deploying A ReactJS Application

ReactJS applications need to be packaged and deployed.

Code Sandbox integrates with Netlify to provide online packaging and deployment.

The deployment may take a few minutes.

Make sure you have a Netlify account (I use my GitHub account for all of these services so everything is centralized)

Once you’ve signed into Netlify, Click on the little download arrow to get your package ready for deployment to ServiceNow.

Deploying on ServiceNow is simple enough, but it is a little bit of a hack.

This advice may change over time as ServiceNow develops its offering further, but the sanctioned approach at the moment is to deploy ReactJS as stylesheets.

The reason for this is style sheets are resources that can be accessed without authentication. In essence, you separate your JS and CSS into different stylesheets and then reference them from an HTML page (such as a UI page or a portal widget). So long as ReactJS is listed as a dependency for that page, it’ll load in the background, recognize your React JS in the stylesheet and run accordingly.

For more detail on ReactJS deployment in ServiceNow, please refer to:


Have fun and happy coding!

ServiceNow Safe Workplace Suite

 

As Australia continues to establish it’s new COVID normal, the time has never been better to consider the utilization of ServiceNow’s Safe Workplace Application suite.

With JDS expertise on the Now Platform, you can set up a Health application for your employees in a fraction of the time a traditional Health & Safety solution would take to configure!

By using your existing data and business workflows, JDS can create a user-friendly experience that will help your organisation monitor the safety of your employee, visitors and your workplace as a whole.

Consumers of these services will marvel at its ease-of-use, while key stakeholders and managers will have immediate visibility into your organisation’s key return-to-work metrics through the platform’s reporting & dashboarding capabilities.

As an ELITE ServiceNow Sales & Services Partner (one of only four local elites in the ANZ region), JDS works with our customers to automate and innovate deliver across all lines of business, with the Safe Workplace Suite being no exception!

To learn more, contact our team today on 1300 780 432, or email [email protected].

Performance Testing of Large Scale National Sales Event Website

Summary

JDS was engaged to performance test a National Sales Event at a very large scale in 2020. There are multiple events which happen throughout different periods of the year but this particular engagement was in preparation for the largest sales event of the year.

Test Scenario Approach and Modelling

Typical performance load tests would start off with a conservative ramp up followed by steady state. This can be seen in the image below.

This particular engagement called for a different kind of performance load test scenario which was very unique as it required two aggressive ramp ups across two different user groups (see image below).

The performance load test was also unlike any typical load tests as it required a large number of virtual users to be tested against (>100,000). Multiple approaches with available performance test tools were considered and the final call was to run the test via JMeter as it was cost effective and lightweight in terms of load generation resource utilisation.

Load Generation Infrastructure Approach

Load generator infrastructure was created via AWS EC2 as this allowed quick stand up and stand down of infrastructure which would allow easier management of load gen infrastructure cost.

One key approach to testing especially with the AWS load gen infrastructure was to test the load in increments. This allowed testing to be done in batches with different levels of load instead of trying to attempt the full load at the first or second attempt. By doing this, the cost of standing up and managing the load generation infrastructure will be much less.

Findings

During initial testing with a smaller load footprint, a performance bottleneck was identified. At about 1% of the expected load it was found that there was an issue when it came to user sign in. Users were then not allowed to log in and were thrown off the site. If this had happen during Go Live, the business would lose out on potential customers and the user confidence of the website would suffer and result in less customers in the future.

Once that was resolved it was also noted that response time performance across the client website improved once the application servers warmed up once load was introduced and further dropped when auto-scaling on the environment was triggered with the ramp up of load.

Server warm up can easily be executed prior to the site actually going live by introducing some artificial load on the live production site. This was something that the client had confirmed was already in place.

To learn more, contact our team today on 1300 780 432, or email [email protected].

Working With ACLs In ServiceNow

 

ACLs or Access Control Lists are the process by which ServiceNow provides granular security for its data and can be applied to individual records, as well as fields within those records.

When working with ACLs, it is extremely important to note that the order in which an ACL definition is evaluated has performance implications.

These are:

  1. Roles
  2. Criteria
  3. Script

 

ROLES: FASTEST

Roles will evaluate extremely fast as they are cached in server memory, so using roles is always highly recommended.

CRITERIA: FAST

Conditions are based on values in the current record and will evaluate quickly, but only after the role has been checked.

Although you can have complex criteria using dot-walking (“Show related records”) these will incur a performance overhead as ServiceNow needs to load the related records.

In this example, the criteria is based on the company of the assigned person for that record, requiring ServiceNow to load TWO additional records to evaluate.

Remember, performance does not scale in a linear fashion.

Although criteria like this may seem blisteringly fast when looking at a single record in a development environment, it will be much slower in production as lots of people access records—and particularly if it is applied to a READ rule in a list view as the criteria has to evaluate for each and every individual row being displayed (multiplying the performance overhead).


SCRIPT: SLOWEST

Although slowest here is a relative term, ACL scripts will evaluate at least slightly slower than ACL roles and ACL criteria for a number of reasons.

Scripts are often needed in ACLs, but they should always be carefully considered for performance implications.

The best practice with scripts is to have them shielded by roles and criteria. In this way, the script won’t even run unless the ACL first matches the role and then matches the criteria, potentially sidestepping a performance overhead before it occurs.

Consider the following two ACLs. Technically, they’re identical, but one will run considerably faster than the other.

Even though they’re technically identical, the second ACL will be slower because:

  • The script will be run for ALL users and not just those that have the ITIL role
  • The script will run on ALL records not just those that are active
  • ServiceNow’s JAVA layer has to invoke a Rhino Javascript engine to evaluate this script

Ideally, scripts should only be used on ACLs that already have roles and criteria to ensure they’re only running when absolutely necessary.

ServiceNow is optimised to run ACLs extremely fast, but they can introduce a performance overhead on large instances with millions of records.

JDS is experienced in optimizing ACLs and can use a variety of methods to drastically improve ACL performance. For more information, reach out to the JDS ServiceNow team.

To learn more, contact our team today on 1300 780 432, or email [email protected].

How ServiceNow’s ‘Virtual Agent’ can assist your organisation: Part 4

This blog entry is part of a four-part blog series on how ServiceNow’s Virtual Agent can assist your organisation.

See Part 1 HERE

See Part 2 HERE

See Part 3 HERE

Part 4: Experiences Matter

Through this blog series I have spoken about, through Virtual Agent, it is easier to empower users, create more opportunities for contactless resolution and create better operational insights and accuracy.

This is to achieve an end goal.

This end goal is to achieve a better service experience for users and customers. Virtual Agent really drives this home by focusing on the elements mentioned throughout this blog series. This is largely due to the Virtual Agent’s ability to evolve as your employees and organisation does. It allows a user’s or customer’s experience to be front and centre, as it provides the opportunity to improve consistently, even if there is staff turnover.

This is done by bringing across the knowledge from previous employees to the current and future employees as a sort of synthetic genetic history (through the Virtual Agent's flows). Although in theory, staff turnover should happen less as agents can refocus on more engaging work due to the virtual agent taking over most of the daily mundane work. These blog entries have largely been focused on positives and the next point has only been touched upon previously, but a Virtual Agent is there to offer another option, not replace completely, for users to interact with the service desk. The key point there is that it is an option.

Offering Options

These articles have been centred around the reasons why Virtual Agent is a useful addition to your organisation and how it can dramatically improve the service experience, but Virtual Agent should never replace all other avenues that users can use to access the information or raise issues.

Some users know where to look, so forcing them to use the Virtual Agent would frustrate them. Not only that, sometimes it is an emergency, so being forced to go down the Virtual Agent path will just delay something that should not be delayed.

It is important not to forget the fact that accessibility is also important, so offering a phone helpline may also be helpful for users with poor eyesight or bad internet connections. In addition to this, there are some queries that are just so specific that doing anything other than chatting to a person will not be efficient or beneficial.

As a result, a Virtual Agent should not replace all other options as an attempted cost cutting measure or in an attempt to be “cutting edge”.

It may be tempting thought as your Virtual Agent matures that you consider outright replace certain options, but this should not be done without ensuring there are other clear options for your user base and that the service experience is not negatively impacted as a result.

Evolving Your Business

When you begin your Virtual Agent journey though, it may not solve the issue alone, but can gather more information before handing it off to a person via web chat or otherwise, which ensures the service desk can focus their efforts on more complex issues or necessary contact.

An example of this is serving the users better who need to user a different resolution method, such as a phone call. When a Virtual Agent becomes a more prominent element within you organisation however, there will be time for people to work on other more, previous considered “only if time persists” projects.

This is important for several reasons, but largely because it opens agent’s time to be able to work on a variety of other initiatives in the organisation. They can up-skill and learn skills to provide newer and more useful services to their customers. Service agents can strive to become more user experience focused and become experts in understanding how to help customers, as opposed to regurgitating the same information day in and day out.

Your business will be able to review new initiatives to either become more profitable, by being able to focus on what you currently offer or expanding and investigating options that previously seemed untenable due to resourcing constraints. Chat bots and Virtual Agents tend to be over-hyped, but using it correctly can be a huge benefit to your organisation.

Even if the Virtual Agent only helps in evolving your business only slightly, some of that hype is warranted as that may be enough to bring your organisation to the next level.

Summary

Over the past couple of months, this blog series has largely been focused on positives, but with every positive and idealistic plan in mind, it is important to have a dose of realism, which this blog entry focused on.

That’s not to say Virtual Agent is not a worthwhile endeavor, quite the contrary, but starting a journey with only the positives in mind can be potentially damaging to your organisation. In summary, in the first blog entry we focused on the concept of empowerment. Not only empowering users, but also service agents and the organisation as a whole.

This was further highlighted in the second entry when we focused on the user and service agent level by discussing the concept of contactless resolution. From a user perspective, this was being able to raise issues out of hours and solve it on their own when is convenient for them, without staying on hold whilst they are asked to turn their machine off and on again.

From an agent’s perspective, contactless resolution allowing service agents to work on different projects and stop working on mundane tasks day in and day out and now being able to focus on service experience. Then focusing on empowerment on an organisational level, as discussed in the third blog entry as a virtual agent assists with improving operational insights and accuracy. This meant using newly gathered and accurate data to improve the experience even further and potentially solve more issues proactively.

Finally, this article highlighted the fact that even though Virtual Agent has all these benefits, this is a journey that needs to properly be planned for and not used as the singular point of entry for a user or customer. This journey can be made easier by people who have helped other organisations down this journey, as they can bring their experiences and suggestions in the best way to introduce it slowly and effectively.

Without making this sound like a sales pitch, this is often where consultants come in to play and can recommend a good starting point to start this journey and equip your service agents for the future. Regardless however, I hope this blog series has been informative and has ensured that your customers and users are more a focal point than ever. Thanks for reading!

 

Thank you for taking the time to read this four-part series. If you have not already, take a read of the earlier parts and see what you missed!

If not, reach out to us at JDS Australia if you want to begin your virtual agent journey. In doing so, we hope that we can assist in empowering your people, allowing a higher rate of contactless resolution, improving operational insights and accuracy and ensuring that that experience of your users, matter.

How ServiceNow’s ‘Virtual Agent’ can assist your organisation: Part 3

This blog entry is part of a four-part blog series on how ServiceNow’s Virtual Agent can assist your organisation.

Part 3: Operational Insight & Accuracy

Every day that a service desk is operational, it creates data, both useful and not so useful.

As time continues though it can become quite overwhelming and the data that was once useful can be poisoned with data that makes it less useful. People tend to have different opinions, differing working styles and language quirks that is amplified when there is staff turnover.

As a result, the data they create is only as insightful as its consistency when dealing with a large amount of it.

Accuracy

Data accuracy and data in general is one of the most common issues in any organisation.

This can be due to several reasons, but there are some ways that inaccurate data that gets in the system can be avoided. When entering data repeatedly, it can be mundane, boring and although not done purposely, accidents can be and will be made. Not only this, individuals will normally only enter the information they want to or need to, so some insights that would be useful to know or capture simply won’t be. In making that more and more information mandatory however, it may even cause more mistakes as it is more work that does not appear immediately valuable to the people who enter it.

These are just some of the things that could be alleviated in a few different ways if required.

Virtual agents can assist in doing this entry without error, without complaints and because it will just do the same thing over and over, the mistakes will occur when done manually should not occur. This makes the resulting data more accurate. It is not only that however, it is something as simple as if someone has been worked on and has been resolved without contact.

You can track this, and the record will close once the conversation has closed with the virtual agent. In day to day work, you may be working on something that has been resolved, but you then go to lunch and forget to close the record, causing SLAs to breach and information to be forgotten. Once again, another possible data point that is compromised.

As a result, the way we attempt to resolve requests without contact needs to evolve, as the added complexity in certain issues of today’s world are not answerable with the previous methods described.

Insights

Accurate data and information is all well and good, but what is the point if it does not offer any real insight in how to improve your processes and business? This is likely because a lot of the information that is commonly captured is done only for contractual reasons.

Agents are not focused on improving service, because trying to capture this information and making it meaningful is a long and drawn out process This is often simply because everyone thinks differently and may enter the same different information differently.

Having a virtual agent alongside the journey though can assist in making this information consistent and capturing more information along the process in a logical matter as standard. Let’s think about the example of a few employees who are having issues connecting to the VPN.

In the various calls that had been made regarding VPN issues this week, Sam, Roger and Cameron have all been resolving these in different ways, but it has all been down to the singular issue. Sam has been saying it is because people are using their wrong username to connect to the VPN. Roger has been saying that people are attempting to use their email address to use the VPN. Cameron has been saying that people are not using their windows login username to use the VPN. If you read this on face value, they all appear similar, but requires someone that understands the issue to understand it it is all related to the same key issue.

Let’s just say now that these phone calls have now become a virtual agent flow that Sam, Roger and Cameron have designed with their years of experience on the service desk. They have created a flow talking about common VPN connectivity issues and listing off possible solutions in a logical step by step and conditional manner. In this flow, they also asking after each troubleshooting step if it helped or not. As the next person who has VPN connectivity issues continues along the process, they too have an issue that relates to the above scenario.

Now the virtual agent is answering it and provides the solution and tracks that a misunderstanding in what username should be used as a login method is extremely common and easily reported against. This is the case as the wording is consistent now. As a result of this, Sam decides that before people even request VPN access, he would highlight what format the username should be. In the meantime, Roger and Cameron are looking at what other common support issues they can resolve through the virtual agent and now have a more complex skill set then they did before through this design and continual improvement process.

This issue went through a few steps to get to this point but now is being proactively resolved by Sam highlighting the username format. As a summary, these steps were:

1. Reactive resolution: Numerous people called the service desk talking about service desk issues and spoke to Cameron, Sam and Roger about VPN connectivity issues.
2. Contactless resolution: The service desk realized this coming up and spoke about it in their daily standup, so Cameron, Sam and Roger created a virtual agent troubleshooting flow, capturing when this issue has been resolved.
3. Proactive resolution: Sam notifies users before requesting VPN access they need to enter a specific username and no more support calls are raised, minus the few that do not read the necessary steps correctly.

As issues progress towards the proactive resolution stage, the NPS and CSAT scores of the service desk improves, as less and less people need to wait in a queue to have their issue resolved or wait until they are answered from an email. This scenario, although may seem as a best case and overly convenient for the sake of a blog entry, is surprisingly a common situation that people find themselves in and can be brought across different less conveniently written scenarios. Even if the proactive resolution stage does not occur and the contactless resolution only occurs in half the scenarios, it is still a net improvement of never attempting to solve the issue. Out of the box, ServiceNow’s virtual agent can hook into its powerful survey application, so understanding what the service experience is easy to gauge as the weeks continue.

 

In the long run however, that should be a focus for the organisation as virtual agent assists in improving the service experience and as it should be highlighted, this matters.

In the fourth and final part of this four-part blog series, we will discuss just that, how service experience matters.

In the meantime, check out this great Virtual Agent demo from ServiceNow.