FlowForge

Build durable AI workflowsthat never fail

Event-driven orchestration with automatic retries, step memoization, and native LLM integration. From prototype to production in minutes.

View on GitHub
workflows/order.py
@flowforge.function(
    trigger=flowforge.trigger.event("order/created"),
    retries=3
)
async def process_order(ctx: Context):
    # Validate — memoized, won't re-run on retry
    order = await step.run("validate", validate_order, ctx.event.data)

    # AI-powered fraud check
    risk = await step.ai(
        "fraud-check",
        model="gpt-4o",
        prompt=f"Assess fraud risk for order {order['id']}"
    )

    # Wait for payment confirmation event
    payment = await step.wait_for_event(
        "await-payment",
        event="payment/confirmed",
        match="data.order_id"
    )

    # Ship it
    await step.run("ship", create_shipment, order, payment)
    return {"status": "shipped"}

Powering teams shipping AI in production

Stravix logobGradient logoVPORT logoKahoo logoStravix logobGradient logoVPORT logoKahoo logoStravix logobGradient logoVPORT logoKahoo logo

Capabilities

Everything you need for production AI workflows

A complete platform for building, running, and monitoring durable workflows with first-class AI support.

EventValidateAI CheckLogShip
Durable Execution

Steps that survive anything

Completed work is memoized and checkpointed. Crashes, deploys, and retries resume exactly where they left off — no duplicate side effects.

Token spend

$284.12

-18%
Apr 1Apr 15

Cost attribution

Track token spend per model, tenant, and workflow. No surprise bills.

Todo2
FF-14

Sync customer data

Atlas
FF-15

Generate weekly report

Atlas
In Progress2
FF-12

Analyze churn signals

Atlas
FF-13

Review flagged orders

Maya
Done2
FF-09

Summarize Q3 tickets

Atlas
FF-10

Draft release notes

Atlas

Task board

Kanban with human-readable IDs. Assign to humans or agents.

Live — run #8241
0.2sfetch_user_context
1.1sAnalyzing sentiment…
1.8ssearch_knowledge_base
2.4sResponse drafted

Live observability

Real-time SSE feed of tool calls, decisions, and events.

flow.py
@flowforge.function(
concurrency=5,
rate="60/min",
throttle="10s",
debounce="2s",
)
async def handle(ctx):
# …business logic

Declarative flow control

Concurrency, rate limits, throttling, debouncing — one decorator away.

SOC 2GDPRHIPAAISO 27001
Signing keyffk_live_•••• a2f7
Tenant isolationenforced
Audit logstreaming

Secure by default

Tenant isolation, scoped secrets, and signed audit logs for every action.

Atlas

claude-sonnet-4

research
code
summarize
review

Agents with identity

Named AI team members with skills, models, and live status — track them like you track people.

Awaiting approval

Agent wants to issue refund of $420 to order ORD-9218

Human-in-the-loop

Approval queues for sensitive agent actions. Stay in control without slowing the pipeline.

How it works

From event to completion in five steps

01

Event Arrives

An event hits your API endpoint — order placed, payment received, user signed up.

02

Function Matched

FlowForge matches the event to registered functions by their trigger configuration.

03

Run Enqueued

A Run record is created and the job enters the fair queue for execution.

04

Steps Execute

Your function runs step by step. Each step is memoized — completed work is never repeated.

05

Workflow Completes

The function returns, the run is marked complete, and results are stored durably.

Primitives

Powerful building blocks, simple API

Write workflows as plain async functions. FlowForge handles durability, retries, and state behind the scenes.

step.run()

Execute any function with memoization. If the workflow retries, completed steps return cached results instantly.

step.ai()

Call OpenAI, Anthropic, or any LiteLLM-supported model with automatic retry, token tracking, and cost attribution.

step.wait_for_event()

Pause execution for hours or days until a matching event arrives. No polling, no timeouts.

step.invoke()

Call other FlowForge functions as sub-workflows. Build complex pipelines from composable blocks.

primitives.py
# Define a durable step — automatically memoized
order = await step.run("validate", validate_order, ctx.event.data)

# Call any LLM with built-in retry and token tracking
analysis = await step.ai(
    "analyze",
    model="claude-sonnet-4-20250514",
    prompt=f"Analyze order {order['id']} for anomalies"
)

# Pause execution until an external event arrives
payment = await step.wait_for_event(
    "await-payment",
    event="payment/confirmed",
    match="data.order_id",
    timeout="24h"
)

# Invoke another FlowForge function
await step.invoke("notify", function_id="send-receipt", data=payment)

Agent Platform

AI agents as first-class team members

Give your agents identity, skills, and a task board. Track their work, costs, and decisions in one place.

Identity

Agent Profiles

Named AI identities with configurable skills, models, and system prompts. Track status in real time.

Planning

Task Board

Kanban-style board with human-readable IDs (FF-1, FF-2). Assign tasks to humans or agents.

Observability

Live Activity

Real-time SSE-powered feed showing agent thinking, tool calls, and events as they happen.

Economics

Cost Dashboard

Track token usage and costs by provider, model, and time period. No surprise bills.

Safety

Human-in-the-Loop

Approval queues for sensitive agent actions. Stay in control without slowing down.

Identity

Agent Profiles

Named AI identities with configurable skills, models, and system prompts. Track status in real time.

Planning

Task Board

Kanban-style board with human-readable IDs (FF-1, FF-2). Assign tasks to humans or agents.

Observability

Live Activity

Real-time SSE-powered feed showing agent thinking, tool calls, and events as they happen.

Economics

Cost Dashboard

Track token usage and costs by provider, model, and time period. No surprise bills.

Safety

Human-in-the-Loop

Approval queues for sensitive agent actions. Stay in control without slowing down.

Open Source

Free forever. Your infra, your rules.

FlowForge is fully open-source. Clone it, run it, extend it — no license fees, no seat limits, no phone-home.

Open SourceMIT licensed
$0forever

Self-hosted. Full control. No limits.

  • Unlimited workflows
  • All step primitives
  • Event triggers & cron
  • Python & TypeScript SDKs
  • Agent team platform
  • Community support
Coming later

FlowForge Cloud

A managed option is on the roadmap — zero-ops deploys, team workspaces, and a shared skill registry. No dates yet; we're focused on the open-source core first.

  • Hosted orchestrator
  • Team workspaces
  • Shared skill registry
Open source · Self-host it anywhere

Ready to build durable AI workflows?

Clone the repo and ship your first durable workflow in under 10 minutes. MIT licensed, no strings.