What to Do When Being Customer-Centered Meets Technical Challenges

When customers need information or help with a software product they're using, they want it now. Everything to support their needs, like updates, downloads, licenses, technical support (asynchronous and immediate), answers to questions about how to do something, requests for training or additional services, access to documentation, release notes, videos, etc, should be at the support technicians' fingertips.

It's frustrating for users to have to click around looking for the answers or resources they need, or request help. They need access to information and help in a way that they can use easily and effectively.

There are many technical ticketing systems to build a customer service portal. Off-the-shelf solutions that can't be customized might be fine for relatively simple customer service, but more complex products and their supporting services might require a more customized customer service experience.

In our case, the customer service center is the main communication hub between us as a digital automation software (PaaS platform) provider and our customers. Developers and business users use it to find resources and to open support, expertise, and training requests.

More and more potential customers are asking us about after-sales support, and not just what is available, but how they can access it and how easy it is to get hold of. We have actually worked this topic into our pre-sales demos because it can be a factor in a potential customer's ultimate decision.

Whenever an organization decides to go the custom route rather than using off-the shelf solutions, it will face a set of unique challenges. But the advantage of custom development on a platform that provides coding extensibility is that there is almost always a way to work around a problem, even as PaaS packaging brings some extensibility constraints. In our case, we faced four major (and many more minor) challenges in building a customer service center that incorporated both access to a variety of resources and helpdesk ticketing.

The challenge of customization

What is presented to an individual when they arrive at the customer service center depends on each customer's subscription status, so that status has to be confirmed and taken into account automatically to configure the page before the user even sees it.

The challenge posed by CRM integration

When companies use CRM systems with a rich set of APIs for communication (in our case, Salesforce), setting up two-way communication between the customer service center and the CRM is very useful. But requesting information from the CRM each time it is needed to display in summary tables or detailed views is slow and can significantly degrade the user experience.

The challenge of file storage

Some of the features in a customer service center require sending and receiving files: attaching log files to a customer's case, downloading product releases, generating license files, and so on. Using the local filesystem is not an option on a PaaS, and using (S)FTP(S) might not be an option for security reasons.

The challenge of external executables

One of the main limitations of a PaaS is that you can't have access to the underlying systems, in particular the infrastructure. On premises, it's fine to run external pieces of code (shell scripts, jars, etc.) from the platform environment to generate licenses. Within a cloud environment, this is not possible.

Ultimately, the cloud production environment for a PaaS-based customer service center solution can be clustered on containers running behind a load balancer, with the databases backed up every day. HTTPS should be enforced by default as well as by security policies.

All cloud vendors offer Java software development kits that make them easy to integrate inside integration connectors and REST API extensions, and we used them extensively in our project. Functions are easy to integrate through the Java SDKs of most cloud vendors. This option brings a full range of possibilities, as functions can be written in a wide range of languages for many purposes, such as allowing external code to generate the unique licenses the customer service center must provide to each customer.

And to mitigate slowdowns due to frequent calls for CRM data, we chose to integrate a distributed cache to store the information locally.

A Customer-Centered Customer Service Center

The custom-built customer service center can leverage the power of CRM data organization and management and of a standard helpdesk ticketing system through integration. At the same time it includes key technical elements (like licenses) and other information not contained in the CRM (access to documentation and training), all presented in an interface designed and tested with usability best practices and the advice of usability experts.

As an added benefit, the business process management-based platform also shows customers visually the progress of their individual helpdesk and other requests.

Considering the customer journey, offering a one-stop customer service center helps potential enterprise customers in their decision process about whether to choose a particular software or platform solution. Once they have acquired the solution, the customer service center becomes a practical tool for their developers and business users.

It would be nice if customers never needed help and support, but the real world says otherwise, and giving them an easy-to-use, fully loaded place to go for help can be an innovative source of pride.


Shamil Hassanaly is chief customer officer of Bonitasoft.