This guide walks you through creating a working integration that extracts user data from a public API and delivers it to in CSV format to a SFTP server. By the end, you’ll understand how sftp connections work inside RWS Integration.
What you’ll build
You’ll create an integration that:
Extracts user records from JSONPlaceholder (a free test API)
Transforms the data to a simpler format
Loads the results to a SFTP server in CSV format
Time required: approximately 5 minutes.
Prerequisites
Access to an RWS Integration Workspace
A web browser
A SFTP server
Step 1: Create the source Connection
Connections define how RWS Integration communicates with external systems. You’ll create one for the source API.
In the sidebar, click Connections
Click New Connection
Configure the connection:
Field Value Name JSONPlaceholder APIType APIURL https://jsonplaceholder.typicode.comBase Path /Authentication Simple
Leave Header Parameters and Query Parameters empty
Click Save
The JSONPlaceholder API doesn’t require authentication, so the Simple authentication type with no additional parameters works.
Step 2: Create the destination Connection
Now create a Connection for your webhook.site destination.
Click New Connection
Configure the connection:
Field Value Name SFTP ConnectionType SFTPURL sftp.example.comBase Path /uploadsPort 22Username usernameSSH Private Key private_key
Click Save
Step 3: Create the Integration
With both Connections ready, create the Integration that moves data between them.
In the sidebar, click Integrations
Click New Integration
General settings
Configure the basic integration properties:
Field Value Name Load File to SFTPVersion 1.0.0Type FullEnvironment StagingSchedule rate(1 day)
The Extract phase retrieves data from your source system.
Expand the Extract section
Configure these fields:
Field Value Connection JSONPlaceholder APIMethod GETPath /users
Set the Datapoint Path in Response to root
Set the Pagination :
Field Value Pagination Type SimplePage size parameter _limitPage size value 10Initial page parameter _pageInitial page value 1Pagination end type Object
Check the Extract Preview panel on the right side — it should show:
Status: 200 OK
A single user record (the Datapoint) like this:
{
"id" : 1 ,
"name" : "Leanne Graham" ,
"username" : "Bret" ,
"email" : "Sincere@april.biz" ,
}
SFTP integrations doesn’t support Enrichment phase.
The Transform phase maps source fields to your destination format. For this guide, create a simple mapping with three fields.
Expand the Transform section
Click Add Transformation and configure:
Type From To Simple iduserIdSimple namefullNameSimple emailemailAddress
Check the Transform Preview panel — it should display:
{
"userId" : 1 ,
"fullName" : "Leanne Graham" ,
"emailAddress" : "Sincere@april.biz"
}
This confirms your mappings are working correctly with real data from the Extract phase.
Load phase
The Load phase sends transformed data to your destination.
Expand the Load section
Configure these fields:
Field Value Connection SFTP ConnectionPath /guidesFile name users.csv
RWS Integration will create the file in the /guides directory. If the directory does not exist, it will be created. The only format supported is CSV.
Step 4: Create the Integration
Toggle Deployment to enabled
Click Create Integration
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.
Step 5: Verify the results
Go to your SFTP server and check if the file users.csv was created in the /guides directory.
You should see a file with this structure:
userId, fullName, emailAddress
1, Leanne Graham, Sincere@april.biz
2, Ervin Howell, Shanna@melissa.tv
3, Clementine Bauch, Nathan@yesenia.net
Congratulations — you’ve built and run your first SFTP integration!
What you learned
SFTP connections store configuration for SFTP servers and can be reused across multiple Integrations
Integrations follow the Extract → Transform → Load pattern
Preview panels automatically update as you configure each phase, letting you validate before running
Simple transformations map fields from source to destination using JSONPath notation
File format CSV is supported for SFTP integrations
Next steps
Connections Learn about different authentication methods
Pagination Handle pagination and complex API responses
Business Rules Master field transformations with JavaScript
Scheduling Schedule your integrations to run automatically