# Tính năng nổi bật

## 🎨 Visual Workflow Builder

Xây dựng quy trình tự động bằng cách **kéo thả node** lên canvas và **nối các node** lại với nhau bằng đường mũi tên.

* **60+ loại node** có sẵn cho cả Android & Browser
* **Biến (Variables)** — truyền dữ liệu giữa các node
* **Điều kiện rẽ nhánh** — If/Else, Switch-Case
* **Vòng lặp** — Loop, LoopV2, BreakLoop
* **Sub-workflow** — gọi workflow khác như 1 function, tái sử dụng logic
* **Custom Node** — gom 1 cụm node thành node riêng để dùng lại
* **JavaScript node** — viết logic phức tạp bằng JS khi cần

## 📱 Tự động hóa Android (qua ADB)

* **Điều khiển**: Tap, Swipe, LongTap, Drag tại tọa độ hoặc element
* **Bàn phím**: SendKeys, ClearText, KeyEvent (Back, Home, Menu, Recent)
* **App control**: Install, Uninstall, Open, Close, ClearData
* **Hệ thống**: Screenshot, Brightness, Lock/Unlock, Wifi On/Off
* **XPath / UI Automator**: tìm element trên màn hình bằng id, text, class
* **Đa thiết bị**: chạy song song nhiều device cùng workflow, mỗi device 1 thread
* **Hỗ trợ giả lập**: LDPlayer, NoxPlayer, BlueStacks, MEmu, MuMu…

## 🌐 Tự động hóa Chrome (qua WebDriver)

* **Window**: Open, Close, GetSize, SetSize, GetPosition, SetPosition
* **Navigation**: GotoUrl, GetUrl, Back, Refresh, WaitUrlChanged
* **Tab**: NewTab, CloseTab, ActiveTab, CloseOtherTabs
* **Frame**: SwitchFrame, SwitchPopup, SwitchDefaultFrame
* **Element**: ExistElement, GetElementAttr, GetElementInnerText, IsElementVisible, WaitElementHide
* **Mouse**: Click, ClickJS, HoverElement, Scroll, ScrollAndClick
* **Keyboard**: SendKeys (nhiều biến thể), KeyPress, SelectOption
* **Cookies**: Get, Add, Delete (riêng từng cookie hoặc tất cả)
* **User-agent**: Get / Set tùy biến
* **Đa browser**: chạy song song nhiều chrome instance, mỗi instance 1 profile riêng
* **Stagger**: dãn cách thời gian khởi động browser để tránh quá tải

## 👥 Quản lý Accounts

* **Account file**: gom danh sách tài khoản (username/password/email/uid…) vào 1 file dùng chung
* **Mỗi account 1 lần chạy**: workflow tự lặp qua từng account, có thể chia thread chạy song song
* **Cột tự định nghĩa**: schema linh hoạt, không bị fix cứng field
* **Browser profile theo account**: mỗi account dùng 1 chrome profile riêng — cookie + login state độc lập

## 🏪 Store cộng đồng

* Tải workflow của người khác đã chia sẻ
* Upload workflow của bạn cho cộng đồng
* Đánh giá, comment, version control

## 🔐 Bảo mật & chia sẻ

* **Export `.json`**: gói workflow + UI design + variables thành 1 file dạng text — dễ chia sẻ, edit thủ công được
* **Export `.mina`**: cũng nội dung như `.json` nhưng được **mã hóa AES-256-GCM** + mật khẩu bảo vệ
* **PBKDF2 100k iterations**: chống brute-force mật khẩu cho `.mina`
* **Checksum**: đảm bảo file không bị sửa đổi
* **Import**: kéo thả file `.json` / `.mina` vào app là chạy được

## 📋 Form input động

* Mỗi app workflow có thể có **form nhập liệu** riêng (text, number, dropdown, checkbox, file picker…)
* User chạy app → điền form → workflow chạy với data đó
* Hỗ trợ **InputRandom**: tự sinh giá trị random trong khoảng cho mỗi lần chạy

## 🎯 Debug & Log

* **Log panel** realtime — xem từng node đang chạy, kết quả, lỗi
* **Breakpoint** — pause workflow tại node bất kỳ, kiểm tra state biến
* **Step-by-step** — chạy từng bước 1, không tự động sang node kế
* **Single node test** — chạy thử 1 node duy nhất không cần full workflow
* **Real-time progress**: hiển thị tiến trình từng device/account trong RunDrawer

## 🧱 UI Design Mode

* Mỗi app có thể có **giao diện riêng** (form input + output display)
* Kéo thả Text, Input, Button, Image, List, Table… để xây UI
* Cấu hình điều kiện hiển thị động (disabledWhen, visibleWhen) bằng expression
* Preview trực tiếp trước khi chạy

## ⚙️ Tùy chỉnh & mở rộng

* **JavaScript node**: viết logic phức tạp với access vào toàn bộ VM API (chrome.Click, device.Tap…)
* **Custom node ngôn ngữ riêng**: định nghĩa input/output schema riêng + JS thực thi
* **Custom category**: tự tạo nhóm node, đặt màu, sắp xếp thứ tự
* **Đa ngôn ngữ**: tiếng Việt, English, ภาษาไทย

## 🔄 Đồng bộ & cập nhật

* **Auto-update**: app tự check version mới và cập nhật trong nền
* **License online**: kích hoạt bằng key, hỗ trợ chuyển máy

## 📊 Bảng tóm tắt theo nhu cầu

| Bạn muốn…                     | Tính năng cần dùng                                  |
| ----------------------------- | --------------------------------------------------- |
| Đăng bài Facebook hàng loạt   | Android nodes + Accounts + Schedule                 |
| Scrape data từ web            | Browser nodes + ExistElements + GetElementInnerText |
| Test app trên 10 device       | Android batch run + Variables                       |
| Login web với 100 account     | Browser batch + Accounts + Profile theo account     |
| Tự đăng bài hàng ngày 8h sáng | Schedule + Workflow đã build                        |
| Chia sẻ workflow cho team     | Export `.json` (thường) hoặc `.mina` (mã hóa)       |
| Tải workflow của người khác   | Store                                               |
| Tạo node riêng                | Custom Node + ExecuteJS                             |

## Bước tiếp theo

{% content-ref url="/pages/13c6bc4449692093bf2f22d5ed0aaa7692b204a4" %}
[Broken mention](broken://pages/13c6bc4449692093bf2f22d5ed0aaa7692b204a4)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.minautomate.com/gioi-thieu/tinh-nang-noi-bat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
