Automating the customer journey with

To increase speed and reduce costs in the customer service process, we built an end-to-end web service that can handle customer queries autonomously.


The challenge of providing customers with the correct contact information for customer service questions when you have 21,000 selling partners is time-consuming and manual at Xomnia’s role was to provide engineering knowledge and extra capacity to the development team from the customer service department to help speed up their process. is the leading online retail organisation in the Netherlands, delivering value to its customers by developing web and mobile applications that embrace technological and business innovations.

During a call or chat, the customer service experts need to advise customers and use internal tools and services to redirect them to the appropriate 3rd party and inform them about their contact options. The challenge: to automate this process as well as possible.


The team developed a web service application to automate a customer’s interactions with’s customer service experts for a wide range of customer service-related questions. In a chatbot-like manner, and based on a variety of user input, the customer gets told about the best contact channels for their question. They find out whether or one of their 21,000 selling partners can best address their question.

The application was written in Kotlin and the service was based on Java Spring web application framework. It runs on the Google Cloud Platform on a Kubernetes cluster that simplifies scaling considerations. At the core of the application, there is a custom implementation of a Finite State Machine (FSM) that enables control of the process of the different stages of a chat with a customer. This determines which would be the most suitable next action depending on the information provided by the user, and the data retrieved from other services. The information needed by the FSM is persisted temporarily in a Postgres database, whereas data needed for analytical purposes are stored in Google Big Query.

Interface of's automated support chat
Interface of's automated support chat


Automating this process – so far a manual, time-consuming task which lacked sufficient granularity – helped to provide a faster and more intuitive experience for its customers while cutting costs for their customer service operations. Additionally, this project follows their strategic direction within the Customer Service domain towards AI and conversational solutions, intent recognition, speech and conversational analytics, Neural Network-based chatbots, and more, which will bring in a new era for the customer journey at