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 issimilar—it’s built usingdifferent technologiesthat 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 youwant to leveragemore ofits potential, likegetting 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 youhave learned to drive the car, or shall we look and see what is under the hood? Most people go through life without ever knowing.
June Singer
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 nowtalking about managing eight apps, or even more.And if we don’t make these apps communicate and exchange information with oneanother, we’llhave our operations functioning in silos.
This is where an integration platform comes in. It ensures that you have an ecosystem of applications workingwith one another, ratherthana 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,andorchestrates and execute workflows, among other things. This is commonly accomplished through APIs and webhooks.Butwhat 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 calledrecords, 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 infields.A single API is used to request a particular service, and has specific rules theuser 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 asmeta data. The message structure is also outlined, likewhether it’s in JSON or XML, oranyother methods provided by HTTP.
The message could be a request to obtain a single recordwith 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 awebhook?
We nowknow that an API is a request-response mechanism, where a clientsends 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 canthusnotify 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 serverandpushes the data to an HTTP URL only when changes occur.
Awebhook is similar toan API, in that both use HTTP, just that here, the request originates from the server, and it is meant to hit a URLin 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.
Pollingtrigger—tocheck for data updatesat a regular interval
Many applications provide APIs to fetchrecords. Many of them also provide the ability to filter data based oncertain fields. An integration platform can use these APIs to fetch records at a regular interval to obtainones that weremodifiedduring that interval.
There are multiple ways in whichan integration platform can achieve this, depending on the features the application provides in itsFetch API. In some cases, the platform can use the date-time fields, which store the added/modified times—andin other cases, the platform can leverage theincremental nature of ID values.
There are also instances where the application doesnot 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 fromtheprevious polling.
Actions—to create, update, fetch, or perform some sort ofaction
APIs perform actionson the application’s records. When you create a workflowbetween two or moreapplicationswith 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 totherest of the actions.
How an integration platform useswebhooks
Like we’ve seen already, webhooks are primarily used for receiving notifications when there’ssomething is updated. When there’s an updateto 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 applicationat regular intervals.
So a recordgets updatedand the application is sending you a webhook.Buthow 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 otherkind ofaction. When APIs are not available to register the webhook URL, the platform requires the user to manually copyandpaste 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.
Conclusion
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.