n8n / Zapier recipes

Two golden workflows: work enters the workshop, and ops reacts to needs_approval — without a canvas inside Orchemax.

Goal#

Use n8n or Zapier as the conveyor (triggers + branches). Orchemax stays the workshop: tasks, agents, Zero-Code-Leak, Decision API. No flowchart editor inside Orchemax — paste catch URLs under Settings and run orch webhook serve on the machine.

List every outbound event id with:

orch notify events

Recipe 1 — Work enters (inbound)#

Trigger (cron / CRM / issue)
  → n8n Filter (only actionable rows)
  → HTTP POST http://<host>:8790/task  (HMAC)
  → Orchemax creates task; if require_approval → needs_approval + decision_id
  → n8n (or Telegram Assist) POST /decisions/{id}/approve
  → Agent runs → sealed event back to catch URL → update ticket

n8n steps#

  1. Webhook / Schedule / App trigger — your business event.
  2. IF — drop noise (severity, label, customer tier).
  3. Code — build JSON body and HMAC:
const crypto = require('crypto');
const secret = $env.ORCH_WEBHOOK_SECRET;
const body = JSON.stringify({
  template: 'cursor',
  dispatch: true,
  approve: false,
  project: 'acme'
});
const ts = Math.floor(Date.now() / 1000).toString();
const sig = crypto.createHmac('sha256', secret)
  .update(ts + '.' + body).digest('hex');
return [{ json: { body, ts, sig } }];
  1. HTTP RequestPOST http://127.0.0.1:8790/task (or tunnel URL) with headers X-Orch-Timestamp / X-Orch-Signature and the JSON body.
  2. On needs_approval (from Recipe 2 catch, or poll GET /decisions/{id}), HTTP Request POST .../decisions/{id}/approve with the same HMAC scheme (empty body {} is fine).

Tunnel / --allow-remote only if n8n Cloud must reach your laptop.

Zapier steps#

  1. Trigger app.
  2. Filter.
  3. Code by Zapier — same HMAC as above (Node crypto).
  4. Webhooks by Zapier → Custom Request/task.
  5. Later: Custom Request → /decisions/{{id}}/approve.

Recipe 2 — Ops reacts (outbound)#

orch emits needs_approval | failed | sealed
  → catch URL (Settings → n8n / Zapier URL, $5 add-on)
  → n8n Switch on event
  → Slack / email / CRM (no LLM) OR POST another /task
  1. Put the Catch Hook / Webhook URL in /app/settings (requires addon.n8n or addon.zapier at $5/mo).
  2. Also configure local notify.webhooks[].url in orch.yaml for workshop events (Professional+ SaaS webhook, or local DIY).
  3. Filter on event == "needs_approval" and read decision_id.
  4. Human path: Telegram Assist (Team) or Decision API from n8n.

What agents know#

Agents do not invent URLs. They receive tasks (inbound) or use documented tools (orch notify events, Decision API via Chair). See skill orch-workflows.