Identify which required data is absent and which system owns the authoritative value.
Content Enricher
Look up or compute missing information and add it to the message before forwarding it to the next participant.
How do we communicate with another system if the message originator does not have all the required data items available?Adapted from Enterprise Integration Patterns under CC BY 3.0. The visualization and explanatory content on this page are original GateSift material.
How Content Enricher works
Missing reference or contextual data is retrieved from a trusted source and added before the downstream contract is produced.
Call or read the enrichment source with explicit timeout, retry, freshness and failure behavior.
Merge only the required context into the message while preserving correlation and avoiding unnecessary sensitive data propagation.
When this pattern is a good fit — and when it is not
Use content enrichment when a message lacks data required downstream and that data can be added from a trusted source without transferring business ownership into the integration layer.
- A downstream contract requires reference or contextual data not supplied by the producer.
- The enrichment source has a clear availability and freshness contract.
- The added data is integration context rather than a new business decision.
- The enrichment call is optional and its latency would dominate a synchronous request path.
- The integration would need to recreate complex domain rules to decide what value to add.
- A stable identifier could be passed downstream and resolved closer to the owning domain instead.
An otherwise simple flow inherits the latency and availability of the enrichment source.
Caching enrichment data without an explicit freshness policy can produce valid-looking but outdated messages.
The flow needs an explicit decision for unavailable enrichment: fail, use cached data, default, or continue without it.
- APIM send-request can enrich request-time context, but keep dependency latency and timeout behavior visible.
- Logic Apps can call reference systems before mapping, with retry and catch behavior isolated around the dependency.
- Cache stable reference data only when freshness, tenant isolation and invalidation behavior are understood.
What this pattern helps you decide
Look up or compute missing information and add it to the message before forwarding it to the next participant.
Where you may see it
- Logic Apps data lookup
- Azure Function enrichment
- APIM send-request then set-body
How the analyzers can surface it
- APIM send-request and variables
- BizTalk orchestration lookups
Pattern detection is contextual. GateSift should present these as architectural signals, not claim a pattern is implemented solely because one policy statement or adapter exists.
Where GateSift can surface this pattern
Detection means the source contains direct structural evidence. Signal means the analyzer sees compatible structure but still needs architectural context.
The pattern name and selected problem statement are adapted from Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf under CC BY 3.0. GateSift summaries, Azure mappings, analyzer guidance and diagrams are original. No endorsement by the original authors is implied.