Source-available · Elastic License 2.0

Run agents, swarms & BI on your own infrastructure

The source-available agentic AI platform you deploy yourself: visual agent builder, multi-agent swarm canvas, RAG, and a full AI-native BI suite — dashboards, alerts, and an analyst that writes the SQL. One Supabase project. One Docker command. Any model provider.

10+
Model Providers
1
Command Deploy
19
BI Visual Types
27
Data Connectors
ELv2
Licensed
100%
Your Data

Source-available (Elastic License 2.0) · Bring your own keys · Docker, bare Node, or Kubernetes

Multi-Agent Swarms

Design agent teams on a visual canvas.

Drag agents, routers, conditions, loops, sandboxed functions, evals and human-approval gates onto a canvas, wire typed inputs to outputs, and run the whole flow live with a full trace — no orchestration code. Export to LangGraph or CrewAI when you outgrow it.

localhost:8080/swarms
The AgentSwarms swarm canvas — an Earnings Call Analyst Desk flow of agents, a human-approval gate, and typed inputs and outputs

Agents & routers

Agent nodes make LLM calls with tools, memory and guardrails; router agents read the input and pick one of N downstream paths.

Conditions & loops

YES/NO condition gates branch the flow, and loop nodes retry a step until it returns DONE — real control flow, no code.

Sandboxed functions

Function nodes run sandboxed JavaScript transforms with a 2-second timeout to reshape data as it passes between agents.

Human-approval gates

Approval nodes pause the run for a person to review and release, with risk flags surfaced inline before anything ships.

LLM-as-a-judge evals

Evaluate nodes score outputs judge-style, so quality gates live inside the flow instead of a separate pipeline.

Remote agents & export

Delegate to remote A2A agents, or export any swarm to LangGraph, CrewAI or the OpenAI Agents SDK when you outgrow the canvas.

Business Intelligence

A full AI-native BI suite, self-hosted.

Not a chart library bolted on — dashboards, an analyst that writes and runs the SQL, scheduled refreshes with data alerts, and an AI-built ontology of your whole data estate. All on the same instance as your agents.

One goal in, a dashboard out

Describe the goal — the analyst plans the questions, writes the SQL, runs it, picks the charts and lays everything out. Ask follow-ups in plain English, blend in knowledge-base documents, and insert any answer as a widget.

Dashboards that act

Server-side scheduled refreshes (no browser needed) with data alerts — a rule fires once when a metric crosses its threshold, re-arms when it clears, and lands in your notification bell.

An ontology of everything

The AI maps every table, warehouse and knowledge base into a drillable knowledge graph — real sample data in, field-level relationships with quoted evidence out.

"monthly revenue review by plan"plan6 questionsSQL ×6chartslayoutdashboard ✓
Revenue Review — Q3Published

MRR

$128.4k

+12.4% vs prior period

Active customers

1,842

+6.1% vs prior period

Churn

1.9%

−0.4 pts vs prior period

MRR trend + forecast

DWMQ
forecast ±1.96σ

Plan mix

Enterprise 46%

Pro 28%

Starter 16%

Revenue by region

All › EMEA · click to drill into country

target

Ontology

customers
orders
Pricing FAQ

Alert: MRR crossed $120k — notified

19 visual types

Bars to box plots, KPI targets, gauges, funnels, waterfalls, pivots, filled & bubble maps, treemaps, heatmaps — plus the AI-built ontology.

Analyst-grade interactions

Click-to-drill hierarchies, cross-filtering, date-grain switching, prior-period overlays, trend lines and σ-banded forecasts.

27 data connectors

22 databases and warehouses — Postgres, MySQL, SQL Server, Oracle, Snowflake, BigQuery, Databricks, Redshift, Synapse, Trino, Athena, ClickHouse, CockroachDB and more — plus 5 apps: Google Sheets, Stripe, Shopify, HubSpot, Salesforce. Encrypted credentials, strictly read-only.

Publish anywhere

Unguessable public links, chrome-less iframe embeds, IAM group sharing, and PDF / CSV / PNG export. Viewers get their own Ask-AI panel.

Visual data prep

Drag-and-drop joins with auto-detected keys, semantic column types, live previews — materialised as reusable datasets.

Your models, governed

Every generative feature runs on the model you pick from your own integrations — BYOK, with IAM model rules enforced server-side.

IAM & model rules

Groups, invites, per-group model allowlists, read-only resource grants.

SAML SSO

Bring your identity provider; invite-only mode for locked-down instances.

Secrets vault

Write-only secrets referenced as {{secret:NAME}} across connections.

Budgets & traces

Per-user spend caps with alerts, and a full trace for every call.

Governed by design

Numbers an agent can be trusted with.

