In November we released the Flow Builder – a new Shopware 6 key feature with numerous customisation options. The innovative function makes it possible to define workflows and automate processes. In addition, events in Shopware or a third-party application can serve as triggers for various actions.
Now that the feature is out, we sat down for a "deep dive" with Matthias and Oliver. Both were involved in the development of the Flow Builder from the beginning and shared their experiences and insights with us, from project implementation to the Flow Builder’s extension possibilities as well as a look into the future.
Interview with Shopware employees Oliver Skroblin, Software Architect (Core), and Matthias Friedmann, Product Owner (Business Ops).
A look behind the scenes at Shopware: The project implementation
Hello to you both. The Flow Builder has finally been released as a new Shopware 6 Key Feature. How long did it take you to develop the Flow Builder and how many developers were involved?
Matthias: Besides the actual development, a lot of time went into the conception. The idea for something like the Flow Builder goes back relatively far. For this reason alone, quite a lot of people were involved, not only developers, but also designers, quality assurance and product managers. The go-ahead for the actual implementation was then given at the beginning of this year.
What was the decisive reason for the development of the Flow Builder?
Matthias: In essence, the main issue is that merchants are confronted with ever greater complexity and are therefore much more dependent on flexible solutions. The Flow Builder is designed to provide precisely this flexibility.
What were the biggest obstacles in the development and how did you solve them?
Oliver: The biggest obstacle was finding a performant solution for sequence execution. Here we used the same pattern as for the rules and ensured that when a flow is saved, it is prepared in the way that the storefront needs it to be.
Were there any critical milestones?
Oliver: I think one of the most critical milestones was when the UI for the Flow Builder was ready and we could start testing it, because of course not everything runs smoothly at the beginning. This milestone was therefore all the more significant, and we made important improvements.
What was the technical basis for the development of the Flow Builder?
Oliver: The Flow Builder is a complete in-house development. We did not use a prefabricated framework for this, but worked with our own classes. The if-conditions defined in the flow only check for rule IDs that have already been validated at the beginning of the request and are in the global context. We implemented the actions via the event system. So the core simply throws an appropriate event configured on the flow and an event listener does the business logic.
The feature in focus: The Flow Builder and its extensibility
How do shop operators and shop administrators benefit from the Flow Builder?
Matthias: In very different ways! In general, merchants can automate and customise many processes with the Flow Builder. In this sense, they save resources with the help of the Flow Builder and gain more control over their shop system at the same time. Of course, this sounds a bit abstract, but in detail it really also depends on the perspective of each customer.
Do I need special technical knowledge?
Oliver: No special technical knowledge is required to extend the Flow Builder. The system works like everything else using our quite standard extension via event system and the like.
What makes the Flow Builder interesting for developers?
Oliver: On the one hand, developers can provide their own rules for the Rule Builder, which in turn are also used in the Flow Builder. Furthermore, developers can bring their own actions for the Flow Builder in order to provide shop operators with additional options. The potential of the Flow Builder is only limited by the imagination of the individual. A friend of mine played around with it and used it to operate his roller shutters for fun.
What do developers need to know about connecting to third-party systems? What are the options?
Oliver: As already mentioned, the potential of the Flow Builder is almost limitless. Whether it's a connection to the ERP system or something like Facebook Messenger – anything is possible ?
Is it possible to trigger app functions with flows?
Oliver: App functions can also be triggered via flows, but this currently requires Professional Edition as a minimum to provide the webhook functionality.
What’s next? What is the next step with the Flow Builder?
User documentation already exists for the Flow Builder. Will there be a document in Shopware docs specifically for developers?
Matthias: The developer documentation is currently in the works and if everything goes well, it will be available later this year.
Are future iterations planned for the expansion of the Flow Builder? What will come next?
Matthias: The aim is to add new functions on a regular basis. The initial feedback has already shown that troubleshooting functions are highly valued – as is the possibility to "share" flows. Easier connection to the app system is also important.
In addition, we are focusing on ensuring that the Flow Builder fulfils its goal (to automate and customise Shopware) in the best possible way and we are gradually expanding the corresponding functions for this. Ultimately, this also includes making the unlimited possibilities that Oli mentioned, which the Flow Builder offers, a little more tangible.
Thank you both for taking the time to answer these questions!