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 Scheduler
🗓 Features

Schedule macros to run automatically

Open File › QMacro schedules..., tick Enable scheduler, click Add, pick a .qmacro file, choose the schedule type and time, then click OK. RunMacro must be running for time-based schedules to fire.

Prerequisites

  • A saved .qmacro file that still exists on disk.
  • RunMacro is running and Enable scheduler is ticked.
  • No other macro or QMacro is running when the schedule comes due.
  • Browser-mode schedules need a profile CSV imported before saving.
  • The run-at-startup option is unavailable on Microsoft Store builds.

Supported modes

  • Desktop Mode
  • Browser Mode
  • QMacro RunnerSchedules always execute inside a QMacro Runner window, never in the macro editor. You can open the Schedule Manager from the Runner too, but Run now and Stop do not work from there — open it from the main window when you need them.

What it does

The Scheduler runs saved .qmacro files at times you define: once, daily, weekly, every N minutes, on a countdown after each run, at Windows startup, or chained after another schedule completes. RunMacro polls for due schedules and hands each one to a QMacro Runner window, recording status, run counts and a result file per run.

When to use it

  • Run a workflow at a fixed time each day without pressing anything.
  • Repeat a run every N minutes during working hours.
  • Chain workflows: when schedule A finishes, schedule B starts.
  • Run a macro as soon as the PC starts.

When not to use it

  • You need runs while RunMacro is closed — time-based schedules only work while the app is open.
  • You want to schedule a .pmacro file — the dialog accepts only .qmacro, so export to QMacro first.
  • You need several schedules running in parallel — only one schedule runs at a time.

Configuration steps

  1. Open File › QMacro schedules... to reach the Schedule Manager.
  2. Tick Enable scheduler if it is off.
  3. Click Add to open the schedule editor.
  4. In QMacro file: click Select and point to the .qmacro file.
  5. Choose Trigger:By time or After another schedule completes.
  6. For By time: choose the Schedule type: (Once, Daily, Weekly, Every N minutes, Countdown) then fill in the matching time, date or weekdays.
  7. Choose the Run mode: Desktop or Browser. For Browser, also set threads, browser, size and click Import CSV.
  8. Set Loop count: (0 shows meaning infinite) and Run speed:, then click OK.
  9. Watch the Status column in the table; click View results to read each run report.

Every option explained

Enable scheduler

The master switch in the Schedule Manager. With it off, no schedule fires, even ones individually enabled.

Trigger: By time / After another schedule completes

Pick whether the schedule runs at a time or after another schedule. Choosing the chained trigger reveals Source schedule:, Condition: (Success / Always / Failure) and Delay (seconds):.

Schedule type: Once / Daily / Weekly / Every N minutes / Countdown

Determines which time fields appear: Once needs Time + Date; Daily needs Time; Weekly needs Time + weekdays (Mon…Sun); Every N minutes needs an interval; Countdown needs a number and Minutes/Hours counted after each run.

Auto-run every time the PC starts

Creates a Windows Startup shortcut that launches RunMacro and runs this macro. Only one macro can hold this option; enabling it elsewhere asks to replace. Not available on Microsoft Store builds.

Run mode: Desktop Mode / Browser Mode

The mode this run uses. Choosing Browser reveals the browser configuration group and makes a profile CSV import mandatory.

Loop count / Run speed

Loop count set to 0 shows meaning infinite — saving warns you, because the scheduler stays occupied until you stop it. Run speed ranges 1 to 10, default 5.

Threads / Browser / Size / Profiles (Browser Mode only)

How many windows run in parallel, the browser source, the viewport, plus Import CSV or Add from Google Sheet to load the profile list. The first CSV column must match the chosen browser source.

Delete newly created profiles after the run

Default Chrome only. It fully deletes only profiles that did not exist before this run, so your existing profiles are safe.

Run now / Stop / Details / View results / Export results

Buttons in the Schedule Manager. Run now and Stop only work when the manager is opened from the main window. Export results copies result files to a folder you pick.

Expected result

The schedule appears in the table with its next run time. When due, a QMacro Runner window opens and runs the macro; afterwards the row updates with status, run count and the report path. Once schedules disable themselves after running.

Real example

Example: run a workflow at 8:00 every day

  1. Export the macro to .qmacro if it is currently a .pmacro.
  2. Open File › QMacro schedules... and tick Enable scheduler.
  3. Click Add and choose the .qmacro file.
  4. Trigger = By time, Schedule type = Daily, Time = 08:00.
  5. Run mode = Desktop Mode, Loop count = 1, click OK.
  6. Leave RunMacro open (or also enable the run-at-startup option).

Example: chain schedule B after schedule A succeeds

  1. Create schedule A as usual and save it.
  2. Click Add to create schedule B and pick its .qmacro file.
  3. Trigger = After another schedule completes.
  4. Source schedule = A, Condition = Success, Delay = 30 seconds.
  5. Click OK. B has an empty Next run cell because it waits for A, not for the clock.
  6. Note: if you stop schedule A mid-run, B is not triggered.

Limitations and failure cases

  • Time-based schedules only fire while RunMacro is open and the scheduler is enabled. The run-at-startup option merely creates a Startup shortcut to launch the app; it is not a background service.
  • Only one schedule runs at a time. A schedule that comes due while another macro is running is passed over with the Skipped status.
  • Missed runs are not caught up. More than about 2 minutes late (for example the PC was off) and that run is skipped rather than queued.
  • The schedule editor accepts only .qmacro files; picking a .pmacro is rejected.
  • Only one schedule may run at PC startup. Enabling it on a new schedule converts the previous one into a disabled Once schedule.
  • Deleting a source schedule disables the schedules that depend on it and resets them to the by-time trigger.
  • The Stopped status does not trigger chained schedules, even when the condition is Always.
  • A running schedule cannot be edited, deleted or disabled — stop the runner first.
  • The schedule name is taken from the filename automatically and cannot be typed in.
  • When chaining schedules, the QMacro Runner window title may still show the previous run macro name; trust the Status column and the report file rather than the window title.

Tips & common mistakes

Setting Loop count = 0 means infinite: the scheduler stays occupied until you press Stop, and every other schedule waits.
Before handing a macro to the scheduler, press Run now once from the main window to confirm it runs without your help.
The Every N minutes type counts from fixed marks, while Countdown counts from when the previous run ended — a long run pushes the next one later.
For several sequential jobs, chain multiple schedules instead of packing everything into one macro — per-step reports are easier to read.
If the PC is off or RunMacro is closed at the scheduled time, that run is lost — it is not retried when you reopen the app.

Verification details

  • ui/qmacro_scheduler_dialog.py
  • core/qmacro_scheduler.py
RunMacro robot

Ready to automate smarter?

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