Quarkus Flow workshop

This workshop is a guided, hands-on path through the main Quarkus Flow features. Each lab builds on the previous one, but you can also run them independently.

You will:

  • Bootstrap a Quarkus project and run a first workflow using the Java DSL.

  • Explore the Flow Dev experience: Dev UI, logs, tracing, and data output.

  • Call external HTTP and OpenAPI services from workflows.

  • React to and emit events using messaging (Kafka or another connector).

  • Orchestrate AI agents (LangChain4j) with agentic workflows.

Prerequisites

  • Java and Maven installed (same versions as your Quarkus project).

  • Quarkus CLI or Maven wrapper (./mvnw).

  • A recent Quarkus version compatible with Quarkus Flow.

  • For the optional labs:

    • HTTP/OpenAPI: a running demo endpoint (the guides use small, local examples).

    • Messaging: Kafka (or another SmallRye connector) – Dev Services is enough.

    • Agentic: a LangChain4j backend (Ollama, OpenAI, …).

Labs

The workshop is split into four labs:

  1. Lab 1 – Hello Flow & Dev UI
    Create a Quarkus app, add Quarkus Flow, write a first workflow with the Java DSL, and run it via REST and Dev UI.

  2. Lab 2 – Call HTTP & OpenAPI services
    Extend the app with HTTP and OpenAPI tasks, configure the HTTP client, and observe errors through the Problem Details mapper.

  3. Lab 3 – Events with YAML workflows
    Introduce a YAML-based workflow that reacts to events from messaging, and emit CloudEvents back out.

  4. Lab 4 – Agentic workflows
    Wire LangChain4j agents into a Flow, add a simple critique/approve loop, and discuss human-in-the-loop patterns.

Each lab is short and focused so you can run it in ~15–20 minutes and still see the full feature in action.

Where to look for the code

The snippets in these labs reference the same example code used across the documentation:

You can copy-paste them into your own project or simply follow along in your editor.