Robocorp Cloud: Basic concepts and terminology
Robocorp Cloud is set up in a hierarchical way. At the top, we find the Organizations, under which Workspaces are created, that contain Processes, which use Steps from Robots. Steps inside processes are then run by Runtime Environments. Processes in the same workspace have access to the same Vault. Steps in the same process can share information using the Work Item.
Let's look at these concepts one by one:
Organizations group and provide access control and administrative features to workspaces and users. Users belonging to the same organization can collaborate on creating and maintaining software robots in shared workspaces. Users can belong to more than one organization and can create organizations as needed. Billing happens at the organization level.
When you register to Robocorp Cloud, you get your own workspace. When working with other developers, you will want to create a common workspace. Processes are created into workspaces, and Vault secrets and Runtime Environments are workspace-specific.
To run a software robot in Robocorp Cloud, you execute a Process. Processes are created within workspaces, and users need to have access to a workspace to execute and edit the processes contained in it. When creating a process, you will choose which steps are executed, in which order, and by which runtime environment. Processes can be scheduled and triggered either manually in the Robocorp Cloud UI or via an API.
A step is a reusable part of a process that can be executed in isolation of other steps. You can configure a process to run multiple steps in sequence. A good reason to divide your process into steps is that a step can be run only by one runtime environment. For example, if you have a multi-step process that needs to partly be run on the cloud and partly on self-hosted machines, you can divide it into two steps and configure each of them independently when creating a process.
The most common use case is to trigger a Robot Framework script, but you can configure a step to run Python scripts directly or even programs written in any language.
You can import your robots into Robocorp Cloud as zip files, that follow the robot structure guidelines. A robot can include more than one step. Steps in the same robot can easily share code and needed data. One robot is edited at a time in Robocorp Lab. For example, you could create one robot that groups all the steps that work with one target system, for example, Excel or SAP.
The robots that Robocorp Cloud controls are ultimately run by Runtime Environments. A runtime environment can be a cloud runtime environment (a Docker container), or a local runtime environment, running on a Windows, macOS, or Linux machine. One runtime environment executes one step for one work item at a time in an isolated environment. The runtime environment takes care of creating the correct environment for the steps to be run successfully, wherever it is executed.
Steps in the same Process can share data during their execution, thanks to the concept of Work Item. Each step execution receives a work item from the previous step and passes it forward to the next one. During the execution, each step can freely read and update the data contained in the item. It is also possible to configure a step to accept an initial work item and pass the desired contents when triggering the process that contains the step via an API call.
Vault provides a way to store credentials and other sensitive information inside Robocorp Cloud that your robot code can easily access and make use of. Vault secrets are tied to a specific workspace.