Automation
Repeat the same task in many profiles without doing it by hand. Record it, edit the steps, run it in parallel with values from a spreadsheet, or skip the recorder and start profiles from your own scripts.
Record once, replay across profiles
Click through a task in one profile while the recorder captures it, adjust the steps in the editor, then run them across many profiles.
- 13 step types
- goto
- click
- type
- keypress
- scroll
- wait
- move
- hover
- select
- waitFor
- submit
- check
- clear
Any step can be marked optional, so a missing element is logged and skipped instead of failing the run.
- Up to 10 profiles at once
- A run can go profile by profile or in parallel, capped at 10.
- Values from a spreadsheet
- Placeholders like
{{email}}in a URL or typed text are filled from each profile’s row. - Recent runs kept
- The last 50 runs stay in the history with their status.
Or drive profiles from your own code
Turn on the local API in Settings, under Developer API Access, and generate an API key. It listens on 127.0.0.1 only, so nothing outside your computer can reach it. Starting a profile returns a DevTools endpoint you can attach to.
curl -X POST http://127.0.0.1:8080/api/v1/profiles/42/start \
-H "Authorization: Bearer sg_…"{
"ok": true,
"profileId": 42,
"sessionId": "…",
"wsEndpoint": "ws://127.0.0.1:…/devtools/browser/…"
}const browser = await puppeteer.connect({
browserWSEndpoint: wsEndpoint
});Step reference
A macro is a list of these steps, saved with the workspace. The recorder produces the same steps you’d build by hand, so recorded macros open in the editor like any other.
| Step | Fields |
|---|---|
| goto | url |
| click | selector |
| type | selector, value |
| keypress | key |
| scroll | steps (optional) |
| wait | ms |
| move | selector, or x and y |
| hover | selector, ms (optional) |
| select | selector, value, by: auto, value, label or index |
| waitFor | selector, state: visible or hidden |
| submit | selector (a form, or any field inside one) |
| check | selector, state: checked or unchecked |
| clear | selector |
Every step that targets an element also takes a timeout in milliseconds and can be marked optional. An optional step that fails is logged as skipped and the run carries on.
Running a macro
Run on one open profile to test, then across a selection.
Parallel runs
Pick a macro, select profiles and set concurrency from 1 to 10. Profiles that are already open are reused. The ones the run opens are closed when they finish. A failed step is logged and the macro moves on to the next one.
Spreadsheet data
Bind a .xlsx, .xls and .csv file and each row goes to one profile, in order. Use a column name in double braces in a URL or text field. Only those two fields are filled, and extra profiles run without values.
Schedules
Run a macro on chosen profiles every set number of minutes, for as long as the app is open.
Run console and history
Each profile shows as queued, launching, running, passed or failed while the run streams to a console. The console never carries typed values, cookies or credentials. Macro runs, parallel runs and cookie warm-ups go into Task History, which keeps the last 50.
Cookie Warmer
Opens a list of sites in the selected profiles for a set number of seconds each, either just browsing, clicking at random or following links. It can loop until stopped or run without windows. Cookies and cache stay in each profile.
Local API reference
Off until you turn it on under Developer API Access. It listens on 127.0.0.1, port 8080, and only answers requests addressed to your own computer.
| Route | Auth | Returns |
|---|---|---|
| GET /api/v1/health | None | Status check |
| GET /api/v1/profiles | API key | Profile configurations |
| POST /api/v1/profiles/:id/start | API key | ok, profileId, sessionId, wsEndpoint |
Download SoftGlaze Browser
Windows 10 and 11, 64-bit. 7-day trial, no card needed.
The download page lists the SHA-256 checksum for each release and shows what to do when Windows SmartScreen warns about the installer, which is not code-signed yet.