What you’ll build
You’ll create an integration that:- Extracts data from incoming webhook requests
- Transforms the data by mapping fields to your destination format
- Loads the transformed results to webhook.site where you can inspect them
Prerequisites
- Access to an RWS Integration Workspace
- A web browser
- cURL (or similar command-line tool) for triggering the webhook
Step 1: Create the webhook connection
Connections define how RWS Integration communicates with external systems. You’ll create one for the webhook source.- In the sidebar, click Connections
- Click New Connection
- Configure the connection:
- Click Save
- Copy the connection ID; you can find it in the URL after creating the connection. You’ll need this ID when triggering the webhook with cURL.
Step 2: Create the destination connection
Now create a Connection for your webhook.site destination.- Click New Connection
- Configure the connection:
- Click Save
Step 3: 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 4: Create the Integration
With both Connections ready, create the Integration that processes webhook requests and delivers them to your destination.- In the sidebar, click Integrations
- Click New Integration
General settings
Configure the basic integration properties:For webhook-triggered integrations the schedule is required but not actively used: webhooks trigger the integration on demand when requests arrive, so any frequency works here.
Extract phase
The Extract phase receives data from incoming webhook requests.- Expand the Extract section
- Configure these fields:
When using a webhook connection, RWS Integration automatically receives the request body from incoming webhook calls.
- The webhook will accept incoming POST requests with JSON payloads. You can add a sample body to the Extract Preview panel to make it available for transformation and load previewing in the next phases:
Transform phase
The Transform phase maps source fields from the webhook request to your destination format. For this guide, create a simple mapping with two fields.- Expand the Transform section
- Click Add Transformation and configure:
- Check the Transform Preview panel. It should display the transformed structure based on sample data:
Load phase
The Load phase sends transformed data to your destination.- Expand the Load section
- Configure these fields:
- 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
Step 6: Trigger and verify the integration
Now test your integration by sending a webhook request using cURL. Replace the following placeholders in the cURL command:{{ tenantId }}- Your organization’s tenant ID (you can find it in the URL of the RWS Integration workspace){{ webhookId }}- The webhook connection ID from Step 1 (you can find it in the URL of the webhook connection page){{ apiKey }}- Your API key for RWS Integration (contact the RWS Integration team if needed)
You should receive a response similar to:And in a few seconds, switch to your webhook.site browser tab. You should see an incoming POST request containing your transformed data structure:This confirms that your webhook integration successfully received the request, transformed the data, and delivered it to the destination.
Asynchronous delivery
By default the webhook responds after it finishes processing the request. If the calling provider enforces a short timeout, it may give up before the response arrives and resend the same event, causing duplicates. Addasync=true to the webhook URL to have it respond right away and process the request in the background.
What you learned
- Integrations follow the Extract → Transform → Load pattern (with optional Enrichment)
- Webhook connections receive incoming requests rather than making outbound API calls
- 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
- How to trigger the webhook integration with a cURL POST request
- Delivery modes: synchronous by default, or asynchronous with
async=truefor providers with short timeouts
Next steps
Connections
Learn about different authentication methods
Data Mapping
Transform data between source and destination formats
Business Rules
Master field transformations with JavaScript
Monitoring & Debug
Observe and troubleshoot integration runs