A runner that takes a webhook, a schedule or a feed item and walks a graph of HTTP calls with routers, iterators and aggregators fits a weekend of agent work, and it covers the few automations most people actually run. What costs the time is the long tail: each service needs its own OAuth app, token refresh and quirks, and Make's library of apps is maintained by a whole team. With only API keys and incoming webhooks, a personal version works; with Google, Slack and CRM OAuth, it turns into upkeep. Self-hosting n8n or Activepieces trades the build for server upkeep.
Before you buildMake Free's 1,000 credits and 15-minute interval are enough for a handful of light scenarios, so check it before paying.
Build me a personal scenario runner with routers and iterators to replace Make. Requirements:
- Python 3.12: FastAPI with Jinja2 pages, SQLite through SQLAlchemy 2.0 in ./data/runner.db, and
APScheduler for schedules. `uv run fastapi run` serves http://localhost:4770.
- A scenario is a JSON graph of modules. Triggers: webhook (POST /hook/<id>, secret token in
the URL), schedule (cron), RSS or Atom poll with a seen-items table. Actions: HTTP request
(`httpx`), JSON parse, set variable, send email (smtplib, SMTP in .env), post to a Slack or
Discord incoming webhook, write to a SQLite data store.
- Flow control like Make: a router with up to five routes, each with its own filter and a
fallback route; an iterator that turns an array into one bundle per item; an aggregator that
turns bundles back into an array, a joined text or a sum.
- Mapping: `{{moduleId.path}}` resolved with `jsonpath-ng`, plus an allow-list of functions
(formatDate, join, length, if, lower). No eval.
- Editor: a form-based module list per route, with a Mermaid diagram of the whole graph beside it
and a Run once button that shows every module's input and output bundles.
- Run log: every execution stores its bundles per module. A failed run is kept as incomplete and
can be resumed from the failing module. Error handling per module: ignore, retry 3 times with
backoff, or follow an error route.
- Credits: count one per executed module (routers and error routes free). Show totals per scenario
and per month, and pause every scenario when a monthly cap from .env is reached.
- Connections: API keys in a table encrypted with AES-GCM (`cryptography`), key in .env.
- Export and import a scenario as .blueprint.json with the secrets left out.
- Single user, one password from .env. No accounts, no telemetry; calls go only to URLs I set.
- Out of scope: OAuth connectors, a drag-and-drop canvas, teams, app libraries. Use HTTP and keys.
- README: exposing /hook/* by tunnel or VPS, and the services that work with just an API key.Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Make.
Extend the scenario runner in this folder. Requirements: - An import page for Make's .blueprint.json files. - Map the modules the runner supports (HTTP, router, iterator, aggregator, set variable) and list every module it does not, with the app and action name, instead of dropping it. - Create the scenario as disabled and show a diagram so I can check it before enabling. - Update the README.
Add alerts to the scenario runner in this folder. Requirements: - Email through SMTP and optionally a Slack or Discord incoming webhook when a run ends incomplete. - Send at most one alert per scenario per hour, with a count of failures since the last one. - A weekly digest of runs, failures and credits used. - Update the README.
Add data stores to the scenario runner in this folder. Requirements: - Named stores with a key and a JSON value, with modules to get, set, delete and search by key. - A page to browse, edit and export each store as JSON. - A size cap per store set in .env, with an error module result when it is exceeded. - Update the README.
Add a Google Sheets connection to the scenario runner in this folder. Requirements: - A Google OAuth flow with offline access (`googleapis`), tokens encrypted like other connections. - Modules to append a row, read a range and update a range. - Show a warning in the README that a Google Cloud project in Testing status issues refresh tokens that expire after 7 days. - Update the README.
Make is cheap for what it does and does not need a server: someone else keeps connectors, webhooks and schedules alive. People also like seeing a scenario drawn as a map, which is easier to hand to a colleague than a script.
Estimate · A $5 VPS or a home machine behind a tunnel; SMTP at low volume fits free tiers. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 1,000 credits a month, the no-code visual builder, routers and filters, 15-minute minimum interval between runs, 1 MB of data storage. |
| Core | $10.59 | $9 | 10,000 credits a month at the starting slider position, unlimited active scenarios, scheduling down to the minute, higher data transfer limits, access to the Make API. |
| Pro | $18.82 | $16 | Everything in Core plus priority scenario execution, custom variables and full-text search of execution logs. |
| Teams | $34.12 | $29 | Everything in Pro plus teams and team roles, and creating and sharing scenario templates. |
| Enterprise | custom | — | Custom functions, enterprise app integrations, 24/7 support, overage protection and advanced security features. |
Free gives 1,000 credits a month with the visual builder, routers and filters, and a 15-minute minimum interval between runs.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Thousands of ready app modules with managed OAuth connections, The drag-and-drop canvas and the shared scenario templates.
About $10.59 a month on the Core plan, $127.08 a year (checked 2026-10-19).
Thousands of ready app modules with managed OAuth connections; The drag-and-drop canvas and the shared scenario templates; Teams, roles and shared scenarios; Hosted reliability: queued webhooks, execution history and alerts; AI modules and the custom apps and functions on higher plans. If any of those matter to you, keep paying.
Yes: n8n Community Edition (free), Activepieces (open source), Windmill (open source).