Aldo F
Aldo F

CRM Software for Company Internal Use

A showcase of a CRM web app built specifically for internal company use. The third-party software the company used had limitations in requesting new features. The objective was to implement custom functionalities tailored to their specific needs and enhance business efficiency.

Development Process

The company relied on third party software to manage the customer relationships. However, many of the features are underutilized, as most customer primarily preferred using WhatsApp to communicate issues. So we decided to build a CRM that focuses on WhatsApp communication.

We held a meeting and discussion with PM and devs and the objectives are:

  • Fast and reliable service
  • System that follows specific rules about customer complaint flow
  • Several custom functionalities

Research and Pre-design

Some of the APIs are already built and some of the requirements have been discussed, the rest is to validate the discussed objectives align with the tech stack. We took one sprint to explore several CRM apps and iterate on the findings.

Fast in User Experience

We frequently heard feedback from our users, saying, "It would be nice if it took fewer steps to get things done." In response, our priority is to ensure that the most important actions are displayed prominently and are easy to access.

For example, when user needed to grab a ticket quickly, we implemented a hover action that allows them to do so effortlessly.

By hovering, user can easily access the most important actions (Block, Snooze, Assign Ticket)

During early development, user needs often change, and we adapt to those changes as required.

Early development of ticket banner
Revised ticket banner after few feedbacks from user

Customer Complaint Flow

In this company, there are specific rules for handling complaints, including ticket numbers and several Service Level Agreements (SLAs). One of them is how complaint are handled.

Tickets marked as 'Selesai' (Solved) can be moved back to 'Antrian' (Queue), allowing agents to take them again. The ticket number will remain the same.

The interface also reflects which state of the flow the user is in, indicating their position in the process. Each state has different actions.

In Queued (Antrian), user can Assign the ticket to other agent or take the ticket themselves.
In Assigned (Ditugaskan), user can bring back the ticket to Queue, assign the ticket to other agent or solve the ticket
When the ticket is Solved (Diselesaikan), user can reopen the ticket back to queue.

Custom Functionalities

Based on the discussions with the PMs, and APIs that are already made, there are some custom features that needs to be implemented.

Inbox Message Blur

Blurred conversation preview

The objective is to prevent agents from seeing and selectively picking issues. This issue occurred in some divisions, so we made it as an adjustable setting

Different Inbox Filters

Filter can be applied to all inboxes or applied to each of three inboxes

Most CRM systems uses a single filter for all inboxes (Queue, Assigned, Done). Our user requirements specify that each inbox should have its own distinct filter.

Multi Number Indicators

Blue and orange line represents a different phone number

Indicators are considered valuable to our users for identifying which phone number a customer used to send a message, as we support multiple phone numbers. We implemented a colored line, and user can see which number corresponds to each color by hovering over the colored line.

Custom Report with Specific Variables

Heatmap showing the times when customers most frequently submit complaints

There are certain metrics that need to be collected and reported to evaluate each agent. One of the user requirements is a heatmap that displays the times when customers most frequently submit complaints.

The Impacts

After reviewing a lot of feedbacks, users have been proven to be satisfied with our custom made CRM. They are no longer overwhelmed with features that often unused, Instead, users are benefiting from features designed to ease their workflow.

Moreover, since the app is developed by our internal team, the overall operation cost has been significantly reduced. Service maintenance has also become more efficient, as users can easily submit feedback or feature requests.

Send Aldo F a reply about this page
More from Aldo F
Back to profile