0saas

Job ticket 605624 · smb · wiring harness · no subscription

Zapier meters automations in tasks. Draw the harness before you rent one.

This page is a drafting table upstream of the paywall. Describe a flow in plain English and a free-tier model returns it as a wiring harness spec — trigger, actions, field mappings, the guard you forgot, the failure path, a safe test payload — or audits an existing flow against seven checks with no path to a polite answer. It never runs anything: credentials and execution are exactly what this page refuses to own, on purpose.

Zapier is a trademark of Zapier Inc. This is an independent, unaffiliated comparison built on Zapier's own published pricing page, linked below and re-read every thirty days.

Harness board — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Zapier. Every Zapier figure on this page comes from the linked pricing page, read 2026-09-27.

The prompt pack

Two prompts, each mapped one-to-one onto a Zapier feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.

What Zapier's own pricing page says

Read from zapier.com/pricing on 2026-09-27. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

Zapier Free vs Pro vs this page — verified 2026-09-27
The jobZapier FreePro (from US$19.99)This page + a free-tier model
PriceUS$0 — 100 tasks / month, two steps per ZapUS$19.99 / month and up (entry figure as displayed)US$0 forever. A free-tier key costs nothing; the prompts are yours.
Designing a multi-step flow100 tasks/mo and 2 steps make the real design untestableMulti-step, paths, filters, premium appsPrompt 1 specs any flow at any depth on paper; the platform's cage becomes a build constraint, not a thought limit
Error handling + retriesNot at the free tier we readPath-based error handling in the editorEvery spec carries an ERROR row — a retry shape or an honest 'NONE DEFINED'; the audit's SILENCE check fires on flows that drop failures quietly
Keeping old flows honestTask history and analytics meter at paid tiersHigher-tier usage visibilityPrompt 2 audits any flow you can describe or paste from the editor — seven checks, CANNOT VERIFY where the input runs out

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Zapier wins.

Replaced: the multi-step design layer

The whole shape of a real Zap — trigger, actions, mappings, filters, error paths — drafted and re-drafted as a document your team can review before a single task burns.

Replaced: pre-build diligence

Test payload lines, dedupe keys, '(implied)' guards: the parts of editor tier that are documentation wearing a UI, printed as paper instead.

Replaced: flow audits and hygiene reviews

Seven fixed checks — identity, duplicates, silence, drift, scope creep, volatility, nuisance — run by prompt over what you can paste out of the editor.

NOT execution, ever

No running, polling, retrying, or firing. An automation that runs needs credentials and an uptime promise; a US$0 page that holds your OAuth tokens would be a liability with a prompt pack stapled to it.

NOT task economics

No task-counting advice against your bill: per-tier task pricing beyond what the page displayed is unconfirmed, and pricing your plan is Zapier's job, not the audit's.

NOT the app catalog

Zapier's 8,000-integration connector surface is the moat and the price tag. The spec references providers by name and marks UNVERIFIED when your description didn't name one — confirming connectors happens on the platform, at build time.

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. Wiring spec · zapier-wiring-spec v1.0.0 · best ally: Groq Cloud — free tier · llama-3.3-70b-versatile

Replaces: Zapier's multi-step editor + filters/paths + error handling: the shape of a working automation, documented before any task meter gets involved.

Why this model: A wiring spec is a directed graph wearing a JSON costume; strong instruction-following beats flashiness here, and Groq's free base handles the re-draft loop a spec actually lives in. Fallback ally: OpenRouter — :free model variants.

System prompt (1903 chars):

You are an automation drafter. You take a plain-English description of a workflow and return a buildable wiring spec: steps, field mappings, guards, failure paths, tests. You describe integrations by name only; you never claim an API works in a way you cannot verify.

Return ONLY one JSON object. No markdown fences, no commentary.

{
  "kicker": string (max 8 words),
  "title": string (max 8 words, the flow's name, verb first),
  "subhead": string (max 22 words: what this flow earns and what it must never do),
  "items": [
    { "title": string ('Step N · ' + step name), "tag": string (TRIGGER | ACTION | FILTER | PATH | ERROR), "body": string (max 55 words: provider + event, the exact field mapping written as source_field -> target_field, and the one rule that makes it safe) }
  ]
}

Hard rules:
1. Steps in execution order, 3 to 12 items, exactly one TRIGGER first. Multi-step flows get their FILTER or PATH rows spelled out — a guard the description implies but that nobody wrote down is still a bug; mark implied ones with '(implied)'.
2. Every ACTION names its provider as the description named it; if the description did not name one, write provider as UNVERIFIED and the body must end with a question for the reader. Never invent app names, scopes, or field identifiers the description did not contain or that a sane person could not confirm in their own admin screen.
3. Every ERROR item carries the retry shape ('retry 3x backoff', 'notify human, stop') in its body; a flow without a failure path gets one ERROR row reading 'NONE DEFINED — add one', and it counts.
4. The test payload line appears in the TRIGGER step's body as 'TEST: ' + a one-sentence way to fire the flow safely (a labelled staging object, never live customer data).
5. Do not include task-count math or billing claims; the meter belongs to the platform, this is paper.
6. Write in the language of the description.

User message template:

The flow, in whatever shape it exists in your head right now: {{flow}} Apps in play (or say 'whatever they already are'): {{apps}}

Variables:

  • {{flow}} — Describe the flow (max 1500 chars) sample data shipped with the tool
  • {{apps}} — Apps in play (max 300 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "kicker", "title", "subhead", "items" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "subhead": { "type": "string" }, "items": { "type": "array", "minItems": 3, "maxItems": 12 } } }

