
Updated on by Nic Butler
Application Connectivity
Application connectivity is typically cloud-based SaaS applications such as Salesforce, and HubSpot. These apps have bits and bobs within them that allow for easy connectivity due to their APIs. As a result, data can move between them.
Cyclr is in between these apps, talking to their web servers using services such as webhooks or APIs. Those APIs will then speak to Cyclr’s application layer. This gets the data from the database and so on. Cyclr is essentially another SaaS application in the cloud with web servers, with an application layer, schedulers, databases etc. All of these things have been built with connectivity in mind. Therefore, it is easy to get data out of Salesforce, HubSpot and other SaaS applications through Cyclr because SaaS applications that have created APIs want and allow you to do that.

What about an On-Prem App with no API?
One common scenario is an individual working in a warehouse or distribution centre on a local Windows application with all the data required. This data could be on the PC’s hard disk, on a local network, or even in the cloud. The application might be off-the-shelf software or perhaps custom-built by their organisation. But, from Cyclr’s perspective, there is no way to connect to that application. This is because there isn’t a connector we could have created as no API exists for that app.
So how does Cyclr get this on-prem data? It requires a pipe from the site to the on-prem application to retrieve the data and process it through Cyclr. This is the SSH (secure shell) Connector. It acts as a pipe, an SSH pipe if you will.

What is SSH?
In the 70s, “shells” were a way different areas of an application or different offices might talk to their mainframe. For example, a packing centre and accounts might be on a green screen terminal, and their office will have a network connection to the mainframe. They get data using the green screen terminal and have an application running on the mainframe. This acts like it’s sat at the mainframe through their terminals. The trouble with shells is that they were easily hacked, and the data isn’t encrypted.
Hop, skipping and jumping into the 90s these shells became more secure and aptly named Secure Shell or SSH. So SSH is a secure shell that allows one person sitting in one office to talk to another computer as if they were sitting in front of it.
For instance, to connect to a remote desktop in the cloud or a remote desktop on someone else’s machine. Similar technology allows one user to control the machine as if they were sitting there. If say a colleague is having an issue with their security software there’s an application on Windows that allows them to hook into the machine, wherever they are, over a secure network that allows the user to tinker with the machine as if they were sat there. This is the idea of SSH in a nutshell.

SSH in Action
In this example, an employee is in a warehouse and they use an ordering system. This ordering system is an on-premise installed application such as Acme. They can see the order main menu, create new orders, view orders, and exit. They run their business in this factory, and the data lives locally. They may have a local database. It might be a database on a server in the basement of the same building. But as you can probably guess, this application doesn’t play nicely with the cloud. This means that Cyclr has no chance of getting to this app because there is no API and no web server. After all, it’s running on the user’s laptop.
So what do we do?
Luckily, the application comes with a command line, which means they can run the application “ordersystem.exe” with the “-new” parameter on the end. According to the manual, this will output order data since the last run. So locally we can run a command on the command line to extract data from the application.
Now, in order to get hold of this data from the cloud, they need to use an SSH. In Cyclr create a simple integration workflow that is triggered by a Webhook which does no data transfer. Instead, it is just kicking off the workflow. Then use the SSH Connector to run that command order system “-new”. The SSH Connector is authenticated using an account on the local machine or Active Directory. When the data is received, it can be sent to any number of SaaS applications, for example, Google Sheet.
Setting up an SSH Connector
The SSH Connector is set up against an IP address, on port 22. It requires to be authenticated with credentials that have SSH permission on the target machine. In a real-world scenario an organisation would need to open a port to the outside world if they wanted Cyclr to reach the on-prem application via firewall rules, etc.
So this is that process, a Webhook triggers a Cycle in Cyclr which uses the SSH Connector to connect with a specific IP address. The local system runs the command sent by the SSH Connector and the data is extracted. It gets passed back up through to Cyclr and then on to other SaaS applications like Google Sheets. This has successfully integrated an On-Prem application with Cloud applications.
Learn More about SSH
Are you an Enterprise organising looking to discover more about our SSH Connector, and how it can connect with legacy and on-prem systems to integrate with your modern SaaS tech stack? Don’t hesitate to get in touch with our leading integration team who can take you through the Cyclr platform.