Features › Safari and Chrome

Macros that run in the page, and any web page as rows

Switchboard has a small extension for Safari and Chrome, and for Arc, Brave, Edge and Vivaldi. A page can start a macro, a macro can change the page, and a macro can scrape a list into rows or watch a page for a change. Chrome takes the extension unpacked until Switchboard is on the Web Store, so for now you turn on Developer mode and load a folder.

Coming soon See pricing

The editor with a Scrape page step selected: its CSS selector, the column names and a preview of the rows it found

What it does

  1. You want one site in dark mode, without the white flash on every load.

    A macro that starts when the page is loading and injects CSS is applied by the browser itself before anything is drawn, even with Switchboard quit. The editor marks it Runs instantly in the page. That only holds for CSS and HTML with no variables.

  2. A button on a page should save the page’s address to a list.

    Code Switchboard puts in the page calls switchboard.run(“Save to list”, { url }) and gets the macro’s result back. It reaches only macros you switched on under Callable from pages, and only from the pages you listed. Anything else is refused and shows in Activity as “not fired”.

  3. You want every result on a search page in a spreadsheet.

    Pick Rows in Browser: click one result and the rest light up, click inside it to name a column, click Next for more pages. A live preview shows the rows with prices and dates read properly. They save as CSV, Markdown, JSON or JSON Lines, or paste into Numbers.

  4. A price should tell you when it drops.

    Right-click the page and choose Watch this for changes, or use Watch This Page in the palette. Switchboard checks on a schedule with no tab open, and the same trigger catches a product back in stock or a site that went down. If a scrape that used to find rows finds none, the layout changed, and Activity shows Repair Fields with AI.

  5. A site refuses your script’s request before it sends anything.

    A fetch presents the handshake and headers of a current Chrome or Safari, and it can carry a saved sign-in from Settings ▸ Sign-ins. The cookies stay in your Mac’s Keychain, and a macro holds only the sign-in’s name. Switchboard solves no CAPTCHA and rotates no proxies, so a site that sends a challenge fails the step. Setting via: tab reads the page in your own browser instead.

How it works

  1. Open Settings ▸ Browsers and follow your browser’s row. Safari’s extension is inside Switchboard.app; in Chrome, turn on Developer mode and choose Load unpacked.
  2. For your own JavaScript in Chrome, also turn on Allow User Scripts in the extension’s Details. Without it, CSS, HTML, triggers and page buttons still work, and JavaScript runs through AppleScript a moment after the page loads.
  3. Start a macro from a Browser trigger, or right-click a page and choose Scrape this list… or Watch this for changes…, which each make a finished macro you can open. chrome:// pages, the Chrome Web Store and Safari’s start page don’t allow extensions, and private windows stay off until you allow them.

Read the docs