Skip to main content

Zynax

Write your agent workflow once — run it on Temporal or Argo without a rewrite.

Zynax is the engine-portability layer for agentic automation: a declarative, cloud-native, engine-agnostic control plane for AI agent workflows. You define a workflow once as a YAML manifest, and run it on whichever execution engine your organisation already operates.

Zynax is written in Go, runs on Kubernetes, is built on CNCF-graduated technologies, and is released under Apache-2.0. The source lives at github.com/zynax-io/zynax.

The wedge: engine portability

A workflow engine is an implementation detail your platform should not leak. Most agent platforms bolt themselves to one runtime — and a Kubernetes-locked agent platform cannot move a single workflow across engines.

Zynax makes the engine a swappable plug-in. The same manifest runs on Temporal or on Argo; engine selection flows through the cluster, never through the workflow file:

zynax up # the platform on kind, Temporal engine (default)
zynax up --engine argo # the same platform, the same workflows, on Argo

That is the whole pitch, and it is the first thing the getting started guide proves on your laptop.

The control-plane analogy

Kubernetes did not build a new container runtime. It built a control plane that abstracts container runtimes behind a declarative API. Zynax does the same for AI agent workflows:

Kubernetes conceptZynax equivalent
ContainerCapability
Pod specAgentDef YAML
DeploymentWorkflow YAML
kubeletEngine adapter
kube-schedulerTask broker

Zynax does not build workflow engines. It builds the control plane that orchestrates them.

Key principles

Declarative-first. Workflows are YAML manifests, not code — versionable, diffable, GitOps-ready.

Engine-agnostic. Temporal and Argo are plug-ins behind a single WorkflowEngine interface. Swap the engine without changing the workflow.

Capability routing. Workflows route to capabilities (summarize, run_tests, open_pr), never to named agents. Swap the executor without changing the workflow.

No SDK required. Any system becomes a capability by implementing the AgentService gRPC contract — HTTP APIs, LLMs, Git providers, CI systems. A Python SDK exists, but it is optional.

Event-driven state machines, not DAGs. Loops, human-in-the-loop pauses, long-running runs, and async events are first-class rather than workarounds.

What a workflow looks like

# code-review.yaml
kind: Workflow
apiVersion: zynax.io/v1

metadata:
name: code-review
namespace: engineering

spec:
initial_state: review

states:
review:
actions:
- capability: request_review
on:
- event: review.approved
goto: merge
- event: review.needswork
goto: fix

fix:
on:
- event: push
goto: review

merge:
actions:
- capability: merge_pr
on:
- event: merge.success
goto: done

done:
type: terminal
zynax apply code-review.yaml
# run_id: wf-236c478f00eb68ce

zynax status workflow wf-236c478f00eb68ce
# WORKFLOW_STATUS_RUNNING

zynax logs wf-236c478f00eb68ce
# state.entered review
# state.exited review → merge

Already standardised on something else?

Keep it. Agents and services you already run register with Zynax as capabilities, so Zynax orchestrates across your engines and tools rather than replacing them.

Where to go next

  • Getting started — boot a local cluster, run your first workflow with zero secrets and no model, then switch engines.
  • Workflow manifests — the anatomy of a Workflow: states, actions, events, guards, and data flow.
  • Architecture — the control plane, the workflow IR, and the engine adapters.
  • CLI reference — every zynax verb and its real flags.
note

Zynax is built with CNCF-graduated technologies (Temporal, gRPC, OpenTelemetry). It is not an official CNCF project.