Basically, the Aggregation Pattern could also be another example or a subset of the Content Enricher Pattern (you can know more about this here: BizTalk Mapping Patterns & Best Practices), but sometimes when we exchange messages between different systems, we will need to gather information from multiple external sources, this is also known as Scatter-Gather Pattern (https://www.enterpriseintegrationpatterns.com/patterns/messaging/BroadcastAggregate.html), and once a complete set of messages has been received, we need to process them as a whole and combine or merge parts of information from each correlated message to create the expected message by the target system.

So the main difference between the Aggregation Pattern and the Content Enricher one is that in the latter one, we’re normally talking about mapping one-to-one messages, and in the Aggregator pattern, we are dealing with multiple inbound messages that were collected from the original request and need to be mapped and aggregated into a single outbound request. For example, we want to bill the client’s order after all items have been pulled from the financial system or warehouse. Also, Content Enricher can occur within the Aggregation Pattern, alongside other pattern types.
📝 One-Minute Brief
When integration scenarios require combining multiple inbound messages into a single output, the Aggregation Pattern becomes essential. This article explains how to implement the Aggregation Pattern using the Logic Apps Standard Data Mapper, showing how to merge correlated messages into one final payload.
Reference to this pattern:
- Enterprise Integration Patterns: Aggregator (https://www.enterpriseintegrationpatterns.com/patterns/messaging/Aggregator.html)
In this video, you can see and learn how to apply the Aggregation Pattern inside the new Data Mapper available for Logic Apps (Standard)
Hope you find this helpful! So, if you liked the content or found it useful and want to help me write more, you can buy (or help buy) my son a Star Wars Lego!
Hi Sandro,
I am facing two difficulties in Json to Json mappings,
1.
Source json has following payload [just cleared other elements for clarity],
{
“supply”: {
“city”: null
}
}
But in Target json payload, null value is reflecting as empty string,
{
“supply”: {
“city”: “”
}
}
How to enforce null value as is in the target ?
2.
How to map a function guid() or uuid() into target element?
Thanx,
-Swapnil