Skip to main content

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.

OrderWorkflow.java
@LHWorkflow(value = "process-order", defaultTaskRetries = "3")
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.

OrderWorkflow.java — creditCheck()
private void creditCheck(WorkflowThread wf) {
// 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");
});
});
}
WfSpec compiled into a visual business process graph on the LittleHorse dashboard

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.

LittleHorse dashboard showing a running workflow execution

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

Get Started. It's Easy and Free.

Write your business processes as code. Let LittleHorse handle the rest.