How We're Saving $200k+/yr With Our Own Appsmith Customer Support Solution
Customer support tools can get expensive, especially when you need multiple different tools and multiple different licenses for each tool so that your team can effectively collaborate. In addition to the cost, an ever-growing list of expected support channels makes it hard to get visibility across all customer issues and triage them effectively to your engineering team.
This is the situation we found ourselves in at Appsmith: we were unable to keep up with the high volume of customer requests across multiple channels. In this article, we’ll talk about the exact problems we were facing, how we used Appsmith to integrate all of our support tools, and how this saved us a ton of money in the process.
Multiple channels, multiple tools … and everyone needs a paid license
We want to make it as easy as possible for the Appsmiths in the community to communicate with our support and tech teams in whatever way works best for them. For some this is email, for others it’s through our onsite chatbot, and for others it’s through chat apps like Discord.
Unfortunately, we couldn’t find a single customer service tool that supports every channel our customers use, which means we have to rely on multiple tools. We use:
Zendesk for requests that come in through email
Intercom for our on-site chatbot
Discord to communicate with users through our #support channel
Front as a layer behind Intercom and Discord to standardize metadata
Using four different tools to manage support tickets was unwieldy, and we needed to consolidate them into a single back-end system. The problem was that Zendesk doesn’t provide native integrations for Discord or Intercom.
After running into multiple dead ends (including Make.com, our usual go-to, which was too simple for our complex requirements), we decided to use Appsmith to build an application to integrate our support channels. There were three major problems that we wanted to fix: the increasing amount of time it takes to resolve a ticket, the growing cost of our support ecosystem, and our visibility over issues that are impacting our users.
Problem 1: it takes too much time to manually manage multiple customer touch points
Engineers at Appsmith use Slack to collaborate internally and resolve all kinds of issues that customers are facing. The main challenge for us was making sure that the information our users are providing goes directly to our engineers, so that the support team doesn't have to play a middleman role.
We noticed that the support team was doing a lot of manual work to maintain the flow of information from our customer-facing apps like Zendesk and Discord to our internal apps like Slack. To improve speed and efficiency, we wanted to avoid relaying important customer information through multiple touch points.
On top of this extra time and effort from the support team, sometimes important information from our users wouldn’t reach the right engineering team members, which led to worse customer support outcomes. These issues were directly impacting the response speed and quality from our support team.
We believed these issues could be solved by consolidating all customer communication on the back end. Engineers would always have access to the entire conversation with customers and the support team would never have to manually relay any information back and forth.
Problem 2: more channels makes contacting us convenient but increases costs
Here are our estimates of how much it would cost us to give everyone on our team (~90 customer support reps, product engineers, product managers, and engineering managers) full access to collaborate.
Zendesk: ~$162,000/yr ($150/mo/seat)
Front: ~$64,800/yr ($60/mo/seat)
Intercom: ~$106,920/yr ($99/mo/seat)
Discord: free
There was no other way to facilitate the collaboration between engineering and support other than to pay for 90+ seats to Zendesk, Front, and Intercom. As we are a small team with a limited budget, we couldn’t achieve the depth and quality of collaboration that we wanted without paying hundreds of thousands of dollars per year. This had a direct impact on our top-level metrics like response times and response quality.
However, with a single application, we could drastically reduce the number of seats we needed for each tool.
Problem 3: multiple tools makes it easier to lose track of important issues
Because we were using several different tools, we didn’t have a uniform way of tagging tickets with metadata and tracking important metrics. Engineers would have to become accustomed to working with multiple different methods of tagging customer support tickets. On top of this, Discord and Intercom were extremely limited in the type of metadata they could track.
Because of these tracking issues, our customer support analytics were unreliable. We couldn’t collect the same kinds of information across the different platforms, so there was no standardized way for us to build queries to dive deeper into our data and identify larger trends.
These tracking issues led directly to a worse customer service experience. For one, there was poor visibility as engineers would have to manually go into the different tools and publish the highest priority issues (from paying customers) pending on engineering. It was also difficult to see which teams owned which issues when engineers were reshuffled across teams, which led to several issues slipping through the cracks.
A single application with standardized tagging could avoid these issues altogether by giving us a real-time overview of our customer support pipeline at all times. This would also allow us to store a consistent set of metadata in all support tickets no matter which channel they were generated from.
We specifically liked Zendesk’s methodology of tracking metadata because it allowed us to generate a lot of insights for our product and engineering teams. For example, we could track the kind of environment it impacted, the type of issue, target features, etc. That’s why we decided to model the metadata for our own solution on Zendesk.
Our solution: an app built with Appsmith that consolidates all of our communication with customers into one spot
Without Appsmith, building an app that had exactly what we needed and was reliable enough to deploy across our entire organization would have been a monumental undertaking. With Appsmith, however, it was surprisingly straightforward. We were able to build the basics of this tool, which we’ve internally called A-force, in as little as two weeks.
We started by identifying the common metadata that we wanted to collect from user support tickets, and then used an internal database to aggregate that data from Zendesk and Front. Once Appsmith Workflows came out, we started experimenting by putting in place various workflows to keep the various datasources synced. It turns out that it took only two weeks to build an app similar to Zendesk to manage all of our support tickets in one place.
How we built it
Our customer support application consolidates all tickets opened from our three support channels: our Discord #support channel, our Intercom on-site chatbot, and emails to our support team that are transferred directly to Zendesk. Because Discord and Intercom are tricky to integrate with, we use Front as a layer between our database and Intercom and Discord.
We then use Zendesk and Front APIs to update those systems and communicate with users and “rules” to update our internal database whenever any actions are taken on those tools. We use Appsmith workflows to maintain a bidirectional data sync between Zendesk and Front and our database.
Without workflows functionality in Appsmith, this would have been extremely difficult, if not impossible. In total, we use 8 workflows to perform our bidirectional data syncs.
How it works
Within our database, we store metadata modeled on what is available in Zendesk. That way, each ticket has the same fields and same data being tracked, whether it originated from Zendesk or one of our other customer support channels.
We track the following metadata:
assignees, so that we have clarity on which team owns which deliverable
priority tags, so that we can effectively prioritize the most important issues
customizable tags, to indicate other important information like the affected product area and Appsmith version
information about the customer that opened the ticket
This metadata serves as the bedrock for our customer support analytics. Because we can add so much additional metadata for each ticket, we can generate comprehensive reports to find out whatever information we want across our entire customer support pipeline.
For example, we could find out how many critical issues we have open (and pending on our team) at a specific time, or the number of issues per product area, which is a sign of where we need to put more attention into making the product more intuitive. And because we fully control the tool, we can easily build out any other reports that we think of in the future.
We also store the entire conversation with the customer within the ticket so that our engineers can understand the entire context of the issue. Engineers can also respond directly in the ticket and the response will be propagated to the user on whatever channel they opened the ticket from (email, chatbot, or Discord thread). We can also discuss these issues further internally in Slack since each ticket has a unique, shareable URL.
We have also directly integrated AI functionality into our tool to further speed up our support processes by leveraging Appsmith AI, our native, 100% free AI model. We use Appsmith AI to read the entire conversation thread from within the app, then provide an AI summary to quickly get newly assigned team members up to speed.
The results: we save time and money, and correctly prioritize and follow through on all issues
We estimate that we’ve saved approximately 1.5 hrs/day for each support rep as they no longer have to constantly bounce back and forth acting as the middleman between customers and the engineering team. Today, we pay $2,880 annually for four seats of Front and $9,000 annually for five seats of Zendesk (as opposed to the $64,800 and $162,000 that we would have otherwise had to pay each year).
Saving time and money is always great, but what’s even more valuable than that is the insights we can now identify from our data so that product managers and engineering managers can collaborate to better serve our customers. It’s always clear what the priorities are, who owns what, and which product areas as a whole need more attention.
This tool is not just a user interface that helps us with visibility. It's become the glue for the whole customer support team. It's actually automating work, streamlining other workflows, and helping us prioritize the issues that are truly most important to our customers.
When our customers succeed, we succeed
Now that we have an efficient, highly-automated single source of truth for customer support tickets across our business, we are looking to gain even deeper insights into our support data with more in-depth analytics and KPI tracking.
To start, we plan to directly measure resolution time and implement more in-depth AI customer sentiment analysis as a proxy for response quality. The sky's the limit list because we’re basically creating our own analytics. We can add anything we want or anything that we think of in the future.
We’re using Appsmith to run major aspects of our business and we think you should too. Check out the different Appsmith versions available, including the free-forever cloud hosted version. And if you have any questions about Enterprise support, be sure to reach out to us as we’re always happy to talk!