Skip to main content
ConfluentOfficial Confluent Partner

LittleHorse delivers Business‑as‑code for Confluent customers

Orchestrate microservices with durable, event‑driven workflows on Confluent Kafka. Versioned changes, end‑to‑end visibility, and exactly‑once execution—without coupling services.

ConfluentBuilt to complement Confluent Cloud & Platform
SOC 2Enterprise‑ready

Why LittleHorse on Confluent

Complete your streaming journey with durable orchestration and elite observability.

Durable execution

Exactly‑once steps, retries, timeouts, persisted state.

Event‑first orchestration

Trigger from Kafka topics and timers without coupling.

Complete observability

Trace every run end‑to‑end. Search state for instant RCA.

Battle‑tested patterns

Sagas, outbox, compensations, DLQs—ready day one.

Composable services

Reuse HTTP/gRPC services. No rewrites required.

Cloud or on‑prem

Run with Confluent Cloud or self‑managed clusters.

Governed self‑service

Templates and guardrails to scale adoption safely across teams.

Reusable building blocks

Publish workflows as APIs; accelerate new use cases on Kafka.

Batch to Real-Time

Move from batch processing to real-time event-driven workflows.

How it fits your Confluent architecture

Coordinate services while events flow through Kafka

LittleHorse adds workflow durability, timing, and visibility on top of your Kafka‑centric systems. Services stay decoupled. Workflows provide guarantees.

  • Trigger from topics, timers, and connectors
  • Versioned workflows for backward‑compatible change
  • Retries, DLQs, compensations out of the box
LittleHorse orchestration with Kafka

Use cases on Confluent

High‑value patterns customers ship with LittleHorse and Kafka.

Order orchestration (Saga)

Reserve, charge, ship with compensations and SLAs.

CDC → Kafka pipelines

Upsert from DB to Kafka, enrich, fan‑out to systems.

Async request/response

Correlated replies, timeouts, retries, DLQs built‑in.

Human approvals

Escalations, expirations, and auditability for SLAs.

Back‑office automations

Event‑driven ops with governed rollouts and versioning.

Real‑time alerts

Detect, coordinate remediation, and notify in seconds.

Where you are on the Confluent journey

Map your stage to the next best step—with LittleHorse amplifying your Confluent investment.

Stage 0 · Recommendations

Validate use cases with a runnable demo. Quickstart durable workflows triggered by Kafka.

Stage 1 · Awareness & Pilot

Make pilots production‑credible: retries, timeouts, DLQ, end‑to‑end traces—no custom glue.

Stage 2 · First Production

Run multi‑step flows with SLAs and versioning. Keep services decoupled while adding guarantees.

Stage 3 · Mission‑Critical

Governed self‑service templates. Compensations and approvals for compliance‑critical paths.

Stage 4 · Global Streaming

Standardize patterns across teams; search and debug at fleet scale. Safe rollouts across regions.

Stage 5 · Central Nervous System

Business‑as‑code atop Kafka. Reusable workflow building blocks accelerate new products.

Define workflows in a few lines

Use the LittleHorse SDK to declare steps and Kafka triggers. Keep your current services—HTTP/gRPC tasks are supported.

Java — Workflow
LittleHorse SDK
public void quickstartWf(WorkflowThread wf) {
WfRunVariable name = wf.declareStr("name").required();
WfRunVariable email = wf.declareStr("email").required();
WfRunVariable ssn = wf.declareInt("ssn").masked().required();

wf.execute(VERIFY_IDENTITY_TASK, name, ssn).withRetries(3);

NodeOutput identityVerificationResult = wf.waitForEvent(IDENTITY_VERIFIED_EVENT)
.timeout(60 * 60 * 24 * 2) // 2 days timeout to respect SLAs
.withCorrelationId(email)
.registeredAs(Boolean.class);

wf.doIfElse(
identityVerificationResult,
ifBody -> {
ifBody.execute(NOTIFY_CUSTOMER_TASK, identityVerificationResult, name, email);
},
elseBody -> {
elseBody.execute(NOTIFY_CUSTOMER_TASK, identityVerificationResult, name, email);
});
}
Java — Task Worker
LittleHorse SDK
// One annotation to integrate with your existing systems
@LHTaskMethod("verify-identity")
public boolean verifyIdentity(String name, String ssn) {
// Trigger 3rd party API to verify identity
}

@LHTaskMethod("notify-customer")
public void notifyCustomer(Boolean verified, String name, String email) {
if (verified) {
System.out.println("Customer " + name + " with email " + email + " is verified");
} else {
System.out.println("Customer " + name + " with email " + email + " is not verified");
}
}
LittleHorse × Confluent

Ready to ship resilient, event‑driven microservices?

Run the free quickstart or talk to our team about your Confluent architecture.