Online automation tools have made ad-hoc integration jobs much easier for the typical user. Maybe you just have a simple requirement of getting your team notified via Slack when a potential customer fills in a contact form. Or else, it may be a case of sending out a summary email when a deal is closed in Salesforce. Gone are the days where you needed full-fledged software developers to implement the above scenarios. Tools such as Zapier and the new player in town, Choreo, make it a breeze to create such integrations using just a few clicks on a graphical interface.
In this article, we will look at the main features of each platform, their approach in implementing workflows, and their strengths and weaknesses.
Zapier is a well-known product in web-based automation tools. Its initial release was back in 2012. It has a large user following and provides a large set of built-in application support, around 3000+, in its platform. A Zapier “app” is basically a connector they have to external applications, such as Google Sheets, Slack and Twitter. There is a good chance that, of all the typical scenarios that you will face, they can be implemented using the app combinations available in Zapier.
A workflow in Zapier is named a “zap”. A zap consists of a set of connected app operations. These operations are divided into three categories.
- Trigger: Defines the entry point to a workflow. Examples triggers are, Google spreadsheet row addition, receiving an email, and a scheduled task.
- Actions: An action is an operation that can be performed in the workflow, such as creating a new data row, uploading a file to Google Drive etc.
- Searches: This is a search operation executed against an application, which results in a data set to be processed in the workflow.
While creating a workflow, depending on the app selected, Zapier provides a possible list of other apps that can be connected.
This allows the users to easily pick another related app that is coupled with our initial app, and this presents us with a pre-built collection of integrations between these apps. The scenario of Google Sheets and Gmail is shown below.
Using these existing workflow templates, a user can get up to speed with a scenario instantly. It is simply a matter of providing authorization for Zapier for the connections to Gmail and Google Sheets.
The screen above shows the configuration of the first app in the workflow, where the Google Sheets trigger is configured to be invoked with a new row addition to the spreadsheet.
In the next step in the workflow, we configure the Gmail app to send an email with the fields made available in the previous task execution. All these field values can be used in subsequent steps in the workflow, where they can be mixed in with other literal values.
There are many integration scenarios that can be implemented using just two steps. If required, more steps can be added to the end of the workflow. Also, there are scenarios where we need to do other branching operations such as filtering and routing. For these, there are built-in apps provided by Zapier, such as Paths and Filter.
Using these features, we can create complex workflows with multiple execution branches.
Workflow Executions History
Zapier provides the facility of providing the user the task history. This is basically a full audit log of operations performed in the workflows.
This is very useful in checking for verifying past transactions, and for other various debugging operations. It also provides the ability to replay tasks, although available only on the paid plan, where earlier executions can be replayed.
A prominent issue in Zapier is the lack of error handling features. In a scenario such as a task failing in a workflow, we cannot define other backup operations or flows to handle it. Generally, it makes sense for integrations to have rollback operations or other compensation operations when certain operations failed or stopped in the middle of a flow. So, for specific integration requirements, this limitation can become a blocking issue.
Strengths and Weaknesses
Especially, when its flows are getting complicated with multiple execution branches, it will get hard to manage, and the visualization approach supported by Zapier may not be the most intuitive approach in understanding complex workflows. The workflow is hard to visualize with lots of steps available in it. For example, the “Paths” action by Zapier is used for adding branching logic with multiple paths. The nested paths are hidden inside the action configuration, and its flow is not visible to the outside. This makes it difficult to understand the overall flow using a single view.
Even though Zapier has functionality to test integrations while we are implementing them, it does not have any features of writing custom tests by the user, to execute them in a recurring manner. This is critical when we have large and complex integrations. It also lacks support for observability features to check integration health status and performance. Even though it has webhooks support for specific types of external application triggers, to integrate with other general applications, it is useful to have custom services/API support, which is lacking in Zapier.
The features are important in supporting enterprise workloads. Zapier is generally considered a more business-to-customer tool (B2C), rather than business-to-business (B2B), due to its lack of enterprise features. This is also a reason why it is generally not considered an enterprise iPaaS (EiPaaS), but rather a web-based automation tool for users.
The Choreo platform provides end-to-end development of integration solutions. Starting from the solutions architecture phase, to development, testing and deployment. It provides the best of both worlds by providing a low-code visualization editor alongside a full code-based editor. The graphical editing and the code editing is fully interchangeable, and its effects are reflected by changes flowing both ways.
Choreo generates clean code from the graphical representation of the workflows, where experienced developers can choose to work in the code view, where other new ad-hoc developers may continue to use the graphical low-code interface for defining the actions.
The image above shows the low-code and the code view in action, where the user is provided with a sequence diagram view of the programming code side by side. This approach allows for users to have a better understanding of complex workflows defined.
AI Assisted Development
Choreo follows an AI first approach in development, where any additional assistance that can be given is provided to the developer based on prior knowledge. Features such as flow action suggestions, data mapping, and performance estimation are possible due to this approach.
The image above shows the performance estimation in action, where a Choreo flow is analyzed before its deployment, and provides a prediction on how its execution performance would be.
Choreo provides a graphical data mapping tool to create mappings from multiple sources to a target data structure, while allowing complex transformations with mapping operations. This allows the user to conveniently work on data mapping operations from the low-code environment itself.
Fully-featured API Management
Choreo provides a rich set of API management features for the HTTP services exposed through the system. This ensures that we can directly create managed APIs from our integration flows, without again depending on a separate product in generating the APIs needed.
The Choreo managed APIs can be created from the services deployed in the Choreo itself, or else, it is also possible to provide an OpenAPI (Swagger) definition to any other external services available.
Observability is a vital part of the Choreo platform, where we can use these features to monitor our workflows to carry on operations such as predictive maintenance, debugging, and performance optimizations of execution flows.
Strengths and Weaknesses
Choreo is a new entrant to the cloud-based integration market. Compared to Zapier, it has less connectors than Zapier available so far. It provides promise by way of having a full development lifecycle from solutions architecture to deployment to monitoring. Also, its unique development approach of a low-code + code approach allows for a wider range of users, and provides the flexibility for implementing applications with various levels of complexities.
In this article, we made a comparison between two prominent technologies in web-based integration. Zapier provides years of experience and its functionality is well tested. It is more suitable for simpler integrations, and not for larger complexity workflows. Also, it is neither considered an enterprise-grade solution nor an EiPaaS, as per the definition by Gartner.
Choreo has advantages in its unique design of interchangeable representation of low-code and the code view, which facilitates both hardcore and ad-hoc developers. Choreo’s AI features make it a compelling option for users, with features such as performance forecast and predictive maintenance. It is considered an EiPaaS, with support for enterprise features such as full API management, load balancing/fail-over, and observability support.
*Fair use disclaimer: This article may contain copyrighted content, whose use has not been specifically authorised by the owner. WSO2's use is for instructional and commentary purposes only, under section 107 of the US Copyright Act, which we believe to be consistent with fair use principles. For any other uses, please directly contact the copyright owners.
Image by Pete Linforth from Pixabay