A Software as a Service (SaaS) company hosts an application and makes it available over the internet to many customers. Their customers will usually subscribe to a billing tier, for example, Starter, Pro, or Enterprise, and pay on a monthly or yearly basis. To serve these customers at scale, SaaS companies face many operational challenges that require not only new processes, but also new custom internal software to be written by their developers.
Initially building out internal tooling seems to be a small and lightweight project, however roadmaps quickly grow to months and code deliveries take weeks. In this post we outline the common internal tooling challenges that we’ve seen SaaS companies face and how Superblocks can help save developers 100s of hours to re-allocate to the core product roadmap.
When building out internal applications within a SaaS company, developers need to understand the intended audience. Who are they, what is most important to them, and where does the required data need to be gathered from? There are many different teams and use cases that are unique to the organization but below are a couple of examples.
Customer Success - Customer Success teams’ focus and interest is typically in customer management and expansion opportunities. For these teams, an understanding of customer health is essential. Are SLAs being met and are support requests being dealt with promptly? Machine learning is a great asset in identifying areas for expansion by helping surface signals of potential customer growth. Data required for these use cases could typically be Salesforce, Jira, Datadog for SLAs, and Python scripts for machine learning.
Support Team - The Support Team requires a view of a customer’s data mapped to tickets and in-app chat tools, as well as various aggregations and views on ticket queues, chats, and SLAs. They may also require a suite of tools to manage elements such as feature flags and facilitate troubleshooting. Data for the support team could come from Salesforce, Zendesk, Intercom, Datadog, and many internal scripts and systems.
Already the landscape is becoming complex with just these few simple examples. When it’s time to architect the systems and begin to build them, the development team now need to think about how to integrate with the different platforms and systems, authentication and role-based access controls (RBAC), single sign-on (SSO), security, audit logging, scaling and uptime.
As time goes on, more products, more regions and more teams will come along, adding to the complexity. The result is that these tools become expensive to build and maintain, and takes away development time from the core SaaS product.
Superblocks is specifically designed to help developers accelerate internal tooling around customer data to surface and act on high signal data at the right time.
Customers like Alchemy have built Superblocks applications to manage customer accounts, invoicing and spot product usage trends via daily Slack alerts, saving their engineering teams weeks of effort.
Rudderstack developers built Superblocks applications for CSMs to get Slack alerts on account product errors, Marketers to manage UTM parameters for marketing campaigns and Engineering to run a PR audit all within 1 week.
Rockset Sales Engineers, within two days, built Superblocks applications for Sales and CSMs to review all trial usage, update account information and proactively understand spikes and drops in product usage or billing.
A key to the success of a SaaS company is successful customers and lots of them. A customer 360 view allows members of the company to understand their client base down to the user level as well as answer questions such as:
To achieve this centralized view, data will need to be pulled from multiple sources such as Salesforce, Zendesk, Jira, Stripe, Snowflake, Internal APIs and production databases.
The Customer 360 application built in Superblocks above takes the instant messaging SaaS company Slack as its example. Some key business metrics that a company such as Slack may track are:
Surfacing these metrics, from multiple sources and splitting across potentially hundreds of thousands of customers, in an easy-to-use way is a challenge. Superblocks’ drag and drop UI makes it effortless for developers to build an interface that can pivot to individual customers and provide easy-to-read charts displaying KPIs.
The get_account API loads customer data from Postgres and Salesforce, it then uses Python to merge the datasets together into JSON for the Application to display. Combined with Event Handlers, the API is called to load a new account when the account dropdown is used to select a different account.
Sending out invoices to customers is a repetitive task that is error-prone and a great candidate for a developer to automate. A Superblocks Workflow can be used to load data from Salesforce, generate a PDF saved in AWS S3 and then email the respective customer with the invoice attached.
Creating this as a workflow provides a streamlined, error-free, repeatable process which can be called via a REST API, or directly from a Superblocks Application.
Creating and sending daily or weekly reports is another time-consuming and costly task that can be easily automated. Using a Superblocks Scheduled Job ensures that the most up-to-date data is used and allows for centralized development and change management as business needs evolve.
The Company Daily Report scheduled job below reads customer information from Postgres and usage data from Snowflake, then combines the data with the Pandas Python Library. Finally, a formatted message and chart is posted to a Slack channel.
Superblocks has helped hundreds of SaaS companies move faster and gain deeper insight into their customer base. By creating internal tools in a fraction of the time and deploying fast, organizations save 100s of developer hours and 1000s of Sales, CS, Marketing and Finance hours, accelerating the ability to reach new markets, launch new products and scale back office operations.