The .0n File Format — Portable AI Workflows You Can Actually Ship
Post

The .0n File Format — Portable AI Workflows You Can Actually Ship

Mike Mento4 min read

A workflow that lives in your account is software you can use. A workflow that lives in a portable file is software you can ship. The .0n file format is the second kind. Here's the spec, the comparison to existing formats, and why portability is the unlock.

The Format in One Block

{

"name": "LinkedIn Lead Qualifier", "version": "1.0.0", "vendor": { "id": "...", "name": "Mike Mento", "verified": true }, "category": "lead-generation", "required_services": ["linkedin", "crm"], "required_plan": "starter", "trigger": { "type": "scheduled", "schedule": "0 /6 " }, "config_schema": { "icp_keywords": { "type": "string[]", "label": "Target ICP keywords", "required": true }, "crm_pipeline_id": { "type": "string", "label": "CRM pipeline for qualified leads" } }, "steps": [ { "id": "fetch_recent_leads", "type": "crm_action", "action": "list_contacts", "filter": { "tags": ["new"], "limit": 50 } }, { "id": "score_each", "type": "ai_execute", "model": "groq:llama-3.3-70b-versatile", "prompt": "Score this LinkedIn profile against ICP: {{config.icp_keywords}}\n\nProfile: {{step.fetch_recent_leads.contacts[]}}\n\nReturn JSON: {score: 0-100, reasoning: string}", "iterate_over": "step.fetch_recent_leads.contacts" }, { "id": "tag_qualified", "type": "crm_action", "action": "add_tag", "filter": "step.score_each[] WHERE score > 70", "tag": "qualified-{{trigger.timestamp.date}}" } ] }

That's a complete app. Triggers, steps, AI calls, CRM writes — in one file you can drop into any 0nCore-compatible runtime.

The 9 Step Types

TypeWhat it does
ai_executeCall any LLM (Groq, Anthropic, OpenAI) with a prompt + structured output
crm_actionRead/write to leadconnectorhq.com (245 operations supported)
conditionIf/else branching with template-variable evaluation
webhookPOST to any URL with auth + payload
emailSend via Resend (template + variables)
slackPost to channel with blocks/attachments
wordpress43 WP REST operations (create post, update SEO, etc.)
delayWait N seconds/minutes/hours/days before next step
logWrite to execution log (debugging + audit)
Most real workflows use 3–6 step types. The format is opinionated: 9 step types is enough for ~90% of business automation. The 10% edge cases route to webhook (fire-and-forget) or manual (vendor delivers).

Template Variables

Every step can reference:

  • {{trigger.}} — fields from the trigger event
  • {{config.}} — user-configured options
  • {{step..}} — output from any prior step
  • {{user.}} — user account info (id, email, plan)
  • {{env.}} — declared environment vars

The template engine is simple deep-path lookups + array indexing. No code execution, no sandboxing concerns.

Required Services

The required_services array tells the installer what the user must have connected. If the user doesn't have LinkedIn + CRM connected, install fails with a guided "connect these services first" flow.

This is the equivalent of an iPhone app declaring — predictable, declarative, enforceable.

Comparison to Existing Formats

FormatStrengthsWhy .0n is different
n8n JSONVisual, large step libraryLocked to n8n runtime. No marketplace distribution.
Zapier exportEasy to authorInternal format, not portable. No re-import elsewhere.
OpenAI Custom GPT JSONDistributableStatic config, no triggers, no orchestration
Make.com blueprintComprehensiveVendor lock, opaque step semantics
Cloudflare WorkersReal code, real portabilityRequires JavaScript engineering, not declarative
.0nDeclarative, portable, marketplace-shippable, AI-nativeSmaller step library (intentional)
.0n's tradeoff: smaller step set in exchange for stronger portability and a clean install/upgrade story. If you need 200 step types you want n8n. If you need to
ship* a workflow as a product, you want .0n.

Why Portability Matters Now

Three forces converge in 2026:

  1. AI agents need workflow primitives, not just tools. A tool is a one-shot API call. A workflow is a persistent capability that runs on its own schedule, against the user's own services, with the user's own data.
  2. Indie AI devs need distribution. Building a workflow takes weeks. Building a landing page + checkout + onboarding takes months. Marketplace distribution flips the ratio.
  3. Customers need predictability. A workflow you bought from a vendor that disappeared is dead software. A .0n file lives in your account regardless of vendor health.

Portability solves the third problem. Marketplace distribution (built on UCP) solves the second. Standardized format with declarative semantics solves the first.

Open Spec

The full schema is published at 0nmcp.com/0n-standard. Reference parser, installer, and executor live in the onork-app repository.

If you build an AI agent runtime that wants to consume .0n files, the format is open. If you build a workflow you want to sell, the format is the distribution mechanism. The marketplace at 0ncore.com/dashboard/marketplace is the first storefront.

MM

Mike Mento

Founder, RocketOpp LLC

Building 0nMCP — the universal AI orchestrator with 900+ tools across 55 services. Turning complex business operations into single commands.

Leave a Reply

Join the conversation in our community forum.

Discuss this post in our community forum →

Related Posts

← All Posts