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#
- Webhook / Schedule / App trigger — your business event.
- IF — drop noise (severity, label, customer tier).
- 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 } }];
- HTTP Request —
POST http://127.0.0.1:8790/task(or tunnel URL) with headersX-Orch-Timestamp/X-Orch-Signatureand the JSON body. - On
needs_approval(from Recipe 2 catch, or poll GET/decisions/{id}), HTTP RequestPOST .../decisions/{id}/approvewith the same HMAC scheme (empty body{}is fine).
Tunnel / --allow-remote only if n8n Cloud must reach your laptop.
Zapier steps#
- Trigger app.
- Filter.
- Code by Zapier — same HMAC as above (Node
crypto). - Webhooks by Zapier → Custom Request →
/task. - 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
- Put the Catch Hook / Webhook URL in
/app/settings(requiresaddon.n8noraddon.zapierat $5/mo). - Also configure local
notify.webhooks[].urlinorch.yamlfor workshop events (Professional+ SaaS webhook, or local DIY). - Filter on
event == "needs_approval"and readdecision_id. - 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.