---
id: overview
title: "What Viaducta is"
summary: "Viaducta is a low-code integration and business-process platform. You draw flows of components in the browser; Viaducta compiles each flow to .NET and runs it in your own execution environments."
audience: user
keywords: "overview, integration, business process, low-code, flows, components, environments"
---
# What Viaducta is

Viaducta is a low-code platform for system integration and business processes. You build **flows** in a browser
designer by placing **components** on a canvas and connecting them. Viaducta compiles each flow into a .NET assembly
and runs it in an **execution environment** on your own servers, in containers, or in Azure.

## What you build with it

- **System integration.** Move and transform data between databases, files, REST and SOAP services, message buses
  and network equipment: data warehouse loads, ETL, synchronisation between applications.
- **Provisioning and discovery.** Drive network and service provisioning over HTTP, SOAP, Telnet / SSH (shell or PowerShell scripts), TCP and SMS,
  and read back what the network holds.
- **Mediation.** Collect files over FTP, FTPS or SFTP or from Amazon S3, Azure Blob Storage or Google Cloud Storage, decode CSV or ASN.1 call detail records, enrich them and load
  them into a database or pass them on.
- **Business processes.** Model each use case as one or more flows behind REST, SOAP, webhook or WebSocket endpoints,
  for example the order handling of a telecom one-stop shop.
- **Event processing.** Consume from Kafka, MQTT or NATS, route and transform, and publish the results.

## How it works

1. **You draw a flow.** Each component is an instance of a **plugin**: a Timer, a Sql query, an Http client, a C#
   script. Components have **pins**, and you connect an output pin of one component to an input pin of the next.
2. **Records travel along the connections.** Every record has a **type** with named, typed fields. Types come from the
   type editor, from imports (JSON, YAML, JSON Schema, OpenAPI) or from the components themselves: a Table reader creates
   the type of its table, a CSV decoder the type of its columns.
3. **Viaducta compiles the flow.** Every type becomes a C# class and the flow becomes a .NET assembly, C# scripts
   included. One component calls the next directly, in the same process, without a message bus between them.
4. **The flow runs in an environment.** An environment such as development, test or production has its own
   repository of flows and settings and its own host processes. Git moves flows from one environment to the next.
5. **You watch it run.** The designer shows the state of every flow, the records crossing each connection in the
   data monitor, the flow log and the alarms. The debugger stops a flow at a component so you can inspect the record.

## What sets it apart

- **Compiled flows, typed records.** Records are generated classes, not dictionaries. Type errors show up when the
  flow is compiled, and a flow runs at the speed of compiled .NET code.
- **Scripting where you need it.** C#, Python and JavaScript script components use the same service API, so you drop
  into code for the one step that needs it and keep the rest of the flow visual.
- **No database to run it.** The repository is plain files on the controller of each environment, versioned with
  Git. Flows reach any of eight database engines, but Viaducta itself needs none.
- **Runs where your systems are.** Containers on Linux, Kubernetes, Windows services, or a single container from the
  Azure Marketplace. The cloud bridge connects a remote site without a VPN.
- **AI built in.** The Viaducta assistant builds, explains and fixes flows, and external agents such as Claude Code work
  with Viaducta over MCP. You choose the model provider, including models running on your own hardware.
- **Share types with other applications.** Export any type as C#, Python, Go, Java, PHP, TypeScript or JSON Schema,
  and generate the client code another application needs to call a flow.

## Where to go next

- [Concepts](./concepts): flows, components, pins, records, settings and environments in more detail.
- [Glossary](./glossary): the terms these pages use.
- [Architecture](/documentation/architecture/): the processes behind the designer and how they run your flows.
- [Plugins](/documentation/plugins/): every component, with its pins, configuration and examples.
