Skip to content
Workflow Orchestrator Programme
Media
Initializing search
workfloworchestrator
Home
Learn
Orchestrator Core
Orchestrator UI Library
LSO
Projects
Community
Workflow Orchestrator Programme
workfloworchestrator
Home
Learn
Learn
Concepts
Concepts
At A Glance
The Framework
Orchestrator UI
Input Forms
Example Orchestrator Workshop
Example Orchestrator Workshop
Overview
Bootstrapping
Bootstrapping
Getting started
Seeding data
Products
Products
Scenario
Domain models
Workflows
Workflows
Introduction
Workflow Basics
Workflow Examples
Workflow Examples
Create Workflow
Modify Workflow
Terminate Workflow
Validate Workflow
Create your own product and workflows
Create your own product and workflows
L2 Point-to-Point
Product and Workflow Generator
Orchestrator Core
Orchestrator Core
Introduction
Getting Started
Getting Started
Prerequisites
Application
Application
Preparing source folder
Base application
Workflows
Docker
Orchestrator UI
Orchestrator Shell
Guides
Guides
Product Modeling
Product Modeling
Importing Existing Products
Backfilling Existing Subscriptions
Creating Tasks and Schedules
Testing
Scaling the Orchestrator
Pausing the Orchestrator
Generating a Config File
Upgrade Guides
Upgrade Guides
v2.x
v3.x
v4.x
v4.7
v4.8
v5.0
Architecture
Architecture
Architecture; TL;DR
Orchestration Philosophy
Domain Models
How do Workflows work?
Product modeling
Product modeling
Introduction
Standards
Modeling
Context
Terminology
Example Product Models
Example Product Models
Node
Port
L2 Point-to-Point
L2 VPN
IP Static
Product Block Graph
Extensibility
Extensibility
Packaging
Optional Modules
Reference Documentation
Reference Documentation
TL;DR
API docs
API docs
Rest API
GraphQL
Auth(n|z)
CLI Tools
Database
Domain Models
Domain Models
Overview
Domain Model Types
Domain Model Types
Product Types
Product Blocks
Model Attributes
Helpers
Helpers
Generator
Forms
Running the App
Running the App
App.py
Python Version
Settings
Workflows
Workflows
Workflows
Workflow Steps
Conditional Steps
Callback step
Run Predicates
Summary Forms
Process Step Handler
Websockets
Search
AI / Hybrid Search
MCP Server
Monitoring
Monitoring
Error Tracking
Metrics
Parallelization
Parallelization
Parallelization
GÉANT
SURF
Contributing
Contributing
Development setup
Guidelines
Orchestrator UI Library
Orchestrator UI Library
Introduction
Guides
Guides
Upgrade Guides
Upgrade Guides
v8.1
v8.4
Architecture
Architecture
Security
Pydantic Forms
Decision Records
Decision Records
Overview
ADR 0001 - Record architecture decisions
ADR 0002 - TypeScript guidelines and rules
ADR 0003 - Next.js
ADR 0004 - Turbo Repo and dependencies
ADR 0005 - Component naming
ADR 0006 - Proposal on types
ADR 0007 - Proposal on component naming
ADR 0008 - TypeScript conventions
Development
Development
Linting
Monorepo
Naming conventions and TypeScript
LSO
LSO
Introduction
Installation
Running in Docker
Task Executors
Playbooks
Playbooks
Running a Playbook
Parameters
Callbacks
Progress Updates
Executables
Executables
Running an Executable
Callbacks
Parameters
Contributing
Projects
Projects
Overview
Pydantic Forms
Pydantic Forms
Introduction
Installation
Usage
Examples
Errors
How it works
Reference
Architecture Decisions
Architecture Decisions
Records
Records
Overview
Open Design Questions
Open Design Questions
Overview
Required Fields
Community
Community
The Programme
The Programme
About
Contact
Leadership
Get Involved
Get Involved
Members
Meetings
Media
Media
¶