This guide walks you through creating a working integration that extracts user data from an API that uses OAuth 2.0 authentication and delivers it to a webhook endpoint. By the end, you’ll understand how OAuth 2.0 connections work inside RWS Integration.
What you’ll build
You’ll create an integration that:
- Extracts user records from an API that uses OAuth 2.0 authentication
- Transforms the data to a simpler format
- Loads the results to webhook.site where you can inspect them
Time required: approximately 5 minutes.
Prerequisites
- Access to an RWS Integration Workspace
- A web browser
Make sure you’re in the correct Workspace using the workspace selector in the sidebar before starting.
Step 1: Set up your destination
Before building the integration, create a destination endpoint where you can verify the results.
- Open webhook.site in a new browser tab
- 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.
Step 2: 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 | Description |
|---|
| Name | OAuth 2.0 API | - |
| Type | API | - |
| URL | https://api.example.com | The base URL of the extracted data |
| Base Path | / | The base path of the extracted data |
| Authentication | OAuth 2.0 | The authentication method to use |
| Token Type | Bearer | The type of token to use |
| Method | POST | The HTTP method to use for the authentication request |
| Base URL | https://api.example.com | The base URL of the authentication endpoint |
| Authentication path | /oauth/token | The path to the authentication endpoint |
| Token Path in Response | access_token | The path to the token in the response body |
- Click Save
Step 3: Create the destination Connection
Now create a Connection for your webhook.site destination.
- Click New Connection
- Configure the connection:
| Field | Value |
|---|
| Name | Webhook Destination |
| Type | API |
| URL | https://webhook.site |
| Base Path | / |
| Authentication | Simple |
- Click Save
Step 4: 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 | OAuth 2.0 Integration |
| Version | 1.0.0 |
| Type | Full |
| Environment | Staging |
| Schedule | rate(1 day) |
The Extract phase retrieves data from your source system.
- Expand the Extract section
- Configure these fields:
| Field | Value |
|---|
| Connection | OAuth 2.0 API |
| Method | GET |
| Path | /users |
- Set the Datapoint Path in Response to
root
RWS Integration will keep the Authentication Token refreshed by requesting a new token for each request.
- Check the Extract Preview panel on the right side — it should show:
- Status:
200 OK
- A single user record (the Datapoint) with fields like
id, name, email, username
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 | id | userId |
| Simple | name | fullName |
| Simple | email | emailAddress |
- 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 | Webhook Destination |
| Method | POST |
| Path | Your webhook.site unique path (e.g., /abc123-def456-...) |
| Load Type | Simple |
Copy only the path portion from your webhook.site URL. If your full URL is https://webhook.site/abc-123, enter /abc-123 as the Path.
- Check the Load Preview panel — it shows the complete request that will be sent:
- Path: Full destination URL
- Method: POST
- Request Body: Your transformed data structure
Step 5: Deploy 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 6: Verify the results
Switch to your webhook.site browser tab. You should see incoming POST requests (one for each user from the API), each containing your transformed data structure:
{
"userId": 1,
"fullName": "Leanne Graham",
"emailAddress": "Sincere@april.biz"
}
Congratulations — you’ve built and run your first integration with OAuth 2.0 authentication!