Skip to content
Art2link ESB v2.02 LTS HomeDocumentationBlogContact
Best practices/Promote only what you route on

Promote only what you route on

Promote a field to a variable when, and only when, a subscription filters on it, a router branches on it, or an operator needs it for tracking. Everything else stays in the message body. A wide promoted context is cost without benefit.

Promoted variables are the routing and visibility surface of a message — the small set of values the bus and the operator reason about. It is tempting to promote “just in case,” but every promotion is something to populate, carry, maintain and reason about. Dozens of speculative promotions make filters harder to read and bury the two or three fields that actually drive routing.

Promote with a reason. If you cannot name the subscription, router or tracking view that consumes a value, leave it in the body where it already lives — it is still there if a real need appears later. This keeps the context lean and the routing logic legible, for operators and for the AI engine alike.

message body (all fields) orderIdcustomerlines[]notescurrencytermsweightorigin type region promoted surfaceonly what routes filter / router
One question per promotion: “What routes, filters or reports on this?” No concrete answer means no promotion. Remember the write surface is ports and pipeline components only — promote where the value is actually known.