Skip to main content

Overview

Enrichment fetches additional data for each datapoint returned by the main Extract phase. For every extracted record, RWS Integration makes one or more secondary API requests and attaches the responses to the datapoint, so the rest of the integration can combine fields from both the original extraction and the enrichments. The flow becomes Extract → Enrichment → Transform → Load.

When to use

Use enrichment when the main extraction returns records that are missing details available from a separate endpoint — for example, fetching comments for a post, line items for an order, or address details for a customer keyed by an ID in the main list.

Configuration

Each enrichment is defined by:
FieldDescription
NameKey the response is stored under (e.g., comments)
ConnectionConnection used for the request
MethodHTTP method (GET, POST, etc.)
PathEndpoint path, which can include parameters like {{ parameterId }}
Enrichment query parametersProvide the values for the parameters referenced in the path
A query parameter pairs a value with a name. The path can then reference that name as {{ name }}. The value can be defined in two ways:
TypeDescription
FixedA fixed value to be used as the query parameter
Business ruleA value computed with a JavaScript business rule
A Fixed value may embed {{ ... }} placeholders that are interpolated from the main extraction datapoint or another enrichment — e.g. {{ id }}. See Dynamic Parameters for more information.

Referencing other enrichments

By default every enrichment runs against the primary extraction datapoint. An enrichment can also depend on another enrichment’s response — useful when one request returns an ID needed to build the next request. Enable Has another enrichment as a dependency? and set the Enrichment name to the enrichment it depends on. You can then reference that enrichment’s response fields using dot notation:
{{ enrichmentName.path }}
For example, if an enrichment named comments returns a post’s comments, a dependent enrichment can use its fields in query parameter values:
Fixed valueTo
{{ comments[0].postId }}postId
{{ comments[0].email }}commenterEmail
Dependent enrichments run after the enrichment they reference, so its data is available when the request is built.

Continue execution on error

Each enrichment has a Continue execution on error checkbox. When enabled, a failed enrichment request (HTTP 4xx or 5xx status) does not stop the integration — the datapoint continues through Transform and Load without that enrichment’s data. When disabled (the default), a failed enrichment request throws an error and interrupts the integration. Enable this when the enrichment is optional and you would rather deliver partial data than stop the integration.

Accessing enrichment data

Enrichment responses are exposed in other sections of the integration under resources, keyed by enrichment name:
resources.{{ enrichmentName }}.{{ fieldPath }}
For an enrichment named comments returning an array:
FromTo
resources.comments[0].emailfirstCommentEmail
resources.comments[0].bodyfirstCommentText

Dynamic Parameters

Interpolate values into paths, headers, and request bodies

Integration with multiple extractions

Step-by-step guide to building an enrichment integration