The Automagica project began in 2018 with a focus on creating open source software to ensure that Robotic Process Automation technologies were accessible to all.
With subsequent releases of Automagica, more advanced features such as Wand and the Portal required a service infrastructure to deliver more resilient robots, advanced services, and management and control.
As use of these services has increased, the costs for hosting and maintaining the service layer have correspondingly increased.
In order to drive the next phase of development for these important services, today, 13th October 2020, we are pleased to announce that Netcall plc, a leading provider of low-code, customer engagement, and contact centre software, has acquired Oakwood Technologies BV (trading as ‘Automagica’).
Netcall will integrate Automagica’s RPA into its Liberty platform, providing a powerful combination of RPA, Low-code, and Customer Engagement solutions.
The Automagica Robot is no longer be available under the terms of the AGPL3 licence.
We’re not stopping the use of the services for robots already deployed. These will continue to operate with Wand and OCR, free of charge, for three months from today (13 Oct 20).
Existing users of the Automagica Portal will also be able to access, free of charge, for three months, during which time users will be offered options to migrate to a commercial service.
We wish to thank all contributors to the project.
The Automagica suite consists of the following components:
- Automagica Bot: runtime/agent responsible for performing the automated tasks.
- Automagica Flow: a visual flow designer to build automations quickly with full support for Python code.
- Automagica Wand: UI element picker powered by AI.
- Automagica Lab: Notebook-style automation development environment based on Jupyter Notebooks (requires Jupyter to be installed).
- Automagica Portal: management of bots, credentials, automations, logs, ...
Browser working with Excel:
An overview of all official Automagica activities:
Process | Description |
---|---|
Cryptography | |
Generate random Fernet key. | |
Encrypt text with (Fernet) key, | |
Dexrypt bytes-like object to string with (Fernet) key | |
Encrypt file with (Fernet) key. Note that file will be unusable unless unlocked with the same key. | |
Decrypts file with (Fernet) key | |
Generate key based on password and salt. If both password and salt are known the key can be regenerated. | |
Generate hash from file | |
Generate hash from text. Keep in mind that MD5 is not cryptographically secure. | |
Random | |
Random numbers can be integers (not a fractional number) or a float (fractional number). | |
Generates all kinds of random data. Specifying locale changes format for some options | |
Generates a random boolean (True or False) | |
Generates a random name. Adding a locale adds a more common name in the specified locale. Provides first name and last name. | |
Generates a random sentence. Specifying locale changes language and content based on locale. | |
Generates a random address. Specifying locale changes random locations and streetnames based on locale. | |
Generates a random beep, only works on Windows | |
Generates a random date. | |
Generates today's date. | |
Generates a random UUID4 (universally unique identifier). | |
Output | |
Display custom OSD (on-screen display) message. Can be used to display a message for a limited amount of time. Can be used for illustration, debugging or as OSD. | |
Print message in console. Can be used to display data in the Automagica Flow console | |
Browser | |
Open Chrome Browser | |
Save all images on current page in the Browser | |
Browse to URL. | |
Find all elements by their text. Text does not need to match exactly, part of text is enough. | |
Find all links on a webpage in the browser | |
Find first link on a webpage | |
Get all the raw body text from current webpage | |
Highlight elements in yellow in the browser | |
Quit the browser by exiting gracefully. One can also use the native 'quit' function | |
Find all elements with specified xpath on a webpage in the the browser. Can also use native 'find_elements_by_xpath' | |
Find all element with specified xpath on a webpage in the the browser. Can also use native 'find_elements_by_xpath' | |
Find element with specified class on a webpage in the the browser. Can also use native 'find_element_by_class_name' | |
Find all elements with specified class on a webpage in the the browser. Can also use native 'find_elements_by_class_name' function | |
Find all elements with specified class and text on a webpage in the the browser. | |
Find element with specified id on a webpage in the the browser. Can also use native 'find_element_by_id' function | |
Switch to an iframe in the browser | |
Credential Management | |
Add a credential which stores credentials locally and securely. All parameters should be Unicode text. | |
Delete a locally stored credential. All parameters should be Unicode text. | |
Get a locally stored redential. All parameters should be Unicode text. | |
FTP | |
Can be used to automate activites for FTP | |
Downloads a file from FTP server. Connection needs to be established first. | |
Upload file to FTP server | |
Generate a list of all the files in the FTP directory | |
Check if FTP directory exists | |
Create a FTP directory. Note that sufficient permissions are present | |
Keyboard | |
Press and release an entered key. Make sure your keyboard is on US layout (standard QWERTY).If you are using this on Mac Os you might need to grant access to your terminal application. | |
Press a combination of two or three keys simultaneously. Make sure your keyboard is on US layout (standard QWERTY). | |
Simulate keystrokes. If an element ID is specified, text will be typed in a specific field or element based on the element ID (vision) by the recorder. | |
Mouse | |
Get the x and y pixel coordinates of current mouse position. | |
Displays mouse position in an overlay. | |
Clicks on an element based on the element ID (vision) | |
Clicks on an element based on pixel position determined by x and y coordinates. To find coordinates one could use display_mouse_position(). | |
Double clicks on a pixel position determined by x and y coordinates. | |
Double clicks on an element based on the element ID (vision) | |
Right clicks on an element based on the element ID (vision) | |
Right clicks on an element based pixel position determined by x and y coordinates. | |
Moves te pointer to an element based on the element ID (vision) | |
Moves te pointer to an element based on the pixel position determined by x and y coordinates | |
Moves the mouse an x- and y- distance relative to its current pixel position. | |
Drags mouse to an element based on pixel position determined by x and y coordinates | |
Drags mouse to an element based on the element ID (vision) | |
Image | |
Take a random square snippet from the current screen. Mainly for testing and/or development purposes. | |
Take a screenshot of current screen. | |
Folder Operations | |
List all files in a folder (and subfolders) | |
Creates new folder at the given path. | |
Rename a folder | |
Open a folder with the default explorer. | |
Moves a folder from one place to another. | |
Remove a folder including all subfolders and files. For the function to work optimal, all files and subfolders in the main targetfolder should be closed. | |
Remove all contents from a folderFor the function to work optimal, all files and subfolders in the main targetfolder should be closed. | |
Check whether folder exists or not, regardless if folder is empty or not. | |
Copies a folder from one place to another. | |
Zip folder and its contents. Creates a .zip file. | |
Unzips a file or folder from a .zip file. | |
Return most recent file in directory | |
Delay | |
Make the robot wait for a specified number of seconds. Note that this activity is blocking. This means that subsequent activities will not occur until the the specified waiting time has expired. | |
Waits until a folder exists.Note that this activity is blocking and will keep the system waiting. | |
Word Application | |
For this activity to work, Microsoft Office Word needs to be installed on the system. | |
Save active Word document | |
Save active Word document to a specific location | |
Append text at end of Word document. | |
Can be used for example to replace arbitrary placeholder value. For example whenusing template document, using 'XXXX' as a placeholder. Take note that all strings are case sensitive. | |
Read all the text from a document | |
Export the document to PDF | |
Export to HTML | |
Set the footers of the document | |
Set the headers of the document | |
This closes Word, make sure to use 'save' or 'save_as' if you would like to save before quitting. | |
Word File | |
These activities can read, write and edit Word (docx) files without the need of having Word installed. | |
Read all the text from the document | |
Append text at the end of the document | |
Save document | |
Save file on specified path | |
Set headers of Word document | |
Replaces all occurences of a placeholder text in the document with a replacement text. | |
Outlook Application | |
For this activity to work, Outlook needs to be installed on the system. | |
Send an e-mail using Outlook | |
Retrieve list of folders from Outlook | |
Retrieve list of messages from Outlook | |
Deletes e-mail messages in a certain folder. Can be specified by searching on subject, body or sender e-mail. | |
Move e-mail messages in a certain folder. Can be specified by searching on subject, body or sender e-mail. | |
Save all attachments from certain folder | |
Retrieve all contacts | |
Add a contact to Outlook contacts | |
Close the Outlook application | |
Excel Application | |
For this activity to work, Microsoft Office Excel needs to be installed on the system. | |
Adds a worksheet to the current workbook | |
Activate a worksheet in the current Excel document by name | |
Save the current workbook. Defaults to homedir | |
Save the current workbook to a specific path | |
Write to a specific cell in the currently active workbook and active worksheet | |
Read a cell from the currently active workbook and active worksheet | |
Write to a specific range in the currently active worksheet in the active workbook | |
Read a range of cells from the currently active worksheet in the active workbook | |
Run a macro by name from the currently active workbook | |
Get names of all the worksheets in the currently active workbook | |
Get table data from the currently active worksheet by name of the table | |
Activate a particular range in the currently active workbook | |
Activates the first empty cell going down | |
Activates the first empty cell going right | |
Activates the first empty cell going left | |
Activates the first empty cell going up | |
Write a formula to a particular cell | |
Read the formula from a particular cell | |
Inserts an empty row to the currently active worksheet | |
Inserts an empty column in the currently active worksheet. Existing columns will shift to the right. | |
Deletes a row from the currently active worksheet. Existing data will shift up. | |
Delete a column from the currently active worksheet. Existing columns will shift to the left. | |
Export to PDF | |
Insert list of dictionaries as a table in Excel | |
Read data from a worksheet as a list of lists | |
This closes Excel, make sure to use 'save' or 'save_as' if you would like to save before quitting. | |
Excel File | |
This activity can read, write and edit Excel (xlsx) files without the need of having Excel installed. | |
Export to pandas dataframe | |
Activate a worksheet. By default the first worksheet is activated. | |
Save file as | |
Save file | |
Write a cell based on column and row | |
Read a cell based on column and row | |
Add a worksheet | |
Get worksheet names | |
PowerPoint Application | |
For this activity to work, PowerPoint needs to be installed on the system. | |
Save PowerPoint Slidedeck | |
Save PowerPoint Slidedeck | |
Close PowerPoint | |
Adds slides to a presentation | |
Returns the number of slides | |
Add text to a slide | |
Delete a slide | |
Can be used for example to replace arbitrary placeholder value in a PowerPoint. | |
Export PowerPoint presentation to PDF file | |
Export PowerPoint slides to seperate image files | |
Office 365 | |
Send email Office Outlook 365 | |
Salesforce | |
Activity to make calls to Salesforce REST API. | |
E-mail (SMTP) | |
This function lets you send emails with an e-mail address. | |
Windows OS | |
Find a specific window based on the name, either a perfect match or a partial match. | |
Create a RDP and login to Windows Remote Desktop | |
Stop Windows Remote Desktop | |
Sets the password for a Windows user. | |
Validates a Windows user password if it is correct | |
Locks Windows requiring login to continue. | |
Checks if the current user is logged in and not on the lockscreen. Most automations do not work properly when the desktop is locked. | |
Checks if the current user is locked out and on the lockscreen. Most automations do not work properly when the desktop is locked. | |
Get current logged in user's username | |
Set any text to the Windows clipboard. | |
Get the text currently in the Windows clipboard | |
Empty text from clipboard. Getting clipboard data after this should return in None | |
Run a VBScript file | |
Make a beeping sound. Make sure your volume is up and you have hardware connected. | |
Returns a list of all network interfaces of the current machine | |
Enables a network interface by its name. | |
Disables a network interface by its name. | |
Returns the name of the printer selected as default | |
Set the default printer. | |
Removes a printer by its name | |
Returns the status of a service on the machine | |
Starts a Windows service | |
Stops a Windows service | |
Sets a window to foreground by its title. | |
Retrieve the title of the current foreground window | |
Closes a window by its title | |
Maximizes a window by its title | |
Restore a window by its title | |
Minimizes a window by its title | |
Resize a window by its title | |
Hides a window from the user desktop by using it's title | |
Terminal | |
Runs a command over SSH (Secure Shell) | |
SNMP | |
Retrieves data from an SNMP agent using SNMP (Simple Network Management Protocol) | |
Active Directory | |
Interface to Windows Active Directory through ADSI. Connects to the AD domain to which the machine is joined by default. | |
Interface to Windows Active Directory through ADSI | |
Utilities | |
Returns the current user's home path | |
Returns the current user's desktop path | |
Returns the current user's default download path | |
Opens file with default programs | |
Set Windows desktop wallpaper with the the specified image | |
Download file from a URL | |
System | |
This activity will rename a file. If the the desired name already exists in the folder file will not be renamed. Make sure to add the exstention to specify filetype. | |
If the new location already contains a file with the same name. | |
Remove a file | |
This function checks whether the file with the given path exists. | |
Note that this activity is blocking and will keep the system waiting. | |
Writes a list to a text (.txt) file.Every element of the entered list is written on a new line of the text file. | |
This activity reads the content of a .txt file to a list and returns that list.Every new line from the .txt file becomes a new element of the list. The activity willnot work if the entered path is not attached to a .txt file. | |
This activity reads a .txt file and returns the content | |
Append a text line to a file and creates the file if it does not exist yet. | |
Initialize text file | |
Read a text file to a Python list-object | |
Copies a file from one place to another.If the new location already contains a file with the same name, a random 4 character uid is added to the name. | |
Get extension of a file | |
Send file to default printer to priner. This activity sends a file to the printer. Make sure to have a default printer set up. | |
| |
Extracts the text from a PDF. This activity reads text from a pdf file. Can only read PDF files that contain a text layer. | |
Merges multiple PDFs into a single file | |
Extracts a particular range of a PDF to a separate file. | |
Save a specific page from a PDF as an image | |
Watermark a PDF | |
System Monitoring | |
Get average CPU load for all cores. | |
Get the number of CPU's in the current system. | |
Get frequency at which CPU currently operates. | |
Get CPU statistics | |
Get memory statistics | |
Get disk statistics of main disk | |
Get disk partition info | |
Get most recent boot time | |
Get uptime since last boot | |
Image Processing | |
Displays an image specified by the path variable on the default imaging program. | |
Rotate an image | |
Resizes the image specified by the path variable. | |
Get with of image | |
Get height of image | |
Crops the image specified by path to a region determined by the box variable. | |
Mirrors an image with a given path horizontally from left to right. | |
Mirrors an image with a given path vertically from top to bottom. | |
Process | |
Use Windows Run to boot a processNote this uses keyboard inputs which means this process can be disrupted by interfering inputs | |
Use subprocess to open a windows process | |
Check if process is running. Validates if given process name (name) is currently running on the system. | |
Get names of unique processes currently running on the system. | |
Kills a process forcefully | |
Optical Character Recognition (OCR) | |
This activity extracts all text from the current screen or an image if a path is specified. | |
This activity finds position (coordinates) of specified text on the current screen using OCR. | |
This activity clicks on position (coordinates) of specified text on the current screen using OCR. | |
This activity double clicks on position (coordinates) of specified text on the current screen using OCR. | |
This activity Right clicks on position (coordinates) of specified text on the current screen using OCR. | |
UiPath | |
This activity allows you to execute a process designed with the UiPath Studio. All console output from the Write Line activity will be printed as output. | |
AutoIt | |
This activity allows you to run an AutoIt script. If you use the ConsoleWrite function, the output will be presented to you. | |
Alternative frameworks | |
This activity allows you to run a Robot Framework test case. Console output of the test case will be printed. | |
This activity allows you to run a Blue Prism process. | |
This activity allows you to run an Automation Anywhere task. | |
General | |
Raises an exception | |
SAP GUI | |
Quits the SAP GUI completely and forcibly. | |
Logs in to an SAP system on SAP GUI. | |
Clicks on an identifier in the SAP GUI. | |
Retrieves the text from a SAP GUI element. | |
Sets the text of a SAP GUI element. | |
Temporarily highlights a SAP GUI element | |
Portal | |
This activity creates a new job in the Automagica Portal for a given process. The bot performing this activity needs to be in the same team as the process it creates a job for. | |
This activity retrieves a credential from the Automagica Portal. | |
Vision | |
This activity can be used to check if a certain element is visible on the screen.Note that this uses Automagica Portal and uses some advanced an fuzzy matching algorithms for finding identical elements. | |
Wait for an element that is defined the recorder | |
This activity allows the bot to wait for an element to vanish. | |
This activity allows the bot to detect and read the text of an element by using the Automagica Portal API with a provided sample ID. | |
|
All source code and other files in this repository, unless stated otherwise, are copyright of Netcall plc.
For more information on licensing, trials and commercial use see this page