ArcFlow documentation

ArcFlow is a self-hosted AI workflow runtime written in Rust. One engine (arcflow-core) powers Python and TypeScript SDKs, the HTTP server, Relay, and the static browser SDK. Workflows are defined as versioned JSON specifications: agents, steps, optional graph routing, tools, vector memory, human-in-the-loop gates, and external callbacks.

This site helps you build workflows in code, integrate via HTTP, or ship a static-site chat widget. For wire-format basics see Workflow specification and Trace events (normative).

Three entry paths

Build workflows in code. Start with First workflow in five minutes or the Getting started curriculum. Read What is ArcFlow? and Execution model when you need graph routing or HITL.

Integrate via HTTP. Start with Server API quickstart. Pair with Architecture overview and Surfaces and when to use them (Postgres is required for server runs).

Ship a static-site chatbot. Start with Static site chatbot lesson or Static product overview. Relay keeps LLM keys off the browser. See Trace data policy for trace rules.

Which surface should I use?

SurfacePrimary usePostgres required
Python / TypeScript SDKScripts, notebooks, backend servicesOnly when recovery or registry is enabled
arcflow-serverHTTP API, registry, persistenceYes for POST /v1/runs
arcflow-relayBrowser proxy, origin check, rate limitNo
arcflow-staticBrowser runPublished()No (calls Relay or server)
arcflow CLILocal run, traceFor migrate only
VS Code extensionAuthoring, debug, graph viewNo
ScenarioRecommended surface
Internal batch jobPython or TypeScript SDK embedded
Multi-tenant SaaS backendarcflow-server plus your auth layer
Public website chat widgetRelay + static SDK + admin publish
Local debuggingSDK or CLI, optional VS Code

See Surfaces and when to use them for the full comparison.

ArcFlow services

Use this table to jump to the docs for the component you run or integrate against.

ServiceYou use it when…Start hereDeploySecurity
Python / TypeScript SDKWorkflows run inside your app or notebookPython quickstart · TypeScript quickstartInstall and buildTrace data policy
arcflow-serverBackends call HTTP APIs, need Postgres-backed runs and registryServer overview · Server API quickstartServer deployment · Docker ComposeAuthentication · API key management
arcflow-relayBrowsers call workflows without LLM keys in the bundleRelay overview · Request pathRelay deployment · BYO relayRelay security model
Static productPublished chat widgets, site knowledge, admin publish flowStatic product overview · Static site chatbotDeployment overview · Production checklistStatic product security
CLI / VS CodeLocal runs, traces, workflow authoringCLI overview · VS Code overview,,

Hosting stack (typical): Postgres + arcflow-server (+ optional arcflow-relay for public sites). See Deployment overview, Environment variables, and Health and readiness.

HTTP integrators: HTTP API reference, Idempotency, Run state machine, Error codes.

Concepts worth reading early

TopicPage
Personas and non-goalsWhat is ArcFlow?
Layers and integration flowsArchitecture overview
Workflow JSON, specification-first designWorkflow specification
Linear vs graph, run statesExecution model
Trace metadata rulesTrace data policy
Production vs deferred featuresMaturity and known gaps

Site map

SectionPurpose
concepts/Architecture, workflow specification, execution, maturity
getting-started/Curriculum: install, lessons, outcome paths
guides/Task-oriented how-to guides
sdks/Python and TypeScript SDK reference
server/HTTP server and persistence
relay/Browser-facing proxy
static-product/Sites, knowledge, published workflows
deployment/Docker and production
security/Auth, webhooks, self-hosted hardening
tutorials/Tracks A through H
certification/Self-assessed competency levels