Every complex system is created with a blend of subsystems working together to make a whole. In the case of a car, we have things like the engine, the powertrain, and the chassis, all combining, in a specific way, to create a functioning vehicle. But you don’t need to understand how all of these parts work in order to drive the car.
An integration platform is similar—it’s built using different technologies that help solve the problem of integration across different applications and their data. Through this ability, it helps you build more efficient business systems.
With a car, if you want to leverage more of its potential, like getting better fuel efficiency, then it’s good to know how it works, even though you may not want to tinker with it ever.
Is it sufficient that you have learned to drive the car, or shall we look and see what is under the hood? Most people go through life without ever knowing.
In this same spirit, let‘s discuss how an integration platform works under the hood.
What is an integration platform?
In a business, there are multiple operations involved, like sales, customer support, project management, and marketing. You’re going to need one or more apps in each of these categories to manage processes. So we’re now talking about managing eight apps, or even more. And if we don’t make these apps communicate and exchange information with one another, we’ll have our operations functioning in silos.
This is where an integration platform comes in. It ensures that you have an ecosystem of applications working with one another, rather than a bunch of apps doing their own thing.
How does an integration platform work?
An integration platform connects an application to other applications, pushes or pulls data from them, and orchestrates and execute workflows, among other things. This is commonly accomplished through APIs and webhooks. But what are they, and how do they work? Let’s dig deeper.
What is an API?
An API (application programming interface) is a set of rules defined by an application to interact with it through programming languages. They deal with things called records, which are like rows on a spreadsheet. And just like a row on a spreadsheet can have any number of columns containing data, records hold data in fields. A single API is used to request a particular service, and has specific rules the user has to follow.
While an API can technically be in any protocol, the APIs provided by web applications usually use HTTP. HTTP is used to specify the server URL, the service or information requested, and the type of service—whether it’s getting information or modifying information, as well as meta data. The message structure is also outlined, like whether it’s in JSON or XML, or any other methods provided by HTTP.
The message could be a request to obtain a single record with its field values, a list of records satisfying a filter criteria, or files uploaded in these records. It can also be field values or files to update in existing records or instructions to delete records.
What is a webhook?
We now know that an API is a request-response mechanism, where a client sends a service request to the server and the server responds back to the client.
A webhook is a mechanism in which a server can push data to an HTTP URL when an event occurs in the application. A webhook can thus notify when a record gets created or updated in an application.
A webhook is perfect here, because the client doesn’t need to make calls to the server to look for changes, since the HTTP request originates from the server and pushes the data to an HTTP URL only when changes occur.
A webhook is similar to an API, in that both use HTTP, just that here, the request originates from the server, and it is meant to hit a URL in another application.
How does an integration platform use APIs?
An integration platform leverages the APIs of an application to extract and push information. There are two ways in which an integration platform uses the APIs of an application.
Polling trigger—to check for data updates at a regular interval
Many applications provide APIs to fetch records. Many of them also provide the ability to filter data based on certain fields. An integration platform can use these APIs to fetch records at a regular interval to obtain ones that were modified during that interval.
There are multiple ways in which an integration platform can achieve this, depending on the features the application provides in its Fetch API. In some cases, the platform can use the date-time fields, which store the added/modified times—and in other cases, the platform can leverage the incremental nature of ID values.
There are also instances where the application does not provide the filtering mechanism, in which case the platform needs to fetch all the data and perform a duplicate check based on already-stored data from the previous polling.
Actions—to create, update, fetch, or perform some sort of action
APIs perform actions on the application’s records. When you create a workflow between two or more applications with a set of actions, the integration platform performs each action one by one. It calls the respective APIs with the data configured in each action. Once the API responds with data, it makes the data available for further actions to use. This is how data from one action is available for mapping to the rest of the actions.
How an integration platform uses webhooks
Like we’ve seen already, webhooks are primarily used for receiving notifications when there’s something is updated. When there’s an update to a record, the application calls the integration platform with a webhook request.
This is contrary to a polling trigger, in which the integration platform calls the application at regular intervals.
So a record gets updated and the application is sending you a webhook. But how does an integration platform receive it? The integration platform creates a unique URL for the workflow, which it registers as a webhook in the application using its API. It also passes the configuration details, such as the event when the URL is to be called, whether it is a create, update, delete, or any other kind of action. When APIs are not available to register the webhook URL, the platform requires the user to manually copy and paste the URL it has generated, or resorts to the polling mechanism, as described above.
To summarise, an API is useful for both triggers and actions, while a webhook is useful for just triggers. Polling triggers are scheduled processes that act as workarounds when a webhook is not available—they don’t pull data from applications in real time.
How does an integration platform execute workflows?
At its heart, an integration platform is a workflow engine. It allows you to specify when a workflow is to be executed, and the steps to execute it. Some platforms allow the ability to branch out or loop based on logic, or provide other functionalities, such as delays and common utilities. An integration platform uses similar ideas from a programming language to enable you to build workflows, but in a much more simplified way using GUI-based environment.
The GUI simplifies—or abstracts—the process of creating a workflow. It allows you to set up steps that perform actions in the applications you’re integrating. The power of the platform is in this abstraction, where it reduces the effort as much as possible, without compromising on flexibility.
Once you set the workflow up, the platform performs all the necessary actions required, sometimes including manipulating data and logging results for future reference to debug failures in particular steps. In a way, an integration platform transforms you into an integration developer without the gruelling nature of learning a full-blown programming language.
An integration platform, such as Zoho Flow, employs many complex subsystems and methodologies to enable easy creation of integration workflows. Having a better understanding of its underlying technologies helps you leverage the platform in a better, more efficient way.