AML (Automation Markup Language) |
Overview
AML (Automation Markup Language) is the primary internal language used by Automate. It is a markup language similar to HTML or XML and defines a set of rules for encoding the structure, layout and contents of Automate tasks. AML is powerful and scalable, yet its format is designed to emphasize simplicity and usability, allowing data to be easily interpreted and shared amongst experienced programmers and novices alike. AML is comprised of a variety of available actions/activities and hundreds of functions and instructions with built-in support for variables, constants and expressions.
Actions (also known as steps or tags), are objects which encapsulate common things that a user may need to automate in Windows. These include running a program, opening a web page, sending keystrokes to an application, clicking a button, downloading a file, running a database query and much more.
BASIC Scripting encompasses all available functions which may be used either as expressions inside any task step by surrounding the function in % signs, or inside a BASIC script by using the BASIC Script action. It is not necessary to use BASIC scripting to use AML. BASIC scripting is only available to extend the built-in capabilities of AML.
The code below displays a simple task as it would appear in AML format. It is comprised of 3 steps:
- A comment step which can be used to describe what the task will do.
- Creates a variable with the value "Hello World!"
- Displays the variable's value in a message dialog.
<!-- This is an optional comment. It can be used to describe this task. -->
<AMVARIABLE NAME="Name_of_Variable" VALUE="Hello World!" DESCRIPTION="Description of Variable" />
<AMSHOWDIALOG MESSAGE="Hello World!" WINDOWTITLE="Message Box Title" POSITION="lower_left" ICON="information" />
Note to Beginners
Automate is designed to be powerful yet easy enough for any IT professional to use. Do not let the fact that there is an underlying "language" scare you away. The Task Builder component of Automate provides an easy to use visual interface layer over the top of AML. It is not necessary to learn the actual internal syntax of any of these commands, this information is documented for advanced users that wish to familiarize themselves with the internals of Automate.