A runner that listens for a webhook, a schedule or a new feed item and then calls APIs in order is a weekend's work, and it covers the handful of automations most people run. The cost is in connectors: each app needs its own OAuth app, token refresh and API quirks, and nobody maintains that for you. Self-hosting n8n or Activepieces trades the build for server upkeep.
Before you buildZapier Free gives 100 tasks a month with two-step Zaps, enough for a couple of simple automations.
Build me a personal workflow automation runner to replace Zapier. Requirements:
- Node.js 22 + TypeScript: a Fastify server and a React front end built with
Vite, with workflows stored as JSON. `npm start` serves everything on
http://localhost:5000.
- Storage: better-sqlite3 in ./data/flows.db: workflows (name, enabled, trigger,
ordered steps), runs (status, timestamps, input), step_runs (input, output,
error, duration) and a credentials table encrypted with AES-256-GCM using a
key from .env.
- Triggers: a webhook (POST /hook/<id> with a secret token), a schedule (cron
expressions via `croner`), and RSS or Atom polling every N minutes with a
seen-items table so each item fires once.
- Steps: HTTP request (method, headers, JSON body), filter (stop unless a
condition holds), transform (a JavaScript expression run in a `node:vm`
context with a 200 ms timeout and no require), send email (nodemailer, SMTP
from .env), post to Slack or Discord through an incoming-webhook URL, and
write a row to a SQLite table.
- Data passing: later steps read earlier output with {{steps.<name>.field}},
resolved by a small path lookup, never by eval.
- Editor: form-based, not a canvas. Pick a trigger, add steps in order, press
Test to run once with sample data and see each step's input and output.
- Reliability: retry a failing step 3 times with backoff (5 s, 30 s, 5 min),
record the error, send at most one failure email per workflow per hour, and
prune runs older than 30 days.
- Single user with one password from .env (signed cookie). No accounts, no
telemetry; outbound calls go only to URLs you configure.
- Out of scope: OAuth connectors, branching paths, a visual canvas, teams. Use
API keys or incoming webhooks instead.
- README: how to expose /hook/* through a tunnel or a VPS, and a list of
services that work with only 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 Zapier.
Add two service steps to the automation runner in this folder. Requirements: - A Notion step using an internal integration token: create a page in a database, with properties mapped from templates, and append a block to a page. - An Airtable step using a personal access token: create or update a record in a given base and table, respecting 5 requests per second. - Store tokens in the encrypted credentials table and show only the last 4 characters in the editor. - Add a Test connection button per credential and tests with mocked HTTP responses. - Update the README.
Add branching to the automation runner in this folder. Requirements: - A Branch step with up to 3 conditions in order plus an Else path, each containing its own list of steps. - Conditions compare a template value with equals, contains, greater than, less than or exists. - The run view shows which path ran and marks the others skipped. - Tests for no matching condition with and without an Else path. - Update the README.
Add a failure inbox to the automation runner in this folder. Requirements: - A page listing failed runs with the failing step, error and input. - Replay re-runs from the failed step with the stored input; Replay all runs every failed run of a workflow, one at a time. - Mark a replayed run as resolved and link it to the replay. - Never replay steps that already succeeded, and warn when a step is not safe to repeat (HTTP POST without an idempotency header). - Update the README.
Add a Zapier export reader to the automation runner in this folder. Requirements: - Upload the Zapfile.json from Zapier's Export my data ZIP. - For each Zap, list its trigger app and event, each action step, and whether it used paths or a premium app. - Mark steps the runner supports (webhooks, schedule, RSS, HTTP, email, Slack or Discord webhooks) and steps that need a new connector. - Output a Markdown checklist and create empty draft workflows for the supported ones. - Update the README.
Zapier is the path of least effort: connect an account, pick a trigger and an action, and it runs with no server to maintain. The people who build automations are often not developers, and teams stay because someone else keeps the app connections working. The cost climbs with volume, which is why heavy users eventually look at n8n or Make.
Estimate · Runs on a laptop or a $5 VPS, and SMTP at this volume fits free tiers. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 100 tasks a month, two-step Zaps, no premium apps and no pay-per-task option. |
| Professional | $29.99 | $19.99 | From 750 tasks a month, multi-step Zaps, unlimited Zaps and premium apps. The 2,000-task tier is $73.50 monthly or $49 annual. |
| Team | $103.50 | $69 | From 2,000 tasks a month, multi-step Zaps, 25 seats and premium apps. |
| Enterprise | custom | — | A custom annual task limit, multi-step Zaps and unlimited seats. |
Free allows 100 tasks a month and two-step Zaps only.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Ready-made connectors with hosted sign-in for each app, A visual editor that tests each step against your real data.
About $29.99 a month on the Professional (750 tasks) plan, $359.88 a year (checked 2026-10-14).
Ready-made connectors with hosted sign-in for each app; A visual editor that tests each step against your real data; Run history, alerts and support handled by someone else; Zapier Tables, Agents and Chatbots; Someone else fixing the connection when an app changes its API. If any of those matter to you, keep paying.
Yes: Activepieces (open source), n8n (free), Windmill (open source).