Docs

RunMacro Documentation

Learn RunMacro from basics to advanced.

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

RunMacro robot
Docs Features Smart Record
🎬 Features

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 ModeBrowser 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

  1. Switch the workspace to Browser Mode, then click the Smart Recorder button (red dot icon) in the toolbar.
  2. 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.
  3. The record popup opens immediately. If no record Chrome window exists, click Open Chrome.
  4. Press the large round red button. A 5-second countdown runs so the extension can attach to the page — do not touch Chrome yet.
  5. When the status line turns green, work normally in Chrome. Each action appears as a row in the table.
  6. Press Stop recording. RunMacro waits for the tabs to confirm they flushed the last actions.
  7. Review the table, select unwanted rows and press Delete row. To capture more, press Continue recording.
  8. Check the two option boxes at the bottom, then press Add to current macro.

Every option explained

Smart recorder (free)

The plain recorder: selectors come straight from the page, no AI call, no cost. This is the default choice.

AI Smart Recorder

Calls AI exactly once when saving, to name the group and write a summary. AI does not touch selectors, order, or values. Requires a paid license.

MODEL (PROVIDER) and LEVEL

Only shown for the AI mode. Providers are openai, anthropic, gemini, deepseek, openrouter. LEVEL is either Fast & cheap or Smart (Smart by default).

Wait + auto-retry on page navigation (Loop)

On by default. After each navigating action (click, type then Enter, Enter key), the macro waits for the new page; if it does not appear, that action is retried up to 5 times instead of stopping the whole macro.

Trim redundant wait time before web actions

On by default. Web commands already wait for their own element, so long Delays before one are wasted; this trims them to roughly 800ms. Delays before key, scroll or combo commands are untouched.

Delete row / Continue recording / Stop recording

Delete row removes the selected rows. Continue recording appends to the same list after stopping. Stop recording ends the session and freezes the list for review.

Open Chrome

Only shown while idle. Reopens the record Chrome window when the previous one was closed or failed to open.

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

  1. Switch to Browser Mode, click Smart Recorder, choose Smart recorder, click Start recording.
  2. Press the round red button and let the 5-second countdown finish.
  3. In Chrome: open the login page, type the email, type the password, click Sign in, wait for the dashboard, click the Account menu.
  4. Press Stop recording. The table holds about 6 rows.
  5. Delete any accidental click row, leave both option boxes as they are, press Add to current macro.
  6. 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

  1. Have the extension you need already available in the record Chrome window.
  2. Start recording as usual and let the countdown finish.
  3. Click the extension icon and work inside its popup window.
  4. Stop recording. Rows captured from the popup sit in the same table as page rows.
  5. 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

During the 5-second countdown, do not touch Chrome. Actions performed then are usually not captured.
Recording in several short passes with Continue recording is more reliable than one long session, and easier to review.
Smart Record captures the exact text you typed. After saving, replace passwords and OTP codes with variables so the macro holds no real secrets.
The (delay NNNms) value in the Details column is the gap to the next action — the pause you took after that step.
If the table stays empty despite your actions, check that the Smart HTML extension is still active on that page, refresh with F5, and record again.

Verification details

  • ui/smart_record_dialog.py
  • ui/smart_record_mode_dialog.py
  • core/smart_record_compiler.py
RunMacro robot

Ready to automate smarter?

Download RunMacro and start automating your desktop, browser, and business workflows today.