Decoding: temperature 0.25 · max 1600 output tokens · responseMimeType application/json · budget ~900 in / ~900 out per flow · cost per run: 1 request per revision. Groq's base of 1,000/day absorbs a whole spec review cycle, and the relay floor costs nothing on any platform.

Prompt 02 — 2. Flow audit · zapier-flow-audit v1.0.0 · best ally: OpenRouter — :free model variants · meta-llama/llama-3.3-70b

Replaces: Zapier's paid task analytics and multi-Zap maintenance surface ('is this flow still right?'): an audit of an existing automation, described or pasted from its editor, scored against its own intent.

Why this model: Auditing means holding a described flow, its original intent, and three failure scenarios in mind at once — that is a judgment-dense read where the free-tier frontier models' long context pays for itself; a draft-and-reroute fallback keeps it usable on any quota day. Fallback ally: Google Gemini API — Free usage tier.

System prompt (1876 chars):

You audit one automation. You receive what the flow was supposed to do and what it actually is, step by step, and you return a finding per check. You are a wiring inspector: code smells are fine, safety findings are mandatory, style is out of scope.

Return ONLY one JSON object. No markdown fences, no commentary.

{
  "kicker": string (max 8 words),
  "title": string (max 8 words, the flow under audit),
  "subhead": string (max 22 words: the flow's stated intent, restated plainly),
  "items": [
    { "title": string (the check's name, <= 6 words), "tag": string (SAFE | AT RISK | BROKEN | NUISANCE), "body": string (max 50 words: what you found, which step number it lives at, and the one change that clears it) }
  ]
}

Run exactly these checks, one item each, in order:
1. IDENTITY — can every step be traced to a field the trigger actually produces?
2. DUPLICATES — does the flow create or update without a stated dedupe key?
3. SILENCE — what happens when an action errors: retry, drop, or notify? A 'nobody would notice' answer is BROKEN.
4. DRIFT — any step whose behavior depends on a third party's field names or labels (they move; name the breakage).
5. SCOPE CREEP — does any step do something the stated intent never asked for?
6. VOLATILITY — what fires twice (welcome emails on edits, webhooks on self-updates)?
7. NUISANCE — cosmetic waste: steps that only reorder or trim text. It is still a finding, never more than one.

Hard rules:
- A check the input gives no evidence for gets tag 'AT RISK' with body 'CANNOT VERIFY — describe/inspect X'; do not assume the flow is fine, and do not assume it is broken.
- The one change in each body must fit inside the described platform (no 'move to a queue and a worker' architecture speeches).
- Never state prices, task counts, or plan ceilings; this is inspection of paper.
- Write in the language of the input.

User message template:

What the flow was for: {{intent}} What it is, step by step (as it stands in the editor today): {{steps}}

Variables:

  • {{intent}} — Original intent (max 600 chars) sample data shipped with the tool
  • {{steps}} — The flow as built (max 1200 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "kicker", "title", "subhead", "items" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "subhead": { "type": "string" }, "items": { "type": "array", "minItems": 7, "maxItems": 7 } } }

Decoding: temperature 0.3 · max 1500 output tokens · responseMimeType application/json · budget ~800 in / ~800 out per audit · cost per run: 1 request. On OpenRouter's free tier, or nothing at all on the relay — an audit a month cannot spend its way through a ceiling.

Questions worth asking before you cancel

So this replaces Zapier? It doesn't even run a Zap.

Right — it replaces the part of Zapier that charges you to think. Everything a spec contains (steps, mappings, guards, failure paths) is exactly what the editor lets you build on paid tiers; the page makes that stage free and reviewable. Execution stays where credentials live, because that is where it belongs for anyone honest about security at US$0.

Which platforms can I build the spec for?

Anything with a trigger/action shape: Zapier, Make, n8n, GitHub Actions, a queue and a cron job — the format is deliberately platform-neutral, and UNVERIFIED beats a confident wrong app name every time.

Why does the audit have a NUISANCE check if style is out of scope?

Because cosmetic waste is how a flow gets deleted out of frustration while its real bug survives; one NUISANCE line, never more, is the honest minimum.

What changed since the price was read?

Nothing was changed by us — every number carries 2026-09-27 and re-checks 2026-10-27. If Zapier moves the entry figure, the page re-reads before this copy does; until then the fetch's own words stand, unconfirmed fields and all.

Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.

Next on the ledger