0.424 (05 Nov 2025)

5 November, 2025

We're excited to announce the release of Flows - a powerful new way to build multi-step, interactive workflows in Keel.

Introducing Flows

Flows let you build complex operational processes that combine background processing with user interaction. Unlike simple actions, Flows can pause for approvals, display forms, and coordinate multiple steps that span hours or even days.

flow RefundOrder {
    inputs {
        orderId ID
    }
    @permission(roles: [Manager])
}

After defining your flow in the schema, run keel generate to scaffold the implementation:

import { RefundOrder, models } from "@teamkeel/sdk";
 
export default RefundOrder(async (ctx, inputs) => {
    // Background step - runs automatically
    const order = await ctx.step("fetch order", async () => {
        return await models.order.findOne({ id: inputs.orderId });
    });
 
    // UI step - pauses for user confirmation
    const confirmed = await ctx.ui.page("confirm", {
        title: "Confirm Refund",
        content: [
            ctx.ui.display.keyValue("Order", order.orderNumber),
            ctx.ui.display.keyValue("Amount", `$${order.total}`),
            ctx.ui.inputs.boolean("confirm", { label: "Process refund?" })
        ]
    });
 
    if (confirmed.confirm) {
        await ctx.step("process refund", async () => {
            // Process the refund...
        });
    }
});

Key Features

  • Function steps - Background operations that are durable and automatically retry on failure
  • UI steps - Pause workflows to collect input, display data, or request approvals
  • Scheduling - Run flows on a schedule using @schedule
  • Testing SDK - Test your flows with the dedicated flows testing SDK

Use Cases

Flows are perfect for:

  • Order management and refunds
  • Employee onboarding workflows
  • Approval processes
  • Data import/export operations
  • Multi-system integrations

See the Flows documentation to get started.

Fixes and Improvements

For a full list of fixes and improvements, check out our GitHub releases page (opens in a new tab).

For any issues or feedback, please contact us at help@keel.so.

Thank you for using Keel!