Skip to content

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: flows, components, pins, records, settings and environments in more detail.
  • Glossary: the terms these pages use.
  • Architecture: the processes behind the designer and how they run your flows.
  • Plugins: every component, with its pins, configuration and examples.

Viaducta documentation