AI as a native plane

When this happens, do that.

Automation is declarative orchestration above the seven canonical execution surfaces — never a separate eighth surface. Trigger on product events, schedules, signals, webhook receipts. Run actions through canonical APIs. Wait for approvals. Send notifications. Compensate on failure. The AutomationExpr AST is bounded by typed sealed records — no raw eval, no scripting, no Expression.Compile.

What automations can do

One canonical orchestration plane above the seven surfaces.

Triggers from anywhere

Customer create, Order paid, subscription renewed, schedules, workflow signals, webhook receipts, agent run completions, schema transitions — every canonical product event can trigger an automation.

Actions through canonical APIs

Automations call canonical operations through the same IApiOperationDispatcher REST and SDK clients use. No raw shell, no SDK leak — every action is a typed canonical operation.

Bounded typed AutomationExpr AST

Sealed records. Closed discriminated union. No raw eval, no Roslyn scripting, no Expression.Compile. Filter expressions, transform expressions, guard expressions — all typed nodes the compiler can validate.

13-stage compiler

Trigger source / action resolution / guard expression / transform / grant / capability / schema compatibility / unit measure / idempotency-retry / compensation completeness / publication-environment-branch / management authority / connector contract compatibility.

Synthesized durable workflows

When the flow contains long-running nodes, the compiler synthesizes a durable workflow definition embedded in the artifact. Never hidden — dashboards inspect via GET /api/Automation/{id}/synthesized-workflow.

Compensation completeness

Irreversible-effect-without-compensation fails the compiler. Retry-without-idempotency-or-compensation fails the compiler. Distributed correctness is enforced before runtime.

Branchable manifest domain

AutomationDefinition is one of 19 typed branching manifest domains. Operational entities (AutomationRun, StepRun, ActionAttempt, ApprovalTask, Signal) are explicitly NOT branchable.

Reads from PCG

The 13-stage compiler validates against the Plane Capability Graph. Trigger references real PCG resources. Action capabilities map to real PCG capabilities. Schema compatibility is real PCG schema.

Contributes to PCG

AutomationGraphContributor seeds canonical effect, policy, transform, trigger vocabulary back into PCG — so other planes (agent planner, dashboard graph explorer) can reason over automations.

ABOVE
The seven surfaces

Never an 8th surface

Typed
AutomationExpr AST

Sealed records, no eval

13
Compile stages

All fail closed

Visible
Synthesized workflows

Inspect via API

Build complex flows visually.

Trigger on the right product event. Run actions through canonical APIs. Pause for approvals. Compensate on failure. The 13-stage compiler catches structural errors before they reach production.