VirtuousAI

What is VirtuousAI?

The execution backbone for AI-powered data workflows

What is VirtuousAI?

VirtuousAI is the execution backbone for the BAIO platform — a set of composable primitives designed for reliable background data extraction, agentic tool execution, and automation workflows.

Go Further Faster

VirtuousAI helps you close the execution gap between knowing what to do and actually achieving it. Every action makes the next smarter. Every decision makes your operations stronger.

Design Principles

PrincipleWhat It Means
ComposableSame primitives work across LLM tool calls, automations, and direct API requests
ReliableLease-based ownership, cooperative cancellation, and watchdog recovery ensure jobs complete or fail gracefully
Strongly TypedPydantic models provide compile-time and runtime validation
Multi-TenantAll resources are tenant-scoped with strict isolation
SecureEnvelope encryption for credentials, tenant isolation at every layer

Core Primitives

VirtuousAI is built around four composable primitives that work together:

How Primitives Work Together

Templates provide blueprints. When you use a template, a snapshot is stored for audit purposes — even if the template changes later, you know exactly what configuration was used.

Connections store encrypted credentials and can be referenced flexibly: by ID, by slug (LLM-friendly), or by provider (auto-resolves to your default).

Actions are atomic units of work. Each ActionRun represents a single operation with defined inputs and outputs. Complex workflows are composed by Automations, which orchestrate multiple actions.

Automations own all DAG/workflow logic — branching, fan-out, dependencies, and conditional execution. Actions stay simple; composition happens at the automation layer.

Execution Entry Points

The same primitives work uniformly across all entry points:

Entry PointHow It Works
Chat (LLM Tools)Agent calls a tool → ActionRun created with turn_id + message_id
Automation StepsDAG executes → ActionRun created with automation_run_id + step_key
Direct APIPOST /action-runs → ActionRun created and executed
ScheduledCron trigger → Automation runs → ActionRuns created

What You Can Build

Use CasePrimitives Used
Data ExtractionConnection + Action (dlt_extract) → Bronze parquet files
AI-Powered WorkflowsChat → Action → Connection → Results
ETL PipelinesAutomation with extract → transform → load steps
Human-in-the-LoopActions with approval policies → User approves → Execution continues

Next Steps

On this page