Documentation index for AI agents: see /llms.txt. Markdown versions of every page are available at <path>.md or via Accept: text/markdown.

Ship production-grade analytical AI agents

The harness for building powerful AI agents on top of your data product.

Catalog
tenant=acme · workspace=analytics

sources

Snowflakeingesting

table:products

metric:revenue-calculation

knowledge:pricing-constraints

knowledge:discount-policy

rel:orders_products

data-quality:missing-products

Tenant identity

identity

tenant=acme · workspace=analytics

select name, revenue from products

ARR

$0.0M

Your product has rich data. Agents still can’t do real work with it.

Complex schemas
Cryptic column names
Thousands of enums
Data quality issues
Temporal rules
Domain formulas
Complex schemas
Cryptic column names
Thousands of enums
Data quality issues
Temporal rules
Domain formulas
Complex schemas
Cryptic column names
Thousands of enums
Data quality issues
Temporal rules
Domain formulas
Complex schemas
Cryptic column names
Thousands of enums
Data quality issues
Ruletransforms.sql

Exclude test data before 2021

Formulademand_model.py

Elasticity must use log-normal demand model

Metricfinance-handbook.pdf

Revenue calculations exclude refunds

Definition#rev-ops · slack

Customer segments use fiscal year boundaries

The meaning of the data lives outside the schema

Metric definitions, formulas, temporal rules, tenant logic, and exceptions are scattered across docs, dashboards, and people’s heads.

rebuild_segments

Recompute customer segments

run_forecast_model

Quarterly revenue forecast

update_price_tiers

Update 1,240 price records

trigger_usage_resync

Backfill usage events

apply_fx_rates

Refresh currency conversions

Actions turn agent mistakes into product risk

Agents trigger jobs, update records, and run simulations. Without permissions and approvals, a bad interpretation becomes a product incident.

search_catalog
get_catalog_entities
get_join_path
execute_query
execute_query

 

Generic agent loops break customer-facing products

Open-ended tool exploration burns tokens and adds latency. “Eventually correct” is too slow and breaks the user experience.

A purpose-built harness to build agentic features on top of your data

flowai-harness gives engineering teams production-ready defaults for agents that reason across complex data environments, plan reliably, and execute actions safely.

Data catalog for AI agents

Profile databases and organizational knowledge into one searchable graph of tables, columns, joins, metrics, and docs.

Agents use it to resolve intent, find the right data, and ground queries in tenant-scoped context.

$ flowai-harness \
--data-environment data-environment.json \
data profile database --database-id acme
INFO starting profile database command tenant_id=flowai-runtime-data workspace_id=default database_id=acme schema="<default>" selected_tables=0 all_tables=true sample_size=10 enrichment="anthropic"
INFO using default enrichment model
INFO discovered tables schema="public" tables=12 selected=12
INFO completed successfully tables=12 columns=184 duration=5.3s
$

Primitives for safe action execution

Define typed plan and action schemas. The runtime validates the plans and runs them as state machines. Plans are persisted and status is tracked for full auditability.

User
Planner
Plandraft
01Price increase
02Promotion launch
03Create campaign
Request
Actions
Approval

A runtime for data-heavy agents

A Rust-native harness for analytical agents, built on our high-performance agent framework.

It brings plans, approvals, tools, evaluations, and context management into one fast runtime.

1from flowai_harness import create_runtime
2
3runtime = create_runtime(
4 spec=runtime_spec,
5 data_environment=runtime_env,
6)
7
8async def main() -> None:
9 async for event in runtime.query("Find products with the largest revenue variance this quarter", thread_id="thread-1"):
10 print(event)

Run, debug, evaluate, and improve agents

Flow AI Studio is the native UI for flowai-harness agents: inspect runs, traces, evals, and changes from one workspace.

Use the dev Studio locally, then move to Enterprise Studio for production teams.

1from flowai_harness import define_app
2
3app = define_app(
4 name=EXAMPLE_APP_NAME,
5 description="Coordinator-planner-executor Flow AI Harness example app.",
6 default_workspace="acme",
7 workspaces=...
8)

Propose, test, promote, repeat

Turn eval failures, traces, and near misses into improvement candidates.

Each candidate runs in isolation, is scored against your benchmark, and either becomes the new baseline or informs the next research wave.

Baselinerev 12
Evidence
Failures12
Traces128
Near misses6
Eval gate
c-01+0.01
c-02+0.04
c-03−0.03
Traces
Candidates
Near misses
Promote

Works with the stack you already run

Bring your own model providers, warehouses, and cloud. Flow AI runs inside your infrastructure — your keys, your region, no data leaving your boundary.

Models

OpenAI, Anthropic, Gemini, Llama, Mistral, Qwen, and more

Data

Postgres, Snowflake, BigQuery, Databricks, DuckDB

Clouds

AWS, Azure, GCP

Deployment

On-premise or SaaS

Data residency

EU or US

[01]

models

OpenAIAnthropicGemini
MetaMistralQwen

[03]

deployment

On-prem

SaaS

[04]

data residency

USEU

[02]

hosting

AWSAzureGCP
Cube Top Icon
Icon
Cube Bottom Icon
Icon
Flow AI CTA

Build the first production agent with Flow AI.

Documentation
AaroBernardoKarolus