1. Getting Started
  2. What is Avalanche

​
Agentic ETL & Workflows

Build developer-defined workflows that combine native agent reasoning with deterministic Python for business logic and critical actions.

Avalanche sits between isolated LLM calls and handing an entire task to a hosted agent. You define the workflow, dependencies, rules, and consequential actions. Use native agent steps where judgment, interpretation, or flexible execution is useful.

New here? Start with Option A — Starter project (recommended).

A representative Avalanche workflow: source data flows through an agent step and deterministic business logic to a typed result.

​
A workflow keeps the important parts explicit

import avalanche as ava

@ava.source
def load_request() -> str:
    return "Classify this customer request."

@ava.agent_step(ava.Signature("request: str -> category: str"))
async def classify_request(request: str, *, agent: ava.Agent) -> str:
    return (await agent(request=request)).category

@ava.step
def choose_route(category: str) -> str:
    return {"billing": "finance", "support": "service"}.get(category, "triage")

@ava.dest
def publish_route(route: str) -> str:
    return route

The workflow body connects those nodes:

@ava.workflow
def route_request():
    return load_request() >> classify_request() >> choose_route() >> publish_route()

The agent step supplies the judgment. The surrounding Python keeps the workflow shape, business rule, and action explicit and inspectable.

​
Continue