foliot docs

Foliot documentation

Foliot is a hosted workflow orchestrator. The engine keeps the state, the clock and the history; your app keeps the business logic.

Describe a workflow as data, start runs against it, and Foliot calls your app for each step, over signed HTTP, with retries, timers and a full history.

  • A workflow is a versioned list of steps: task, sleep, wait, choice.
  • A run is one execution: a row that says “I am at step X, due at time T, on attempt N”.
  • Foliot pushes each task to your app over signed HTTP (or offers it to pull workers), records everything that happens, retries with backoff, waits for timers and signals, and lets an operator redrive, rewind, skip, pause a step or bulk-repair thousands of runs from Foliot Console.

Foliot is four pieces:

  • Foliot API (https://api.foliot.app): the engine and the REST API that your app and the SDK talk to.
  • Foliot Console (https://foliot.app): the web console, for the person on call. See Operating Foliot.
  • Node.js SDK (@foliot/sdk), optional: definitions, typed handlers, a client and the foliot CLI, if your app runs on Node.js. An app in any other language calls the REST API and implements the handler contract itself.
  • Your app, in any language: owns the business logic. It exposes one HTTPS route that Foliot calls for each task.