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

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 Mode — A personal template can be submitted while Studio is in Desktop Mode. The packaged Recommended mode can be
window,chrome_cdp, ormixedand is not rewritten from the active workspace at submission time. - Browser Mode — The 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
- Test the workflow or block in its intended mode and remove all real data from its commands.
- Choose File › Save current macro as template...; set name, ID, description, Category, Tags, Recommended mode, Full/Block, Version, icon, and README/notes.
- Open File › Open macro template... and expand My Templates.
- Select the intended entry and inspect its details, command list, and dependencies. Use Edit or save again if metadata needs correction.
- Click Suggest, the action whose tooltip says the template will be suggested as built-in.
- Enter Sender, Contact, and Notes. All three may be blank, but clear information makes review easier.
- Press OK. RunMacro creates a temporary ZIP containing the macro, metadata JSON, information text, and README, then sends it to the endpoint.
- Wait for the result. Template suggestion sent successfully means the server returned
ok: true. - 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
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
- Replace real email, password, and URL values with variables, then test the block in Browser Mode.
- Save it under My Templates with ID
fill-form-block, Block type, a clear input description, and a README explaining selector setup. - Open the library, select the entry, verify that dependencies are complete, and click Suggest.
- Enter the sender name, contact email, and a note that the block was tested against two standard HTML forms.
- Press OK and treat it as received only when the app reports Template suggestion sent successfully.
Example: resubmit after a connection failure
- Click Suggest, fill the fields, and submit; the app reports a connection error with a temporary ZIP path.
- Record that path to confirm a package was created, then check Internet access and the system clock.
- If metadata or README needs correction, update the My Template entry before retrying so the new package has the right content.
- Reopen the library, select the same entry, click Suggest, and enter the sender information again.
- Send the new package and wait for an
ok: trueresponse; 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
Verification details
core/template_submission.pyui/main_window.pycore/template_library.pystorage/json_store.py
RunMacro