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 Suggest as Built-in
📨 Features

Submit your template for built-in consideration

Save a tested workflow under My Templates and complete its name, ID, description, type, mode, version, tags, and README. Open File › Open macro template..., select the personal entry, and click Suggest. Enter sender, contact, and notes, then press OK; success only confirms that the package was received for consideration.

Prerequisites

  • The source entry is under My Templates; Suggest is disabled for built-in and Team entries.
  • The template main file still exists and TemplateLibrary can resolve its path safely.
  • Internet access to the HTTPS submission endpoint.
  • Complete metadata and a README are recommended; without a README, the service creates a fallback from title and description.

Supported modes

  • Desktop ModeA personal template can be submitted while Studio is in Desktop Mode. The packaged Recommended mode can be window, chrome_cdp, or mixed and is not rewritten from the active workspace at submission time.
  • Browser ModeThe submission flow also works in Browser Mode and needs no active Chrome/CDP connection; it sends the saved template file rather than executing the workflow during submission.

What it does

Suggest as Built-in packages one My Template entry into a temporary ZIP and sends it to the RunMacro submission endpoint. The archive contains the macro as template.pmacro-template, plus submission.json, SUBMISSION_INFO.txt, and a README. Template metadata, app version, creation time, and the Sender, Contact, and Notes fields are included in an HTTPS POST. An ok: true response confirms receipt for consideration; it does not automatically turn the entry into a built-in template.

When to use it

  • You have a general, tested workflow or block that could help many other users.
  • The template has enough metadata, instructions, and sample data for a reviewer to understand it independently.
  • You want to submit a built-in candidate through the integrated flow instead of assembling a ZIP manually.
  • You need to include contact details or implementation notes for the reviewer.

When not to use it

  • The template is intended only for a private team — use Upload Team instead.
  • The workflow still contains real accounts, tokens, cookies, personal paths, or confidential data.
  • The template has not been tested, has missing dependencies, or uses commands unavailable in the current build.
  • You need immediate publication or in-app review tracking; this flow only submits an intake package.

Configuration steps

  1. Test the workflow or block in its intended mode and remove all real data from its commands.
  2. Choose File › Save current macro as template...; set name, ID, description, Category, Tags, Recommended mode, Full/Block, Version, icon, and README/notes.
  3. Open File › Open macro template... and expand My Templates.
  4. Select the intended entry and inspect its details, command list, and dependencies. Use Edit or save again if metadata needs correction.
  5. Click Suggest, the action whose tooltip says the template will be suggested as built-in.
  6. Enter Sender, Contact, and Notes. All three may be blank, but clear information makes review easier.
  7. Press OK. RunMacro creates a temporary ZIP containing the macro, metadata JSON, information text, and README, then sends it to the endpoint.
  8. Wait for the result. Template suggestion sent successfully means the server returned ok: true.
  9. If submission fails, read the error and note the ZIP path shown in the message; fix the network or content, then reopen Suggest to send a new package.

Every option explained

My Template source entry

Suggest is enabled only when source is user. Macro content, metadata, and README come from the selected entry; built-in and Team entries are ineligible.

Sender

The contributor name, written into submission.json, the information file, and the author POST field. The UI does not require it.

Contact

Email, Zalo, Telegram, or another way for a reviewer to follow up. The value is sent as entered and may be blank.

Notes

Additional reviewer context such as purpose, setup, dependencies, or tested scenarios. Notes are included in the JSON, information file, and request.

Packaged template metadata

Includes ID, title, description, Full/Block, recommended mode, icon, tags, app version, and creation time. Manifest entry values take precedence, with macro-file metadata used as fallback.

README fallback

When the declared README exists, its content is copied into the ZIP. If it cannot be read, RunMacro creates a minimal README from title and description.

OK / Cancel

OK creates the ZIP and submits immediately; Cancel closes the dialog without creating a submission. There is no package preview screen after OK.

Submission ZIP

Contains template.pmacro-template, submission.json, SUBMISSION_INFO.txt, and README.md. It remains in the temporary folder and its path is returned to the UI.

Server response

Only JSON with ok: true counts as success. HTTP errors, connection failures, or other responses are shown as errors; on failure, the UI includes the ZIP path so the package can be retained.

Expected result

RunMacro creates template_submission__<id>__<timestamp>.zip in a temporary folder and POSTs its Base64 content with metadata. When the endpoint returns ok: true, the app reports success. This is a submission receipt; the local entry remains under My Templates and has not become built-in.

Real example

Example: suggest a general form-filling block

  1. Replace real email, password, and URL values with variables, then test the block in Browser Mode.
  2. Save it under My Templates with ID fill-form-block, Block type, a clear input description, and a README explaining selector setup.
  3. Open the library, select the entry, verify that dependencies are complete, and click Suggest.
  4. Enter the sender name, contact email, and a note that the block was tested against two standard HTML forms.
  5. Press OK and treat it as received only when the app reports Template suggestion sent successfully.

Example: resubmit after a connection failure

  1. Click Suggest, fill the fields, and submit; the app reports a connection error with a temporary ZIP path.
  2. Record that path to confirm a package was created, then check Internet access and the system clock.
  3. If metadata or README needs correction, update the My Template entry before retrying so the new package has the right content.
  4. Reopen the library, select the same entry, click Suggest, and enter the sender information again.
  5. Send the new package and wait for an ok: true response; local ZIP existence alone does not mean the earlier package was received.

Limitations and failure cases

  • Only entries under My Templates can be suggested; the button is disabled for built-in and Team templates.
  • A success message confirms endpoint receipt only, not approval, publication, or inclusion in a future release.
  • RunMacro provides no submission list, review status, withdrawal action, or discussion history in the interface.
  • Sender, Contact, and Notes are optional and format is not validated; missing information can make follow-up harder.
  • The flow depends on the built-in endpoint and Internet access; HTTP failures show a status code, while non-JSON responses may be reduced to a short text excerpt.
  • The ZIP includes only the main macro package, metadata, and README. External files or referenced PMacro children that were not embedded are not collected separately for submission.
  • Suggest does not test-run the workflow or require a dependency check before sending; the submitter remains responsible for quality and run readiness.
  • Temporary ZIP files are not automatically removed after success or failure, so the temp folder can accumulate packages.
  • The Suggest dialog edits only the three sender fields; title, ID, mode, version, tags, and README must be corrected on the template beforehand.
  • The UI has no step to preview the ZIP contents or POST payload before pressing OK.

Tips & common mistakes

Review every command and the README for passwords, tokens, cookies, private URLs, and customer data before sending; the submission contains your actual macro package.
Write the description and README for someone unfamiliar with the workflow: state purpose, inputs, mode, dependencies, setup, and expected result.
Submission title, type, mode, icon, and tags come from the saved entry or macro metadata, not from the three fields in the Suggest dialog.
Provide a reachable contact method and state the environment you tested so the reviewer can reproduce the workflow more quickly.
If submission fails, retain the ZIP path for diagnosis but reopen Suggest to send a new package; a local file is not a server receipt.

Verification details

  • core/template_submission.py
  • ui/main_window.py
  • core/template_library.py
  • storage/json_store.py
RunMacro robot

Ready to automate smarter?

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