Make with AI
Describe a macro in a sentence and read what Claude wrote before anything is added or run.
Describe what should happen, and when, and Claude writes it as a macro in the editor's own blocks. You read it before adding it. Nothing runs until you say so.
Make a macro #
Open the editor and press ⌃⌘M (Macro › AI › Make with AI…), or click Make with AI in the toolbar.
Type a sentence. For example: "Every weekday at 9:00 open Linear and show a HUD saying standup in 5".
Optionally use Works in to limit the macro to one or more apps. Switchboard then adds an Only if condition for the front app. The menu lists the apps that are running.
Press ⏎ or click Make.
The sheet shows the macro as When, Only if and Do rows, a footer with the model that wrote it and what it cost, and any lint warnings.
From there:
| Button | What it does |
|---|---|
| Add to Library | Saves the macro, turned off. |
| Dry Run First | Saves it turned off, then dry-runs it and lists each step's result in the sheet. A dry run does not click or type. |
| Edit Sentence | Back to your sentence to say it differently. |
| Try Harder | Asks Claude Sonnet, which is slower and costs more. The first try uses Claude Haiku. |
| Cancel | Throws the draft away. |
Change a macro #
Press ⌃⌘C (Macro › AI › Change with AI…) with a macro open. Say what to change. Show Changes lists the differences in the editor's words, for example "Added step 2" or "Changed trigger". Apply makes the change as one step you can undo. Steps Claude keeps keep their ids.
Fix a failed macro #
When a macro fails, Fix with AI in Activity sends the failed trace instead of a sentence and shows the proposed change before anything is saved. See Fixing a macro.
Generalize and Tidy up #
Two more commands in the Macro menu use the same model and the same rules as the rest of this guide, but start from a macro you already have instead of a sentence.
Generalize… turns a recording into a macro with a loop over what repeated, waits, inputs and a named selection. See Generalizing a recording. Haiku writes the names; a generalized macro arrives turned off.
Tidy up with AI (Macro › AI › Tidy Up with AI) makes an imported macro readable: names, folded waits, calls to macros you already have. See Tidying an import. Sonnet writes the labels; an enabled macro stays enabled.
Both show a proposal: the changes in the editor's words, a one-line explanation, and the cost. Apply is one Undo. If the model changes what a step does, the proposal is refused and says which step. If the rules and the model find nothing, the sheet says "Nothing to tidy".
Set up the cloud model #
Make with AI runs on a cloud model. If none is set up, the sheet opens on a setup screen with two choices.
Use your Anthropic key. You pay Anthropic directly, a fraction of a cent per macro. In Settings › AI, set Cloud model to My Anthropic key and paste the key. It is stored in your Keychain on this Mac and never written to a file. Remove Key deletes it.
Switchboard plan. Sign in to use your trial's AI credit, or add the Switchboard AI plan. The row shows how much trial credit is left. When the month's allowance is used up, the sheet says when it resets and offers your own key.
If you have a key saved, it is used. Otherwise Switchboard uses your plan.
Choose the model #
The Model menu in the sheet starts on Automatic: Claude Haiku, with Try Harder for Sonnet. Pick one of your AI presets instead (Settings › AI › Presets) to write with another model or provider, such as Intelligent for Claude Opus or a GPT or Gemini model of your own. Apple Intelligence presets are left out: writing a macro needs a cloud model.
Presets and providers #
Settings › AI has two lists.
Presets are names for a provider, a model and, where the provider has them, an effort and a temperature. A new copy has Intelligent (Claude Opus), Fast (Claude Sonnet) and, on a Mac with Apple Intelligence, Private. One preset is the default. Reorder them, rename them, add your own.
Providers hold the keys: Anthropic, OpenAI, Google Gemini, and any OpenAI-compatible server (OpenRouter, Ollama, LM Studio) by its address, plus Apple Intelligence and the Switchboard plan. Each key is kept in your Keychain on this Mac. Test sends one tiny real message and shows exactly what the provider said if it fails. The model menu lists what the provider offers; if it can't be loaded you can type any name.
An AI step, an Ask AI condition, Ask AI about the screen and the agent step each have a Model menu in the Inspector: Automatic (how steps worked before presets), a preset, the default preset, or Custom for one provider and model. A macro keeps the preset's id, so renaming a preset changes nothing. If the preset is deleted the step runs on the default preset and the macro is flagged. Macros that already name a provider and model keep working as they were.
What is sent #
Click What's sent in the sheet to see it. When making a new macro:
your sentence
the apps you picked under Works in
the names and ids of your other macros, so one can call another (up to 60)
the names of installed extension actions
When changing a macro, it also sends that macro's triggers, conditions and steps.
It never sends your clipboard, passwords, or the contents of your other macros.
Checks before you see it #
Claude replies with a macro. Switchboard checks it against the macro schema and the lint rules, and fills in ids and the fields Claude leaves out.
If it fails, Switchboard sends the errors back once and asks for a corrected macro. That is the one repair round. When a draft needed it, the footer ends with "fixed once".
If it still fails, the sheet says Couldn't make this a macro and shows the text Claude wrote. Try a different sentence or Try Harder.
Lint warnings that do not stop the macro, such as a short typed trigger, appear under the blocks.
Macros that use AI when they run #
Steps and a condition can call a model while a macro runs: Ask AI to rewrite, Ask AI to choose, Ask AI to extract, Ask AI about the screen and the AI check condition. They are in the step picker and the schema, but they do not run yet, and neither does the model condition.