Manatee
This site contains documentation for Manatee – primarily how to configure Manatee to perform actions. This page is a brief introduction to some of the concepts involved in automation and automated context sharing.
Flows
We use the term flow to indicate the instructions Manatee should execute. In general flows are Javascript code and thus any valid (ES5) JavaScript is allowed. See Mozilla for a nice JavaScript intro. The objects Inputs
, Fields
and all the rest of the modules listed below are made available for all flows s.t. they can be accessed in the JavaScript code. In addition to these modules you can dynamically load new modules (and other types of plugins) via Module.load
and Plugin.load
. You can find the documentation for each of these under the Plugins left-hand side menu.
We include the utility library lodash 4.7.10
in all flows. Typing _.
prompts the code editor to show you the methods available. See lodash documentation to read up on the available functions.
The manatee script engine understands ecmascript 5 javascript. As an added convenience we load polyfills for ecmascript 6 string functions so that these may be used (available from manatee v1.29). They are as follows: .startsWith
, .endsWith
, .includes
, .trim
, .repeat
, String.fromCodePoint
, .codePointAt
. For documentation of these and the rest of the language, a good resource is MDN.
In addition to JavaScript we also support VB.NET and C# but recommend the more easily accessible JavaScript.
Input and output
Inputs to a flow can be accessed via the Inputs
array. Inputs are generally strings:
var mi = Inputs["myinput"];
Output from a flow can be any global variable and must be declared in the flow settings.
Fields
Fields are references to elements in the user interface of an application and as such explains how to define fields which represent the elements of the userf-interface (buttons, textboxes etc) and how to get the robot to perform actions on the fields.
Modules
We use modules to provide an API for interacting with the operating system, reading files etc as well as more application specific functionality, e.g. parsing of excel files and functionality for involving the user in a flow execution by letting her/him input data or by display info to the user.
Beyond the standard set of modules you can also load new functionality dynamically by using a plugin.
Services
A service represents an external services which can be defined and used in flows. This includes mail-servers, message queues etc
Triggers
A trigger determines how and when flows are executed. Flow executions are for the most part initiated by the user, but by defining a trigger for a flow you can have Manatee run it when e.g. a file is changed, at a certain point in time etc
User interface
The primary interface is the flow launching menu which you get to by right-clicking in an attached application.