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

Share templates through Team Template Cloud with GitHub Gist
Create a separate GitHub Gist, open Cloud › Settings, enter its ID under Team Template Cloud, and add a token only on machines that must write. Save, open File › Open macro template..., expand Team templates, and press Sync. A My Template entry can be published to that Gist with Upload Team.
Prerequisites
- A GitHub Gist dedicated to Team Template Cloud and its correct Gist ID.
- Internet access to the GitHub API with valid HTTPS certificate verification.
- A GitHub token able to write the Gist on machines that upload, edit, or delete; read-only machines can omit it for a public Gist.
- An upload source that exists under My Templates with its main file still available locally.
Supported modes
- Desktop Mode — Configuration, sync, and Team Template management are available from Studio in Desktop Mode. A downloaded template still needs Desktop-compatible commands if you intend to run it in this mode.
- Browser Mode — The cloud actions also work in Browser Mode. The
chrome_cdpmetadata is advisory; Chrome/CDP is only needed when running or testing the template web commands.
What it does
Team Template Cloud uses a separate GitHub Gist as a distribution source. The Gist holds team_templates_manifest.json plus one Base64 file per template. On Sync, RunMacro downloads the Gist, rebuilds the local cache, and lists entries under Team templates. A My Template entry can be uploaded by ID with its metadata, version, and timestamp recorded in the manifest. Read-configured machines can Copy & Open or Add entries, while upload, edit, and deletion require a token able to write the Gist.
When to use it
- Several machines need the same standardized workflows or reusable blocks.
- One maintainer publishes templates while other machines mainly download and use them.
- You need to update or remove shared entries by ID from a Gist you control.
- You want the team template repository separated from the regular PMacro/QMacro Cloud Sync Gist.
When not to use it
- You only reuse the template on one machine — My Templates is sufficient.
- You need member permissions, approval workflow, or concurrent editing; this feature operates on a Gist and does not add those controls.
- You want to synchronize the open macro and its sub-macros — use regular PMacro/QMacro Cloud Sync.
- The template contains secrets written directly into commands and the Gist may be readable by others.
Configuration steps
- Create a GitHub Gist dedicated to team templates and copy the Gist ID from its URL.
- On an uploading machine, prepare a GitHub token able to write Gists; a public-Gist download-only machine can skip this.
- In RunMacro, open Cloud › Settings or Settings › Cloud and locate the Team Template Cloud card.
- Enter the Gist ID and, when writing or reading a private Gist, the Gist access token; click Save settings. A non-empty Gist ID enables the feature.
- Open File › Open macro template..., expand Team templates, and click Sync.
- Select a Team entry, review its metadata and commands, then use Copy & Open or Add.
- To publish, save and test the macro as a My Template entry with a stable ID and suitable Version.
- Select that My Template entry and click Upload Team. If the same ID already exists at an equal or higher version, read the warning and choose whether to overwrite.
- After an upload, metadata edit, or Team deletion, have other machines press Sync so their cache reflects the new manifest.
Every option explained
Expected result
The Gist contains team_templates_manifest.json plus team_template__<id>.pmacro-template.b64 for each entry. After sync, files are Base64-decoded into the local cache and appear under Team templates. Opening or inserting works on a copy or clone rather than directly editing the cached file.
Real example
Example: publish a login block to the team machines
- On the publishing machine, create a separate Gist and save its ID and token under Team Template Cloud.
- Test the login block with input variables, then use File › Save current macro as template... with ID
login-block, Block type, and version1.0.0. - Open the library, select
login-blockunder My Templates, and click Upload Team. - On another machine, save the same Team Gist ID; omit the token if the Gist is public and the machine only downloads.
- Open Team templates, click Sync, select the block, and click Add in the target macro.
Example: update a Team template to a new version
- Edit the source under My Templates, test it, and save it again under the same ID with Version
1.1.0. - Open the library, select the My Template entry, and click Upload Team.
- If the version warning appears, compare local and remote values and confirm only when it is the intended entry.
- RunMacro updates the Gist manifest and file, then synchronizes the publishing machine cache.
- On receiving machines, click Sync and verify Version
1.1.0before opening or inserting.
Limitations and failure cases
- Team Template Cloud uses a Gist for storage; RunMacro provides no member directory, roles, approval workflow, or concurrent-edit lock.
- Entries are identified by ID and upload replaces the same ID. The RunMacro interface has no merge, check-out, or version history.
- Version is comparison metadata. A user can still confirm overwrite with a local version that is lower than or equal to the remote one.
- Team entries do not refresh merely because the library opens; receiving machines must press Sync to fetch the latest manifest.
- Each sync deletes the current Team cache directory and rebuilds it from the Gist. A remotely removed file disappears from the local cache.
- Remote IDs are slug-normalized to lowercase letters, digits,
-, or_and truncated to 80 characters; an empty ID becomestemplate. Unusual IDs are therefore not simply rejected, and distinct IDs can collapse to one value. Entries with a missing Base64 file or malformed Base64 are skipped while the cache is rebuilt. - Base64 is not encryption. Anyone who can read the Gist can retrieve the template package and inspect an unprotected PMacro.
- The Team path has no per-content SHA-256 or signature like system template sync; only use a Gist you trust.
- Upload Team only accepts a source under My Templates; the button cannot directly republish a built-in or Team entry.
- Upload sends the main macro package and manifest metadata, not a separate README file; a Team entry may have no README available to View.
- Team sync requires verified HTTPS; the ordinary Cloud download SSL exception does not create a separate unverified Team transport path.
Tips & common mistakes
1.0.0 to 1.1.0 so overwrite warnings and sync summaries remain meaningful.Verification details
core/team_template_cloud.pycore/template_library.pyui/main_window.pyui/cloud_sync_dialog.pycore/settings.py
RunMacro