RunMacro Documentation
Learn RunMacro from basics to advanced.
Everything you need to start and master RunMacro — from basic commands to advanced automation workflows.

Record web actions into a workflow with Smart Record
Switch to Browser Mode, open Smart Record, press the round red button, wait for the 5-second countdown, then work normally in Chrome. Press Stop recording, delete unwanted rows, then press Add to current macro.
Prerequisites
- The workspace is in Browser Mode (Chrome CDP). The Smart Recorder button is hidden in other modes.
- The RunMacro Smart HTML extension is loaded in the Chrome window used for recording.
- A record Chrome window is open (the Open Chrome button in the popup reopens one).
- The AI recording mode needs a paid license; the plain recorder is not gated.
Supported modes
- Browser Mode — Browser Mode only. During one session RunMacro runs three capture paths in parallel: the in-page recorder, a watcher for extension popups (content scripts cannot be injected there), and a desktop-click fallback — rows from the last one appear with a
[Desktop candidate]prefix.
What it does
Smart Record watches what you do inside the Chrome window RunMacro controls — clicks, typing, dropdown selects, scrolls, key presses, navigation, new tabs — and streams each action into a review table. When you save, RunMacro compiles the sequence into Smart HTML / CDP commands appended to the end of the open macro. Selectors are captured from the page itself, never guessed by AI.
When to use it
- The page has many steps and you do not want to hunt selectors by hand.
- You want a correctly-ordered draft workflow to tidy up afterwards.
- You need to capture actions inside an extension popup (for example a wallet approval window).
- A long login or form-filling flow would take a while to write command by command.
When not to use it
- Automating desktop software — use the regular Record button in Desktop Mode.
- Flows that pass through a cross-origin iframe or an OAuth popup (for example a "Continue with Google" button) — recording and replay are not yet reliable.
- Very long recording sessions: see the limitation below about the ON/OFF badge bug.
Configuration steps
- Switch the workspace to Browser Mode, then click the Smart Recorder button (red dot icon) in the toolbar.
- The mode chooser opens: pick Smart recorder (free) or AI Smart Recorder. For the AI one, also choose a provider and the Fast & cheap / Smart level. Click Start recording.
- The record popup opens immediately. If no record Chrome window exists, click Open Chrome.
- Press the large round red button. A 5-second countdown runs so the extension can attach to the page — do not touch Chrome yet.
- When the status line turns green, work normally in Chrome. Each action appears as a row in the table.
- Press Stop recording. RunMacro waits for the tabs to confirm they flushed the last actions.
- Review the table, select unwanted rows and press Delete row. To capture more, press Continue recording.
- Check the two option boxes at the bottom, then press Add to current macro.
Every option explained
Expected result
A group of Smart HTML/CDP commands is appended to the open macro in the order you performed them, including the waits between steps. File uploads and native JavaScript dialogs only produce [Cần cấu hình] note rows — you must finish those two yourself.
Real example
Example: record a login flow then open the account page
- Switch to Browser Mode, click Smart Recorder, choose Smart recorder, click Start recording.
- Press the round red button and let the 5-second countdown finish.
- In Chrome: open the login page, type the email, type the password, click Sign in, wait for the dashboard, click the Account menu.
- Press Stop recording. The table holds about 6 rows.
- Delete any accidental click row, leave both option boxes as they are, press Add to current macro.
- In the command list, replace the password value with a variable such as
{mat_khau}so the real string is not stored in the macro.
Example: record actions inside an extension popup
- Have the extension you need already available in the record Chrome window.
- Start recording as usual and let the countdown finish.
- Click the extension icon and work inside its popup window.
- Stop recording. Rows captured from the popup sit in the same table as page rows.
- If the status line reports the popup did not confirm a full flush, re-check the last few actions before saving.
Limitations and failure cases
- File uploads do not store the local file path — only a note row is created, and you must wire the file source yourself.
- JavaScript dialogs (alert/confirm/prompt) need a handler configured before the action that triggers them; the dialog text is not stored.
- Cross-origin iframes and OAuth popups (for example an embedded "Continue with Google") currently record and replay only partially.
- Long sessions hit an unresolved bug: the extension badge flips between ON and OFF mid-session, so only some actions reach the table. If the row count is lower than what you actually did, record in several shorter passes.
- The order of near-simultaneous actions may not be perfectly accurate; review the table before saving.
- The 5-second countdown does not guarantee the extension attached; if no confirmation arrives within 8 seconds the popup reports an error and returns to idle.
Tips & common mistakes
(delay NNNms) value in the Details column is the gap to the next action — the pause you took after that step.Verification details
ui/smart_record_dialog.pyui/smart_record_mode_dialog.pycore/smart_record_compiler.py
RunMacro