Our robots have a notion of the context in which they operate making them adaptable to many situations and thus more versatile and useful.
Context in terms of a software robot can mean a lot of things. We deal primarily in two kinds of context;
- context at launch, and
- context at execution.
By context at launch we mean the circumstances around the launch of a robot. Launching a robot can be done a triggering event or a user action. In the case of an event the context is naturally the event which occurred; a file was created, a window was hidden, a button was clicked etc. In the case of a user action the context is in which application and where in that application that the robot was launched (we supply a menu to launch robots from any application).
The robot can then use the context to target its function to the specific circumstances of its launch. In addition to providing the robot with contextual information we also use the same information to filter the available robots we show in our menus. For instance, if a robot needs a phone number to function we'll only show the robot in our menus if the activation of that menu was done in the context of a phone number, i.e. the user activated the menu on or close to something we recognise as a phone number.
This is the case in the screenshot below - our robot launch menu has been activated in the field containing the
55005500 which we recognise as a (danish) phonenumber and the menu reflects this fact while also showing the Dial robot which needs a phonenumber to run.
Context at execution means that information about the state of the machine on which the robot runs is made available to it while it executes. This can mean low level system information; which processes are running, which windows are showing but it can also mean higher level state information; which patient is selected in the EHR, which user is logged etc. The tracking of this information is modelled on top of our context manager in safe and performant manner.