Documentation
Orch8 is a self-hosted workflow engine that runs durable multi-step sequences. Define workflows as JSON, schedule them via REST API, and the engine handles execution, retries, rate limits, and crash recovery.
What makes Orch8 different?
- ✓State snapshots — resumes in O(1) time after crashes, no matter how long the sequence runs
- ✓Built-in scheduling — business days, timezones, rate limits, and send windows without extra code
- ✓Native composite blocks — parallel, race, loop, router, try-catch, A/B split, and child workflows out of the box
- ✓Single binary — one executable, one database. Deploy in 30 seconds
Official SDKs for TypeScript/Node.js, Python, and Go. Single binary or Docker image. Just Postgres (or SQLite for local dev) and the engine.
How it works
When the engine runs a step, it saves the current state to PostgreSQL as a snapshot. If the server crashes and restarts, it reads the latest snapshot and continues from there — no need to re-run previous steps. Your handler code is just normal code with no special rules.
Getting Started
Reference
REST API
59 endpoints covering sequences, instances, workers, cron, and more.
Defining Sequences
Block types, delays, rate limits, send windows, and context access.
Block Types
ForEach, SubSequence, Loop, Parallel, Race, Router, TryCatch, ABSplit.
Built-in Handlers
http_request, log, sleep, self_modify, llm_call, emit_event, and more.
Template Interpolation
{{context.data.email}}, fallback defaults, and expression support.
External Workers
Pull-based REST workers in any language with heartbeats and queue routing.
Concurrency & Rate Limits
Per-entity concurrency keys, idempotency, and sliding-window rate limits.
Versioning & Migration
Sequence versioning, hot migration, and dynamic step injection.
Advanced
Advanced Features
A/B splits, circuit breakers, SLA timers, interceptors, encryption.
Sessions
Group related instances under a named entity for lifecycle management.
AI Agents
llm_call, tool_call, human_review, ReAct loops, multi-agent delegation.
Plugins & WASM
gRPC sidecar plugins, WASM sandboxed handlers, plugin registry.
Triggers
HTTP webhooks, NATS subscriptions, file watch, in-process event bus.
Credentials & Keys
Encrypted credential vault with OAuth2 refresh and credentials:// URIs.
Signals & LLM Usage
Pause, resume, cancel, custom signals, and LLM token tracking.
Resource Pools
Multi-resource distribution with weighted rotation and warmup ramps.
Streaming & Approvals
SSE real-time events and human-in-the-loop approval workflows.
Activepieces (200+ Apps)
Pre-built integrations with Slack, Gmail, Notion, HubSpot, and more.
SQLite & Test Mode
Zero-dependency local dev and in-memory CI testing.
CLI
Instance management, sequence operations, cron, and health checks.
Concepts & Operations
Core Concepts
Sequences, instances, blocks, signals, context, rate limits, recovery.
Comparison
How Orch8 compares to Temporal, Inngest, and Trigger.dev.
Configuration & Deployment
TOML config, environment variables, Docker, Helm, observability.
Cluster & Multi-Node
Horizontal scaling with database-level work distribution.
Circuit Breakers & DLQ
Automatic circuit breaking and dead letter queue for failed instances.
Architecture
Crate structure, snapshot execution, two execution paths, tech stack.
Database Schema
Core tables, indexes, migrations, and the scheduling hot path.
Glossary
Key terms used throughout the documentation and API.