If you are familiar with the entity transformers in Alumio, you already know the wide range of data transformations they can do to facilitate smooth system-to-system integrations. There are multiple points where you can place them while they serve their intended purposes. In this post, we will take a tour of the best practices you can follow while planting the top-notch entity transformers, and how they will impact the data.

To begin with, you have to go to the Connections, where you can have an overview of the points where you can plant the entity transformers. They are:

  1. Incoming Configurations (before the data comes in or after the data comes in),

  2. Outgoing Configurations, and

  3. Routes.

Incoming Configurations

Input Transformer: Before The Data Comes In

Let’s consider an incoming configuration that has been pre-configured where the Request URL has been specified. A dynamic date has been set with a transformer called Value Setter before the data comes in (an input transformer). 

For example, you can set a key for mapping data from yesterday (-1 day). You can set the same key in the date value of the Request URL

Output Transformer: After the Data Comes In

Another place where you can place the transformer is by clicking on Add entity transformer within the incoming configuration. This will be implemented after the data comes in on the incoming configuration. 

For example, you can implement a Get branches from a pattern transformer to split certain portions of data, data mapping, etc. 

Outgoing Configurations

You can also apply as many transformers as you wish within an outgoing configuration by clicking on Add entity transformer.


Let's move on route and how you can implant a transformer within a route.  The process is very much the same. By clicking on Add entity transformer, you can add transformers here and you can add multiple transformers as per requirement. 

Diving Deeper- The Best Practices!

So, overall, there are four places where you can implant entity transformers. To be specific, there are three places to put them if we club the input and output transformers under Incoming Configurations as one. 

It (incoming configuration transformer) is also different from the other places where you implement the transformers and for that you can take a look at the overview of a few routes.

Scenario 1:

Let us consider two routes connected to web shops - Orders from Magento 2 to Retail Unity and Orders from Shopware to Retail Unity. Here, the routes are retrieving orders for the same system, i.e, Retail Unity

Let us consider another route- Orders from Shopware to SAP, that retrieves data from the same web shop and sends it to another system, i.e, SAP. 

So, there are two incoming systems (the web shops) and two outgoing systems (Retail Unity and SAP). It kind of creates a limitation where no one system or route is feeding each and every outgoing system. 

This creates a dilemma for you in terms of choosing the most accurate place to put the transformers and do the required transformations. 

For instance, in scenario 1, you can opt to put the transformers on the side of incoming configuration. However, it will also imply that while implementing a transformer on your mapping, you can’t provide the transformation for both the outgoing systems.  

Now, what if you decide to put a transformer on the outgoing configuration? Well, in that case, there are again two incoming systems from where the data will come from. 

So, for scenario 1, the best course of action will be to place the transformers on the routes. The route transformations will specifically cater to the requirements of the system-to-system integrations. 

There is another approach to scenario 1 where you can map the orders to Alumio schema initially. As the data comes from a system, you can map it from the Incoming Configuration towards a standard schema. Subsequently, you can take the standard schema imap from the Outgoing Configuration towards the outcome system. 

However, scenario 1 represents a complicated landscape where multiple systems are being integrated with multiple systems. In easier scenarios, the best approach will be to add a transformer in the Outgoing configurations. The reason behind it is how data gets shown within the task itself.

If you visit the Tasks Overview, you can click on any specific task from the list and view the Entity Data. The entity data reflects the data that is captured after both the Incoming Configuration and the Route have been implemented. It essentially means that the transformations of the route have already been implemented. 

So, as the best practice, you can simply go to the Outgoing Configuration, which is where the Entity Data is headed for and check for the transformers present there. 

You can copy the Entity Data and run a test on it on the Transformer section of Alumio. Use the same transformers that were present in the Outgoing Configuration, paste the Entity Data and hit the Run Test button to see the result. Subsequently, you can copy the data from Results and run a test again using another transformer (as present in the Outgoing Configuration). You can repeat the process as per requirements. 

So, this is a nice practice you can follow to scrutinize the transformations that are happening in real-time.

Closing Note

Alumio is always striving to make business integrations as smooth as possible by allowing you to slice and dice the data with minimal clicks. This article has provided you an insight on how to place the transformers the right way in Alumio and the best practices you can follow to test data and verify accurate data transformations. Stay tuned with us to learn more as we come back with new articles and guides to aid you!