Service architecture
Services
The Valtimo Platform is an appplication platform for desiging, developing and running business processes. It consists of multiple services, usally running on a Kubernetes infrastructure. What services are available?
Designer
Valtimo Designer is a workspace for collabertive process design. Mostly used in the Discovery phase of a project implementation, Designer is the tool to work with business users and developers on process design.
Designer can be found under https://designer.valtimo.nl/ and is open source available on <Git url>.

Valtimo
Valtimo forms the core of every implementation, acting as the central hub for managing processes and ensuring seamless collaboration. It serves three distinct target audiences:
End users interact with Valtimo to manage and resolve their cases efficiently. The platform provides them with clear, intuitive workflows, real-time updates on case progress.
Developers leverage the Builder within Valtimo to design, configure, and optimize business processes. Builder empowers developers to create workflows without coding, with the flexibility to align with any unique way of working.
Support engineers rely on tools in Valtimo to assist end users effectively. These tools enable them to troubleshoot issues, monitor system performance, and provide timely resolutions.
Valtimo low code approach
Valtimo reads and executes models, unlike code generation, which creates an application based on models. In practice, this means business processes are defined in JSON and XML. These files can be created with visual modeling tools, directly in an IDE or even using AI.
Key benefits of this approach:
- Ease of transfer: Models are simple text files, making them easy to share and distribute.
- Clear separation of concerns: Code and models remain distinct. Low-code developers focus solely on models – not on the underlying code.
- Improved compatibility: Keeping product and custom code separate makes maintaining backward compatibility more straightforward.
- Accessibility: Learning to model is faster and simpler than mastering programming languages like Kotlin or Angular.
Customization
With modelling, there is a clear boundary of capabilities: if it is not supported in the product, it cannot be done. This is partly an advantage, as discussed earlier. However, there are a lot of situations in which the flexibility of coding is needed. For this, the Valtimo architecture offers options.
Plugins: Valtimo is extensible through a plugin framework. Custom functionality can be added using Java, Kotlin, or Angular. These plugins are integrated as dependencies and interact with the product through processes, creating a clear interface. This design improves maintainability and backward compatibility.
Externalized custom code: In this option, the custom code is placed in a separate service, forcing a full separation between product and the custom solution. It has the advantage that any programming language can be used. Furthermore, the service has its own lifecycle and can be maintained by a different scrum team.
Implementation code: Valtimo can be extended with functionality by building an implementation. A Spring Boot project contains both the product as a dependency and the custom functionality as needed. With this approach, the flexibility is unlimited. It requires more in-depth development expertise. Upgrading can become more complex.
Process Exchange
The process exchange is a public market place for sharing processes, building blocks and plugins with other organisations.

NL Portal
While not officially part of the Valtimo suite, NL Portal integrates seamlessly with Valtimo. The portal serves as a communication gateway for citizens, customers and suppliers, facilitating efficient and transparent interaction.
With NL Portal, customers can easily initiate new requests, such as placing orders or submitting applications. It acts as a central hub for communication throughout the entire request-handling process, enabling customers to:
- Submit additional requests or modify existing ones.
- Receive tasks, such as completing payments or providing reviews.
- Monitor the progress of their request in real-time
NL Portal empowers businesses to enhance customer engagement and streamline process transparency, ensuring a professional and user-friendly experience.
More information on NL Portal you can find on Gitbook