mi-8n adds idempotency, resilient retries, tenant isolation, and live usage-based billing to your n8n automations — with a beautiful dashboard your customers can actually understand.
Ship automations with confidence. mi-8n adds the guardrails, observability, and metering you need to serve real customers.
Built‑in keys & dedup ensure retries never double‑charge or duplicate work.
Injects a tenant context into every execution, with RLS‑ready data filters.
Track executions, run‑time, and API calls per customer — export to Stripe.
Drop‑in nodes push live status & logs back to dashboards and SLAs.
Divide traffic via API or headers; route to the right workflow or version.
Invite customers to their own read‑only dashboards. Keep ops in control.
Keep using n8n. Add mi-8n to get isolation, observability, and billing — with minimal changes.
Send traffic through mi-8n's edge API. We attach a tenant context and route to the right n8n workflow/version.
Drop in our progress & metrics nodes. Every execution becomes traceable, searchable, and explainable.
Export metered usage to your billing stack. Reveal ROI with per‑customer reports and time‑saved metrics.
// 1) Route customer calls via mi-8n edge
POST /api/mi-8n/route
X-Tenant-ID: acme-co
X-Idempotency-Key: 34f7d0...
// 2) In n8n, use our node to report progress
mi-8n.report({
tenantId: $json.tenantId,
workflow: $workflow.name,
stage: "charging",
status: "in_progress",
context: { amount: 1200, currency: "EUR" }
});
// 3) Query status in your app
GET /api/mi-8n/status?tenant=acme-co&ref=order_7843mi-8n doesn't just help with traditional automations — it powers agentic AI workflows by passing a complete user or tenant context into every AI call.
Attach a first‑class context packet to each run: tenant, user, roles, entitlements, consent, and data scopes.
Every agent tool call is logged with inputs/outputs and the active context — perfect for debugging and post‑mortems.
Scope data access per tenant/user via RLS and feature flags. Block unsafe tools at runtime.
// 1) Create a signed context packet in your app
const context = {
tenantId: "acme-co",
userId: "u_123",
roles: ["admin"],
plan: "enterprise",
locale: "en-GB",
consent: { analytics: true },
scopes: { customers: ["cust_42"], pii: false },
correlationId: "corr_9c7f..."
};
// 2) Route agent requests through mi-8n edge (adds headers, idempotency)
POST /api/mi-8n/agents/run
X-Tenant-ID: acme-co
X-User-Context: <JWT or encrypted handle>
X-Idempotency-Key: corr_9c7f...
// 3) Inside n8n, the agent workflow reads context & calls tools
const ctx = mi-8n.context();
await tools.search({ q: ctx.userQuery, tenant: ctx.tenantId });
// 4) Report agent decisions & tool calls for observability
mi-8n.report({
tenantId: ctx.tenantId,
workflow: $workflow.name,
stage: "agent.tool:search",
status: "success",
context: { correlationId: ctx.correlationId, tokens: 512 }
});Idempotency keys, rate limits, and per‑user quotas keep agents predictable under load.
Track tokens and model spend per tenant/user — export to your billing system.
Redact sensitive fields in prompts/logs and keep a complete audit for reviews.
A single pane of glass for executions, failures, time saved, and per‑tenant usage.
Founders pricing during beta. Usage‑based plans when GA. No surprises.
For agencies & SaaS teams piloting mi-8n.
For production workloads and custom needs.
Don’t see your question? Email hello@mi-8n.io