Learn how to extract data from multiple sources in a single integration
This guide walks you through creating an integration that extracts post data from JSONPlaceholder, enriches each post with comment details using a secondary API call, and delivers the combined data to a webhook endpoint. By the end, you’ll understand how to use the Enrichment phase to fetch additional data per datapoint and combine it in your transformations.
The site automatically generates a unique URL (e.g., https://webhook.site/abc123-def456-...)
Copy the unique path portion (e.g., /abc123-def456-...) — you’ll need it when configuring the Load phase
Keep this tab open to monitor incoming requests
webhook.site is a free service that captures and displays HTTP requests. It’s useful for testing integrations before connecting to real destination systems.
Connections define how RWS Integration communicates with external systems. You’ll create one for the JSONPlaceholder API, which will be used for both the main extract and the enrichment requests.
In the sidebar, click Connections
Click New Connection
Configure the connection:
Field
Value
Name
[Doc] Enrichment Extract Connection
Type
API
URL
https://jsonplaceholder.typicode.com
Base Path
/
Authentication
Simple
Leave Header Parameters and Query Parameters empty
With both Connections ready, create the Integration that extracts posts, enriches them with comments, and delivers the combined data to your destination.
The Extract phase retrieves post data from your source system.
Expand the Extract section
Configure these fields:
Field
Value
Connection
[Doc] Enrichment Extract Connection
Method
GET
Path
/posts
Set the Datapoint Path in Response to root
Set the Pagination:
Field
Value
Pagination Type
Simple
Page size parameter
_limit
Page size value
10
Initial page parameter
_page
Initial page value
1
Pagination end type
Object
Check the Extract Preview panel on the right side — it should show:
Status: 200 OK
A single post record (the Datapoint) like this:
{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }
The Enrichment phase fetches additional data for each datapoint extracted in the main Extract phase. For each post, we’ll fetch its comments.
Expand the Enrichment section
Click Add Enrichment
Configure the enrichment:
Field
Value
Name
comments
Connection
[Doc] Enrichment Extract Connection
Method
GET
Path
/posts/{{parameterId}}/comments
Set Enrichment query parameters:
type
key
value
Fixed
{{id}}
parameterId
The {{id}} is a dynamic parameter that will be interpolated from each datapoint extracted in the main Extract step. Make sure the field name matches exactly (case-sensitive).
The enrichment will automatically use the id value extracted from the post to make a request to /posts/{id}/comments.
Check the Extract Preview panel on the right side — it should show:
Status: 200 OK
An array of comment records like this:
[ { "postId": 1, "id": 1, "name": "id labore ex et quam laborum", "email": "Eliseo@gardner.biz", "body": "laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium" }, { "postId": 1, "id": 2, "name": "quo vero reiciendis velit similique earum", "email": "Jayne_Kuhic@sydney.com", "body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et" },]
The Transform phase maps source fields from both the Extract and Enrichment responses to your destination format. For this guide, create mappings that combine post data with comment information.
Expand the Transform section
Click Add Transformation and configure fields from the main Extract:
Type
From
To
Simple
id
postId
Simple
title
postTitle
Simple
body
postBody
Click Add Transformation again and configure fields from the Enrichment:
Type
From
To
Simple
resources.comments[0].email
firstCommentEmail
Simple
resources.comments[0].body
firstCommentText
To access enrichment data, you must use the structure: resources.{{enrichmentName}}.{{fieldPath}}. The enrichment name must match exactly what you configured in the Enrichment section (in this case, comments).
Check the Transform Preview panel — it should display:
{ "postId": 1, "postTitle": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "postBody": "quia et suscipit...", "firstCommentEmail": "Eliseo@gardner.biz", "firstCommentText": "laudantium enim quasi est quidem magnam voluptate..."}
This confirms your mappings are working correctly and shows how data from both Extract and Enrichment phases are combined.
{ "postId": 1, "postTitle": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "postBody": "quia et suscipit...", "firstCommentEmail": "Eliseo@gardner.biz", "firstCommentText": "laudantium enim quasi est quidem magnam voluptate..."}
Since we configured rate(1 day) as the schedule, the integration will execute immediately upon creation. After that, it will run automatically every 24 hours.
Switch to your webhook.site browser tab. You should see incoming POST requests (one for each post processed), each containing your transformed data structure with combined post and comment information:
{ "postId": 1, "postTitle": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "postBody": "quia et suscipit...", "firstCommentEmail": "Eliseo@gardner.biz", "firstCommentText": "laudantium enim quasi est quidem magnam voluptate..."}
Congratulations — you’ve built and run your first integration with enrichment!