Skip to content

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:

javascript
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.

Annotated flow menu