Skip to main content Skip to footer

Search Crosser Knowledge Base

Multi path flows using split module

The Split module allows you to create condition groups to direct and route messages to various outputs. At least one group is required, and messages that match the conditions in a group will be passed through to the corresponding output. If a message matches the conditions of multiple groups it will be delivered through all the corresponding outputs. This enables flexible and dynamic message routing based on specific criteria. By setting up various condition groups, you can ensure messages reach all relevant destinations in your Flows.

 

Crosser Flow Example | Split ModuleCrosser Flow Example | Split Module

Let’s take an example where we start with a basic database query, using a PostgreSQL Select module. As a first check we want to make sure that we actually got a response from the database, not a timeout or some other error. We can do this by looking at the crosser.success property in the output message from the PostgreSQL Select module: if it’s true we have a valid response and can continue, if it’s false something went wrong and we want to report this in a Slack channel.

Once we know we have a valid response we want to check that it contains all the data we need. Some columns may contain null values, which will not be accepted by our destination (Salesforce in this example). A second Split module is used to check that none of the fields are null. If so, we send the data to Salesforce, otherwise we report another message in the Slack channel.

About the author

Goran Appelquist

Göran has 20 years experience in leading technology teams. He’s the lead architect of our end-to-end solution and is extremely focused in securing the lowest possible Total Cost of Ownership for our customers.

"Hidden Lifecycle (employee) cost can account for 5-10 times the purchase price of software. Our goal is to offer a solution that automates and removes most of the tasks that is costly over the lifecycle.

My career started in the academic world where I got a PhD in physics by researching large scale data acquisition systems for physics experiments, such as the LHC at CERN. After leaving academia I have been working in several tech startups in different management positions over the last 20 years.

In most of these positions I have stood with one foot in the R&D team and another in the product/business teams. My passion is learning new technologies, use it to develop innovative products and explain the solutions to end users, technical or non-technical."