Saddle Command Center
Business-as-Code
Define, govern, and observe your end-to-end business processes in code — just like Infrastructure-as-Code did for your infra.
IaC for your business logic
Business-as-Code brings the same governance, agility, and observability that IaC brought to infrastructure — now for your application layer.
Business Logic is Code
Define end-to-end business processes using a readable DSL in Java, Python, Go, or C#. Your WfSpec is version-controlled, testable, and reviewable — just like any other code.
Full Process Observability
Every workflow execution is journaled, searchable, and visualized on the dashboard. See exactly which step succeeded, failed, or is waiting — without Zipkin, Jaeger, or correlation IDs.
Built-In Governance
Audit trails of every process execution, approval, and failure. Know who changed what, when, and why — with the same rigor Infrastructure-as-Code brought to your infra.
Cross-Domain Composition
A single WfSpec can span shipping, payments, notifications, approvals, and external systems. Services stay decoupled; the workflow is the only place that knows the end-to-end process.
public void wfLogic(WorkflowThread wf) {
// Declare variables
status.assign("PROCESSING");
// Calculate price
orderPrice.assign(wf.execute("fetch-price", item));
// Human approval for large orders
wf.doIf(orderPrice.isGreaterThan(10_000.0),
this::creditCheck);
// Ship and wait for delivery
wf.execute("ship-item", email, item);
wf.waitForEvent("item-arrived");
status.assign("DONE");
wf.execute("send-email", email, "Your order was completed");
}
A WfSpec Is Your Business Process
This single WfSpec handles the entire order processing business process — from price calculation to conditional credit checks to shipping to email notifications. It spans multiple bounded contexts and microservices, all in one readable, reviewable file.
No hunting through Slack channels to figure out which service calls which. No wondering if the retry logic is in the queue config or the service code. It's all right here.
Human Approvals, Built Into the Process
Real business processes aren't purely automated. They require human judgment — credit approvals, compliance reviews, escalations. LittleHorse's UserTask lets you assign work to specific users or groups, then continue the workflow based on their decision.
Conditional branching, external service calls, and human-in-the-loop approvals — all composed together in a single, coherent business process.
// Call external credit service
creditScore.assign(wf.execute("fetch-credit-score", email));
// If credit is low, require human approval
wf.doIf(creditScore.isLessThan(500.0), ifBody -> {
ifBody.assignUserTask(
"verify-credit-check",
null, "billing-admins");
// Reject if not approved
ifBody.doIf(..., sub -> {
status.assign("REJECTED");
sub.fail("insufficient-credit");
});
});
}

Code Compiles Into a Visual Business Process
Your WfSpec DSL code compiles down to a computational graph of nodes and edges — much like an abstract syntax tree in a programming language. The LittleHorse dashboard renders it as a visual diagram that product managers can actually understand.
For the first time, your code and your business process are the same artifact. What gets reviewed in a PR is what runs in production, and what appears on the dashboard.
Trace Every Process Execution End-to-End
When a customer reports a stuck order, you don't need to coordinate across five teams. Just open the workflow run and see exactly which task completed, which is pending, what data flowed between services, and where it failed.
No expensive APM platforms. No correlation IDs to propagate. Every step of every business process is journaled, searchable, and auditable from a single pane of glass.

Three problems Business-as-Code solves
The same chaos that IaC solved for infrastructure now plagues how we build business logic in distributed systems.
Spaghetti Architecture
No one in the company understands our business processes end-to-end.
Without LittleHorse
- ✕Business logic scattered across dozens of microservices
- ✕Cross-team debugging sessions to trace a single request
- ✕No single source of truth for how services interact
With LittleHorse
- ✓WfSpec defines the entire process in one place
- ✓Visual graph readable by engineers and product managers
- ✓Living documentation that always matches production
Reliability Tax
Engineers spend sprints on retries, DLQs, and SAGA patterns instead of features.
Without LittleHorse
- ✕Hand-rolled retry and dead-letter queue logic
- ✕Custom SAGA and Transactional Outbox implementations
- ✕Expensive APM platforms just to debug failures
With LittleHorse
- ✓Retries, durability, and fault-tolerance built in
- ✓Declarative exception handlers and rollbacks in code
- ✓Every step traced and searchable out of the box
Tech–Business Disconnect
Product can't understand what engineering builds, and engineering doesn't always build what the business needs.
Without LittleHorse
- ✕Code doesn't mirror business processes
- ✕Wasted sprints on features that miss the mark
- ✕No shared language between product and engineering
With LittleHorse
- ✓WfSpec code maps 1:1 to the business process
- ✓Visual workflows that product managers can review
- ✓Higher alignment between what's built and what's needed
Without Business-as-Code
- ✕Business logic scattered across dozens of services
- ✕Manual retry logic, DLQs, and SAGA in every service
- ✕Expensive APM platforms just to debug failures
- ✕Product and engineering misaligned on what to build
- ✕No one understands the business process end-to-end
With Business-as-Code on LittleHorse
- ✓Entire business process defined in a single WfSpec
- ✓Retries, fault tolerance, and SAGA built into the platform
- ✓Every step traced and visualized on the dashboard
- ✓Code mirrors business — reviewable by engineers and product
- ✓Version-controlled, testable, and auditable processes
Go Deeper
Read our blog series on Business-as-Code and workflow.
Business-as-Code
How LittleHorse brings governance, agility, and observability to business processes — just like IaC did for infrastructure.
The Challenge of Microservices
Why distributed architectures create a disconnect between your code and your business.
Microservices and Workflow
How workflow orchestration bridges the gap between microservice agility and business alignment.
Get Started. It's Easy and Free.
Write your business processes as code. Let LittleHorse handle the rest.