The hard part of AI analytics isn't getting an answer — it's knowing whether to act on it. A semantic layer that refuses to compile a wrong number, and an analyst that shows every step it took to reach the right one.

The metric is the contract

revenue by campaignorders ⋈ order_lines
What a naive join returns
$4,182,900counted 3.2× — one row per order line
What the compiler does

revenue is declared at the order grain, and this query joins order_lines (many per order). Summing it here would multiply it.”

refused at compilejoin namedfix suggested

A refusal you can act on beats a number you can’t defend.

The AI Analyst shows its work

“Why did revenue fall in EMEA?” Verified

Revenue moved on two axes at once, so I’ll separate region from segment before attributing the fall — a single query would confound them.

1.Revenue by region, last 2 quartersgoverned
12 rows·self-check pass
2.Same split by segment, to isolate the drivergoverned
9 rows·self-check pass
3.Renewal rate for the segment that movedraw SQL
4 rows·self-check refined

EMEA fell 8.4%; enterprise renewals account for 142% of the decline, partly offset by SMB growth (step 2).

Edit any step’s SQL and the green tick expires — a badge must not outlive what it vouched for.

Row and column security, resolved per viewer

One shared model, scoped to whoever is asking. Filters compile into the SQL itself, so they hold identically on DuckDB and every warehouse — and on embedded dashboards, where a signed token from your backend decides what each of your customers sees.

region ∈ {{user.region}}resolved per viewercompiled into SQLsame on every engine

An unresolvable attribute refuses the query rather than compiling an empty filter — silent zero rows read as “there is no data”.

Metrics with a grain

Declare primary keys, join cardinality and the grain a measure lives at. The compiler proves a query is safe before it runs — chasm and fan traps refused, not warned about.

Certification that means something

Draft → certified → deprecated, with certification blocked until validation passes clean. Version history, structured diffs, restore, and a dependents view of everything that would break.

Aggregate awareness

Declare a rollup table and the compiler routes to it only when it can prove the answer is identical — then tells the reader which table answered.

Analysis you can audit

Every step's SQL, result sample and self-check verdict is stored with the answer. Re-run any step, edit it, and watch the findings mark themselves stale rather than quietly disagree.

Verification that expires

A human verdict is pinned to a fingerprint of the SQL it reviewed. Change the query and the green tick voids itself — a badge must never outlive what it vouched for.

Computed, not narrated

Driver contribution, trend slopes and median/MAD outliers are arithmetic, not prose. Too little history means no forecast at all, rather than a confident line through noise.

Deploy

Live before your coffee cools.

No separate backend to run — a free-tier Supabase project is the database, auth, and storage. The app itself is one container.

01

Create a Supabase project

The free tier is the entire backend — Postgres, auth, storage, vector search. One `npx supabase db push` applies the full schema.

02

Fill in .env

Four Supabase values, plus one optional OpenRouter key if you want instance-wide, zero-config chat. Users can always bring their own keys.

03

docker compose up

Public config is baked at build, secrets are read at runtime. Ship it on a $5 VPS, Fly.io, Railway, Render, or Kubernetes.

deploy — 4 commands
$ git clone github.com/AgentSwarms-fyi/agentswarms && cd agentswarms
$ cp .env.example .env # your Supabase + model keys
$ npx supabase db push # entire schema, one command
$ docker compose up --build
➜ ready — http://localhost:8080

Capabilities

Everything a platform needs, batteries included

The pieces you'd otherwise glue together yourself — observability, interoperability, and the guidance to use them well.

Traces & budgets

See everything your agents do

Every tool call, token, and cost lands in a full execution trace. Set per-user budgets with email alerts before a runaway loop becomes a bill — it's your key on the line, so the meter is yours too.

An AgentSwarms execution trace — every tool call, token count and cost for an agent run
MCP · A2A · Export

Interoperable by default

Connect MCP servers as agent tools, expose swarms over an A2A endpoint, and when you outgrow the canvas, export any swarm to LangGraph, CrewAI, the OpenAI Agents SDK, or Strands — your work is never trapped here.

LangGraphCrewAIOpenAI SDKStrands
from langgraph.graph import StateGraph
graph = StateGraph(ResearchState)
graph.add_node("researcher", researcher_agent)
graph.add_node("writer", writer_agent)
graph.add_edge("researcher", "writer")
app = graph.compile()
exported from swarm: research-pipeline
Built-in guidance

Your whole team on one instance

Agents, swarms, BI dashboards, and interactive notebooks all ship in one workspace — so the people you invite don't just get a login, they get a shared place to build, analyze, and ship together.

Read the documentation

Deck 04 · Agentic patterns

ReAct: reason, act, observe, repeat

Thought
Action
Observation
12 / 31

Agents, swarms and BI — deploy it all as your own

One Supabase project, one Docker command, any model provider. Demo agents and sample data are already seeded when you sign in.