No-code tools have advanced to the point where they can be used to build your own SaaS platform, removing the technology roadblocks and accelerating the path from concept to revenue-generating business.
This post will look at the process of building a Business-to-Business (B2B) application. Consumer applications (B2C) generally have their own requirements and will not be covered here.
Building a complete SaaS platform from scratch can be a monumental task. Choosing a no-code platform that supports the following things ensures that you are spending your time creating features.
Business applications are used to help automate business processes. Companies have many processes and these processes are complex and involve many different people, each with their own role in the process.
A database is needed to support these processes, usually with many tables that are linked together in one-to-many and even many-to-many relationships. When considering a no-code tool:
Fundamental to creating a SaaS platform is the ability to easily support multiple customers, so it is essential that the no-code platform easily supports this as well.
Multi-tenancy allows you to segment a single database so that it will also support multiple customers.
The simplest and most flexible way of doing this is by using the security features of the no-code platform: Add a customer field to each of your data tables and then secure data using that field. The example below splits the Project table so that each user only sees projects for their company.
The example below shows how a security filter on Projects will limit a user to only see projects that match the customer they belong to.
Read more about multi-tenancy here.
Responsive web applications work in a browser and automatically adapt to whatever device and screen size they are running on.
A responsive no-code platform will adapt applications you build automatically without requiring custom CSS code or configuration. Create one application for a desktop and that application will work on a phone or tablet.
The no-code tool should come with a rich set of controls to create visual elements such as:
To integrate with other applications the no-code application should provide an API interface. Typically it will support REST and in some cases GraphQL. REST is most used for transactional interfaces to read and update data, whereas GraphQL is designed more for query interfaces, although REST can also provide significant query capabilities depending on how it has been implemented.
Conversely, a no-code platform should also be able to make API calls to retrieve and update data from other applications.
It may also support a tool such as Zapier allowing it to be independently integrated with other applications without requiring detailed technical knowledge.
In addition to API support, the ability to create webhooks in the no-code platform makes for an easy way to integrate with other applications without paying for a third-party tool.
Most software applications can be configured to call a webhook when a specific event occurs like when a customer signs up on a web site or when a new sale occurs. The webhook can then perform actions, that you configure, in response to that event.
Read more about webhooks here.
Securing applications so that users can only view and change data that is appropriate for their role is crucial in the design of any application. How flexible and configurable is the no-code platform to ensure that users only see what they are supposed to. At a minimum security should be able to:
Additionally, the following features may also be required:
To authenticate users, the application will need to support authentication with third-party providers such as Google and Microsoft that support OAuth2.
Generic support of OAuth2 will guarantee that it can be integrated with any authentication provider that also supports OAuth.
The ability to create logic and workflow in an application is essential for building any type of functionality. Without it, the application is just an information-gathering tool.
A workflow tool will be able to respond to arbitrary events such as:
From there the tool should be able to respond to that event:
These are some of the core requirements that a no-code platform should support in order to build a SaaS application. You may also want to look at whether the product supports: