Convert Figma logo to code with AI

aisingapore logoTagUI

Free RPA tool by AI Singapore

5,557
578
5,557
0

Top Related Projects

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

30,518

A browser automation framework and ecosystem.

88,205

JavaScript API for Chrome and Firefox

46,847

Fast, easy and reliable testing for anything that runs in a browser.

Generic automation framework for acceptance testing and RPA

18,791

Cross-platform automation framework for all kinds of apps, built on top of the W3C WebDriver protocol

Quick Overview

TagUI is an open-source RPA (Robotic Process Automation) tool developed by AI Singapore. It allows users to automate web interactions, desktop applications, and other repetitive tasks using a simple, natural language-like syntax. TagUI supports multiple operating systems and can be extended with Python and R for more complex automation scenarios.

Pros

  • Easy to learn and use, with a natural language-like syntax
  • Cross-platform support (Windows, macOS, Linux)
  • Extensible with Python and R for advanced functionality
  • Free and open-source

Cons

  • Limited community support compared to some commercial RPA tools
  • Documentation can be sparse for more advanced use cases
  • May require additional setup for certain features (e.g., OCR, computer vision)
  • Performance can be slower compared to some native automation solutions

Code Examples

  1. Web automation example:
// Open a website and perform a search
https://www.google.com
type search as TagUI automation
click search_button
wait 2 seconds
snap page to results.png
  1. Desktop automation example:
// Open Notepad and type a message
run notepad
type "Hello, TagUI!"
keyboard [ctrl]s
type "test_file.txt"
click save_button
  1. Using Python in TagUI:
// Use Python to calculate and print a result
py begin
import math
result = math.sqrt(16) + math.pi
print(f"The result is: {result}")
py finish

Getting Started

  1. Install TagUI:

    • Windows: Download and run the TagUI installer from the GitHub releases page
    • macOS/Linux: Run curl -sL https://git.io/tagui | bash in the terminal
  2. Create a new file named test.tag with the following content:

https://www.google.com
type search as TagUI tutorial
click search_button
wait 2 seconds
echo "Search completed!"
  1. Run the script:
    • Windows: tagui test.tag
    • macOS/Linux: ./tagui test.tag

For more information and advanced usage, refer to the TagUI documentation on GitHub.

Competitor Comparisons

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

Pros of Playwright

  • Cross-browser support for Chromium, Firefox, and WebKit
  • Powerful API with advanced automation capabilities
  • Strong community support and regular updates

Cons of Playwright

  • Steeper learning curve for beginners
  • Requires Node.js environment to run
  • More complex setup for simple automation tasks

Code Comparison

TagUI:

click Login
type username as user@email.com
type password as 12345678
click Submit

Playwright:

await page.click('text=Login');
await page.fill('input[name="username"]', 'user@email.com');
await page.fill('input[name="password"]', '12345678');
await page.click('text=Submit');

Key Differences

  • TagUI uses a simpler, more readable syntax for basic tasks
  • Playwright offers more granular control and advanced features
  • TagUI is designed for quick automation, while Playwright is better suited for comprehensive testing

Use Cases

  • TagUI: Rapid prototyping, simple web scraping, and basic automation
  • Playwright: Complex web testing, cross-browser compatibility testing, and advanced web automation scenarios

Community and Support

  • TagUI: Smaller but growing community, primarily focused on RPA
  • Playwright: Large, active community with extensive documentation and third-party resources
30,518

A browser automation framework and ecosystem.

Pros of Selenium

  • Widely adopted and supported across multiple programming languages
  • Extensive documentation and large community for troubleshooting
  • Robust and flexible for complex web automation tasks

Cons of Selenium

  • Steeper learning curve, especially for non-programmers
  • Requires more code to accomplish simple tasks
  • Setup and configuration can be time-consuming

Code Comparison

Selenium (Python):

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://example.com")
element = driver.find_element(By.ID, "search")
element.send_keys("test")
element.submit()

TagUI:

https://example.com
type search as test
click search

TagUI offers a more concise and readable syntax for simple automation tasks, making it easier for non-programmers to use. However, Selenium provides more granular control and flexibility for complex scenarios, albeit with more verbose code.

Selenium's widespread adoption and extensive ecosystem make it a preferred choice for large-scale projects and teams with programming expertise. TagUI, on the other hand, excels in rapid prototyping and simpler automation tasks, especially for users without extensive coding experience.

88,205

JavaScript API for Chrome and Firefox

Pros of Puppeteer

  • More powerful and flexible for complex web automation tasks
  • Extensive API with fine-grained control over browser actions
  • Large community and ecosystem with numerous plugins and extensions

Cons of Puppeteer

  • Steeper learning curve, especially for non-developers
  • Requires more code to accomplish simple tasks
  • Limited built-in support for visual automation and OCR

Code Comparison

TagUI example:

click Login
type username as user@email.com
type password as 12345678
click Submit

Puppeteer example:

await page.click('#login-button');
await page.type('#username', 'user@email.com');
await page.type('#password', '12345678');
await page.click('#submit-button');

Key Differences

  • TagUI uses a simpler, more human-readable syntax
  • Puppeteer offers more granular control but requires JavaScript knowledge
  • TagUI includes built-in support for visual automation and OCR
  • Puppeteer provides better integration with web technologies and testing frameworks

Both tools have their strengths, with TagUI being more accessible for beginners and non-developers, while Puppeteer offers more power and flexibility for complex automation tasks.

46,847

Fast, easy and reliable testing for anything that runs in a browser.

Pros of Cypress

  • More robust and feature-rich testing framework
  • Extensive documentation and community support
  • Real-time browser testing with time-travel debugging

Cons of Cypress

  • Limited to testing web applications only
  • Steeper learning curve for beginners
  • Requires more setup and configuration

Code Comparison

TagUI example:

type search as github
click search
wait 2 seconds
show page title

Cypress example:

describe('Search Test', () => {
  it('performs a search', () => {
    cy.visit('https://example.com')
    cy.get('#search').type('github')
    cy.get('#submit').click()
    cy.wait(2000)
    cy.title().should('include', 'Search Results')
  })
})

TagUI uses a simpler, more human-readable syntax for basic automation tasks, while Cypress offers a more powerful and flexible JavaScript-based testing framework. TagUI is easier for non-programmers to pick up, but Cypress provides more advanced features and better integration with modern web development workflows.

Both tools have their strengths, with TagUI excelling in quick, simple automations across various platforms, and Cypress shining in comprehensive web application testing and quality assurance processes.

Generic automation framework for acceptance testing and RPA

Pros of Robot Framework

  • More extensive ecosystem with a wide range of libraries and tools
  • Supports multiple programming languages (Python, Java, .NET)
  • Strong community support and active development

Cons of Robot Framework

  • Steeper learning curve, especially for non-programmers
  • More complex setup and configuration process
  • Less intuitive for simple automation tasks

Code Comparison

TagUI example:

click login
type username as user@email.com
type password as 12345678
click submit

Robot Framework example:

*** Test Cases ***
Login Test
    Click Element    id=login
    Input Text    id=username    user@email.com
    Input Password    id=password    12345678
    Click Button    id=submit

Summary

TagUI is more user-friendly and easier to learn, making it ideal for simple automation tasks and non-programmers. Robot Framework offers more flexibility and extensive features, suitable for complex automation projects across various domains. TagUI uses a simpler syntax, while Robot Framework requires more structured test case definitions.

18,791

Cross-platform automation framework for all kinds of apps, built on top of the W3C WebDriver protocol

Pros of Appium

  • Supports multiple programming languages (Java, Python, Ruby, etc.)
  • Extensive cross-platform support (iOS, Android, Windows)
  • Large community and ecosystem with frequent updates

Cons of Appium

  • Steeper learning curve, especially for non-developers
  • More complex setup and configuration process
  • Can be slower in execution compared to native automation tools

Code Comparison

TagUI (RPA script):

click login
type username as user@email.com
type password as 12345678
click submit
wait 2 seconds
check success_message present

Appium (Python):

driver.find_element_by_id('login').click()
driver.find_element_by_id('username').send_keys('user@email.com')
driver.find_element_by_id('password').send_keys('12345678')
driver.find_element_by_id('submit').click()
WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.ID, 'success_message')))

TagUI focuses on simplicity and readability, making it easier for non-developers to create automation scripts. Appium, while more verbose, offers greater flexibility and control over the automation process, catering to more complex testing scenarios and professional developers.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

TagUI

NOTICE: AI Singapore has discontinued maintenance and support of TagUI, but the project continues to be supported by open-source contributors and the community.

Check out this YouTube learning series. Take the free course. Ask any questions at our Telegram.

Download v6.114 | Usage Guide | Demos | Samples | Slides | Podcast | Video | 中文


Write flows in simple TagUI language and automate away repetitive time-consuming tasks on your computer. Tasks include those on websites (native support for Chrome and Edge), desktop apps, or the command line. The TagUI project is open-source and free forever. It's easy to setup and use, and works on Windows, macOS and Linux.

Besides English, flows can be written in 22 other languages, so you can do RPA using your native language. Check out this demo video automating data collection in 4 different languages. With the new TagUI turbo mode, you can even run your automation 10X faster than normal human speed!

Language designed for RPA

In TagUI language, you use steps like click and type to interact with identifiers, which include web identifiers, image snapshots, screen coordinates, or even text using OCR. Below is an example to login to Xero accounting:

https://login.xero.com/identity/user/login
type email as user@gmail.com
type password as 12345678
click Log in
// besides web identifiers, images of UI elements can be used
type email_box.png as user@gmail.com
type password_box.png as 12345678
click login_button.png

Grabbing data from a table on a website can be as easy as below (where n is the nth table on the webpage)

table n to forex_rates.csv

Moving data between TagUI and Excel is as easy as using standard Excel formula that you are familiar with

top_salesman = [Monthly Report.xlsx]August!E11

Sending a Telegram notification is trivially easy (first message @taguibot to authorise it to send messages)

telegram id Hello World. Olá Mundo. नमस्ते दुनिया. 안녕하세요 세계. 世界,你好。

Do RPA Any Way You Want

You can use TagUI MS Office Plug-ins (sample doc) to easily create and deploy Word doc as RPA robots, and set up RPA data parameters using Excel. Enjoy a full-featured RPA IDE with toolbar of TagUI steps and tooltips, snapshot tool to automate using computer vision, task pane for settings and run output.

You can also create and edit your RPA robots using commonly used text editors like Notepad, Notepad++, VS Code, Sublime, TextEdit, Vim, etc. For VS Code users, you can install TagUI language extension. For Notepad++ users, you can download TagUI plug-ins here for syntax highlighting, shortcuts and snippets.

Some users might find it interesting or useful to use AI and machine learning (in particular LLM large language models), to help generate a template script, then they make the fine-tuning accordingly. See this issue on some questions that I asked Anthropic's Claude 3.5 Sonnet and its responses.

Word Plug-in v3

Ecosystem and Communities

TagUI has a bustling user community, and extended community champions create new RPA tools for their own communities, based on TagUI. Python users can pip install rpa to use the #1 Python RPA package. There is also TagUI for C# .NET. For event-driven RPA with thousands of connectors, do check out TagUI module for Node-RED, a popular free and open-source workflow automation tool.

For Microsoft Power Automate Desktop users, you'll be happy to know that there's 2-way integration with TagUI out of the box (for business continuity if you switch between the 2 apps). Also, do check out other leading open-source RPA tools, to see if they meet your needs better - OpenRPA & OpenFlow, Robocorp. All of them support enterprise-grade orchestrating and running TagUI robots from their orchestrator.

Enterprise Security by design

Security Considerations

  • TagUI default implementation is an on-user-computer on-prem RPA tool that does not exist on any cloud
  • TagUI is not a SaaS or software on the cloud running on vendor's cloud, it runs on actual users' computers
  • Industry-specific certifications like PCI-DSS, HIPAA, SOX aren't applicable because TagUI doesn't store data
  • In decentralised bottom-up RPA, not advisable and no need for bot credentials as users are held accountable

Data Considerations

  • For data at rest, storage encryption would be on user's computer's OS-level as it is run on user's computer
  • For data in use, recommend user to manually enter sensitive info like password before letting robot take over
  • For data in motion, users' enterprise app websites are now https by default for secure data entry and retrieval

More Information

  • See this guide on enterprise installation, including whitelisting details, TagUI architecture and dependencies
  • With -report option, there is a summary and detailed logs of robots, with support for centralised reporting

How to get started

Join the community and ask any questions at our Telegram chat group. Watch this YouTube learning series. Take TagUI free course over one morning or afternoon, and start using the most popular open-source RPA software. Share this TagUI slide deck with your team or customers to win their buy-in to use TagUI.

If you are maintaining your own fork of TagUI (for eg tech leads, RPA consultants, individual developers), see this maintainer training video series to understand how TagUI works behind the scenes, and for you to modify all aspects of TagUI and extend the software to your customers' exact needs, made-to-measure.

TagUI v5.11

For technical details of TagUI, such as architecture diagram and codebase structure, see the old homepage

Credits

Open-source projectMaintainerFromHow does this contribute to TagUI project
TagUI for China报表哥Chinausage guide and repository in Chinese
TagUI for Notepad++Md ArdyansyahIndonesiavarious TagUI plug-ins for Notepad++
TagUI for VS CodeSubhas MalikIndialanguage extension for Visual Studio Code
TagUI for RobocorpNived NIndiarun TagUI in Robocorp or Robot Framework
TagUI for Node-REDAllan ZimmermannDenmarklow-code event-driven workflow automation
TagUI for C# .NETAllan ZimmermannDenmarkC# version of TagUI (Install-Package tagui)
TagUI for DockerAllan ZimmermannDenmarkreplicable RPA environment for everyone
RPA for PythonKen SohSingaporePython version of TagUI (pip install rpa)
TagUI v3.0Ken SohSingaporepersonal project before AI Singapore
SikuliXRaimund HockeGermanycomputer vision, OCR, input hardware
CasperJSNicolas PerriaultFrancehigh-level JavaScript execution engine
PhantomJSAriya HidayatIndonesiafoundation JavaScript execution engine
SlimerJSLaurent JouanneauFrancebrowser automation for FireFox <= v59

Sponsor

This project was previously supported by the National Research Foundation, Singapore under its AI Singapore Programme (AISG-RP-2019-050). Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not reflect the views of National Research Foundation, Singapore.