Local AI automation on macOS that never phones home.
You already have Ollama running and models pulled. What you don't have is anything that triggers them — on a file landing in a folder, on a schedule, on a keystroke. Watchflows is the trigger layer and the canvas around your local models, without a Docker stack or a monthly bill.
14-day free trial · no credit card · $49 one-time · macOS
Sound familiar?
You've got Ollama installed, a model or two pulled, maybe LM Studio open in the background. It works great when you type into it. It does nothing when a PDF lands in your Downloads folder at 2am. There's no trigger. There's no "run this when."
Self-hosted n8n can absolutely do this — after you stand up Docker, a Node runtime, and a service that has to stay alive in the background. That's a server. Running on your laptop. To rename some files.
Zapier and Make can't see your Downloads folder, your Desktop, or the PDF you just saved. They live in the cloud and your files live on your Mac. That gap is the entire problem, and no amount of "connect your Google Drive" fixes it.
And every cloud-AI automation is metered. A workflow that fires 400 times a day — watching a folder, tagging screenshots, triaging a webhook — is a line item you have to think about before you build it. That's backwards. High-frequency automation should be the easy case, not the expensive one.
Four things your local model can start doing tonight
Built from real Watchflows nodes, not mockups.
Summarize what lands in a folder — nothing leaves the Mac
Drop a PDF in, get a summary out, with zero network traffic.
Extract Text (PDF) pulls the content, an AI Prompt node pointed at your local Ollama or LM Studio endpoint summarizes it, and Write File drops the result beside the original. Pull the ethernet cable and it still runs.
Structured output, not a wall of prose
The model returns typed fields you can branch on, not a paragraph you have to regex.
Give the AI Prompt node an optional JSON Schema and it validates the response and retries on a mismatch. The result arrives downstream as a real JSON payload, so a Condition node can compare an actual field instead of you regexing a paragraph of model prose.
An agent with a fence around it
A tool-using agent that physically cannot wander outside the directory you gave it.
The Agent node runs a tool loop with explicit iteration and token budgets and a File Access Scope that bounds which paths its tools can touch. You decide the blast radius before you press the key, not after the model gets creative.
Separately, Watchflows ships its own MCP server on loopback with a per-launch bearer token — off unless you turn it on. Enable it and any workflow you've marked as exposed becomes a callable tool for an external MCP client like Claude Desktop, no Agent node required for that part.
Screenshots that file themselves
Every screenshot gets a real name and lands in the right folder, using a vision model on your own GPU.
Directory Changed watches your screenshots folder. An AI Prompt node sends the image to a vision-capable local model — Ollama routes images to /api/chat as base64 — with a JSON Schema asking for a short slug plus a category. Ollama 0.5+ takes the schema directly as its format parameter, so what comes back is validated structured data, not a sentence you regex. A Template node builds the filename from those fields, then Rename File and Move File put it away. Nothing leaves the machine.
Why not just use n8n, Zapier, or a shell script?
n8n
Genuinely powerful, and its catalog of hosted SaaS connectors is far larger than ours and always will be — if your automation is mostly SaaS-to-SaaS with no local filesystem in the picture, use n8n. Self-host it and it's a server product wearing a desktop hat: Docker, a Node runtime, a long-lived service you have to keep alive to watch a folder. n8n Cloud sidesteps that setup, but trades it for a recurring subscription. Watchflows wins where the work touches your actual Mac and you want the model running on your own silicon — without a monthly bill either way.
Zapier & Make
Cloud-only, subscription-priced, and blind to anything on your local disk. Fine for connecting two SaaS apps to each other. Useless for "when this file lands, do something with it," because they never see the file.
Raw Ollama + shell scripts
Works, and plenty of people run this way. But you're maintaining the triggers yourself (launchd plists, cron, fswatch), there's no retry logic, no structured-output validation, and no visibility into what actually ran when something goes wrong at 3am. It's a real automation stack you're building and debugging by hand.
Apple Shortcuts
Native, on-device, and free. But its logic falls apart past a few branches, and it doesn't talk to Ollama, LM Studio, or any external model at all. Fine for a quick action; not built for a multi-step pipeline.
Ten providers, your choice, your keys
Watchflows doesn't run its own model and doesn't want to. The AI Prompt node points at whichever provider you configure: Ollama, LM Studio, OpenAI, Anthropic (Claude), Google Gemini, OpenRouter, any OpenAI-compatible endpoint, Apple Intelligence on-device, or a Claude / ChatGPT subscription CLI. The Agent node's tool loop narrows that list to whichever ones support tool calling — LM Studio or any OpenAI-compatible endpoint locally, plus OpenAI, Anthropic, and OpenRouter in the cloud. Swap providers per-node, per-workflow, or not at all. API keys live in the macOS Keychain, not a config file, not a cloud account.
The cost story is why this matters for automation specifically: on-device and Ollama runs cost nothing per execution. A folder-watch flow that fires 400 times a day against a local model is free to run, forever. The same flow against a metered cloud API is a bill you have to watch. That's what makes high-frequency, always-on automation viable in the first place — it's the difference between a flow you build once and a flow you're afraid to leave running.
Questions people actually ask
Does Watchflows run its own AI model?
No. Watchflows is the automation layer — triggers, canvas, execution engine. The AI Prompt node calls out to whatever provider you point it at, including Ollama or LM Studio running on the same Mac; the Agent node needs a tool-calling provider such as LM Studio. Nothing is bundled or hosted by us unless you opt into the separate Watchflows Cloud subscription for hosted AI credits, which is entirely optional.
Can a workflow run completely offline?
Yes, if every node in it stays local: a file trigger, a local transformer, an AI Prompt node pointed at Ollama or LM Studio, and a local action like Write File or Move File involve no network calls at all. Add a cloud provider or a webhook trigger and that specific node needs the network; the rest of the graph doesn't care.
Do I need Docker or a background service?
No. Watchflows is a native macOS app. Triggers are armed by the app itself while it's running; there's no separate daemon, container, or Node runtime to keep alive. Install the app, build a flow, leave it running (or not) like any other Mac app.
What happens to my files and API keys?
Files stay on your Mac unless a node you built explicitly sends them somewhere (an API Request action, a cloud AI provider). There's no account, no sync service, and no upload step in the product. AI provider API keys are stored in the macOS Keychain.
Can I use both a local model and a cloud model in the same flow?
Yes. Each AI Prompt or Agent node picks its own provider, so a single workflow can classify with a local Ollama model for speed and cost, then hand a harder case to Claude or GPT for a second pass, all in one graph. (The Agent node's tool loop needs a tool-calling provider — LM Studio or an OpenAI-compatible endpoint locally, not Ollama.)
Is there really no subscription?
The core app is $49 once, with all v1 updates included — a 14-day free trial with no credit card required to evaluate it first. Watchflows Cloud is a separate, optional subscription for people who want hosted AI credits or a public webhook relay from outside your network; the app is complete without it.
Watchflows for…
Put your local model on a trigger.
$49 one-time, free 14-day trial, no credit card. Local-first, no account — your models and keys stay on your Mac.
Questions? support@watchflows.app