Skip to main content
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:
  1. Extracts user records from JSONPlaceholder (a free test API)
  2. Transforms the data to a simpler format
  3. 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.
  1. In the sidebar, click Connections
  2. Click New Connection
  3. Configure the connection:
FieldValue
NameJSONPlaceholder API
TypeAPI
URLhttps://jsonplaceholder.typicode.com
Base Path/
AuthenticationSimple
  1. Leave Header Parameters and Query Parameters empty
  2. 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.
  1. Click New Connection
  2. Configure the connection:
FieldValue
NameSFTP Connection
TypeSFTP
URLsftp.example.com
Base Path/uploads
Port22
Usernameusername
SSH Private Keyprivate_key
  1. Click Save

Step 3: Create the Integration

With both Connections ready, create the Integration that moves data between them.
  1. In the sidebar, click Integrations
  2. Click New Integration

General settings

Configure the basic integration properties:
FieldValue
NameLoad File to SFTP
Version1.0.0
TypeFull
EnvironmentStaging
Schedulerate(1 day)

Extract phase

The Extract phase retrieves data from your source system.
  1. Expand the Extract section
  2. Configure these fields:
FieldValue
ConnectionJSONPlaceholder API
MethodGET
Path/users
  1. Set the Datapoint Path in Response to root
  2. Set the Pagination:
FieldValue
Pagination TypeSimple
Page size parameter_limit
Page size value10
Initial page parameter_page
Initial page value1
Pagination end typeObject
  1. 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.

Transform phase

The Transform phase maps source fields to your destination format. For this guide, create a simple mapping with three fields.
  1. Expand the Transform section
  2. Click Add Transformation and configure:
TypeFromTo
SimpleiduserId
SimplenamefullName
SimpleemailemailAddress
  1. 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.
  1. Expand the Load section
  2. Configure these fields:
FieldValue
ConnectionSFTP Connection
Path/guides
File nameusers.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

  1. Toggle Deployment to enabled
  2. 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