15th August 2018
How often is an integration a simple as initiating a direct transfer of equivalent data from A to B? If all APIs were built the same, and all integrations simple, then maybe it would be common. In reality dealing with APIs can be a messy affair; each with their own bespoke structure, and formatting, that has been built to fit their SaaS application, not others.
What you need is the ability to make the APIs play nicely together – to orchestrate that data.
In this blog we provide an overview of some of the key API Orchestration components of Cyclr.
As a minimum, you typically need to map the data fields between the applications you want to integrate. This can be simple, and when it comes to data types such as strings it is. However, what do you do when you have APIs that expect data in a particular format that differs from your source application?
A simple example might be that application A stores DateTime data in US format (MM/dd/yyyy), while application B stores it in UK format (dd/MM/yyyy); simply sending one value from A to B isn’t going to give you the desired result in your target application.
It is from these simple examples, through to more advanced requirements, where the capacity to orchestrate your data becomes valuable. It gives you the ability to translate the data into your required format while it’s in transit. Within Cyclr you can set up the data translation rules to enable the smooth transfer of data from one system to another, even if the formats are different.
Transferring only the data you need
Another main challenge is how you sort, manage and filter collections of data? Most integration outcomes are unlikely to need the same batch of data to be sent over and over from one application to another. It can make much more sense to only send the latest and most recently updated records.
However, not all APIs have the ability to do this. This is where Cyclr’s orchestration tool can add-value by selecting and sending only the records that have been created or updated since the last time an integration has been run. It offers efficiency for both integration performance and the destination server’s load.
A common information integration between two applications could be:
Application A – Get All Contacts —-> Application B – Add/Update Contacts
A more efficient approach would be:
Application A – Get New Contacts —> Application B – Add/Update Contacts
If ‘Get New Contacts’ doesn’t exist in Application A’s API then Cyclr can be configured to achieve that outcome and enhance the functionality of the API.
Combining Methods into one workflow
Another challenge may be that Application B has separate methods for adding contacts and updating contacts. Cyclr’s Orchestration tool gives you the ability to handle this situation simply.
By fetching Application B’s contact list and using an add/update logic step (we have a decision logic step to check and sort data), you can check Application B’s contacts to see if your new contacts from Application A are already present.
If they are, you can branch the data output, sending the data to an Update Contacts method in Application B, leaving new contacts to travel down the false branch to the Add Contact method.
How can I select specific data within an integration workflow?
By using the “Decision” logic step, you can split data on a true or false branch, continuing the workflow separately along both. You can compare values from previous steps in your integration workflow, look for values above/below a set parameter or look for a set value within a data set to split the data. An extra layer of intelligence that can enhance the typical configuration of an API.
Time Based Constraints
While the vast majority want their data transferred as quickly as possible, some use-cases can have a more finessed requirement.
You might require data to be put ‘on hold’, either for a specific amount of time or until a date when the integration should continue.
Cyclr’s Orchestration tools allows you to handle time delays or ‘wait until’ dates before performing an action.
How can I temporarily delay an integration’s data flow?
By using the “Delay” logic step in the Cyclr integration builder, you can set a fixed amount of time you would like the integration to wait before continuing along it’s remaining steps. Perhaps to stop an automation sending too many alerts and/or messages in quick succession, or to allow time for a user to take an action that might influence subsequent steps within an automation.
How do I set a date to continue an integration workflow?
You can use the “Wait Until” step in the Cyclr workflow builder to set a specific time where you want a triggered integration to continue along its intended path.
This is particularly common in the event industry- where, for example, customised messages (email campaigns or SMS messages) are sent to checked in attendees to notify them about a relevant talk or a message from a sponsor.
The infinite possibilities of your users’ requirements
Another major blocker of creating ‘one integration to rule them all’ is your users’ inevitable bespoke requirements. While many will be using similar software stacks, the level of customisation available in most SaaS platforms means that two instances of the same system will be rarely the same.
So how do you keep up when making integrations between your SaaS platform and your users’ most valuable business assets?
Customisable Integration Templates
You could build completely custom integrations for them; eating into developer resources and adding to your maintenance backlog. Or you could use an orchestration platform that allows you to design templated solutions that can be customised and deployed for your users without the need of additional development.
This Orchestration function allows you to adapt a template to accommodate custom requirements and map fields to meet your customers’ precise needs without eating up developer bandwidth.
Customising your Client’s Connectors
So you have some integration templates ready to go but need to map data to custom fields? No problem.
Within Cyclr you, or your users, can make account specific alterations to your users’ connectors.
By entering your user’s account within Cyclr, you can examine and test their installed connectors. By delving deeper, you can make direct changes to the request and response fields, adding in any necessary custom fields that you need to be applied to an integration template.
Communicating with Different API Types
One of the main issues with creating and maintaining integrations between services is the lack of standardisation around API creation and development. As well as the various API formats, including REST, SOAP and GraphQL, there are the various forms of authentication each my choose to implement.
So how can you maintain consistency when dealing with a wide range of services?
The Cyclr approach is though connectors. We’ve developed connectors that take a 3rd party application’s API and maps it to a standardised format, greatly simplifying the process of integrating multiple services. REST can speak to SOAP can speak to GraphQL can speak to CSV and so on….
Can I add Custom Scripting to my Integrations?
In order to service more rigid, complex systems you may need to add script to your integration to function as desired.
You can write a script to call external API endpoints. This is especially useful if the API returns a URL which contains the real response object.
Complex objects need not be a problem. Adding in additional code to handle key value pairs will allow you to retrieve data in a useful way, which can be used in further steps in your integration workflow.
It’s even possible to handle custom 3rd party API error and status codes, giving you tighter control over error handling.
Integration Toolkit Developments to Come
SaaSs’ are ever evolving and changing, which is why Cyclr is constantly developing and striving to make users’ integration experience better.
As well as a continuous stream of new connectors to integrate between, we’re working on new tools to assist users with building advanced integration quicker and more robustly.
These developments include auto field mapping, for faster building, and programmable logic steps, expanding the possibilities of our logic tools for managing data in transit.
Expect to see new developments and tools in the near future, all with the aim of giving you the most powerful and flexible data orchestration tools available.
If you would like to get a development and evaluation license of our embedded integration solution, apply here.