Skip to main content
This guide walks you through creating an integration that triggers when a webhook is called, transforms the incoming data, and delivers it to a destination endpoint. By the end, you’ll understand how to set up webhook-triggered integrations and test them using cURL.

What you’ll build

You’ll create an integration that:
  1. Extracts data from incoming webhook requests
  2. Transforms the data by mapping fields to your destination format
  3. Loads the transformed results to webhook.site where you can inspect them
Time required: approximately 5 minutes.

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.
  1. In the sidebar, click Connections
  2. Click New Connection
  3. Configure the connection:
FieldValue
Name[Doc] Webhook Extract Connection
Version1.0.0
TypeWebhook
  1. Click Save
  2. 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.
  1. Click New Connection
  2. Configure the connection:
FieldValue
Name[Doc] Webhook Site Load Connection
Version1.0.0
TypeAPI
URLhttps://webhook.site
Base Path/
AuthenticationSimple
  1. Click Save

Step 3: Set up your destination

Before building the integration, create a destination endpoint where you can verify the results.
  1. Open webhook.site in a new browser tab
  2. The site automatically generates a unique URL (e.g., https://webhook.site/abc123-def456-...)
  3. Copy the unique path portion (e.g., /abc123-def456-...) — you’ll need it when configuring the Load phase
  4. 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.
  1. In the sidebar, click Integrations
  2. Click New Integration

General settings

Configure the basic integration properties:
FieldValue
Name[Doc] Webhook Integration
Version1.0.0
TypeFull
EnvironmentStaging
Schedulerate(1 day)

Extract phase

The Extract phase receives data from incoming webhook requests.
  1. Expand the Extract section
  2. Configure these fields:
FieldValue
Connection[Doc] Webhook Extract Connection
When using a webhook connection, RWS Integration automatically receives the request body from incoming webhook calls.
  1. 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:
{
  "id": "1234567890",
  "description": "Item description"
}

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.
  1. Expand the Transform section
  2. Click Add Transformation and configure:
TypeFromTo
SimpleidexternalId
SimpledescriptionitemDescription
  1. Check the Transform Preview panel — it should display the transformed structure based on sample data:
{
  "externalId": "1234567890",
  "itemDescription": "Item description"
}
This confirms your mappings are working correctly and shows how the webhook data will be transformed.

Load phase

The Load phase sends transformed data to your destination.
  1. Expand the Load section
  2. Configure these fields:
FieldValue
Connection[Doc] Webhook Site Load Connection
MethodPOST
PathYour webhook.site unique path (e.g., /abc123-def456-...)
Load TypeSimple
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.
  1. 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

  1. Toggle Deployment to enabled
  2. Click Create Integration
The integration is now active and ready to receive webhook requests. Unlike scheduled integrations, webhook integrations wait for incoming requests rather than running on a schedule.

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)
Run the following cURL command:
curl -X POST "https://api.rwsintegration.com/v1/webhook?tenantId={{tenantId}}&webhookId={{webhookId}}" \
  -H "x-api-key: {{apiKey}}" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "1234567890",
    "description": "Item description"
  }'
You should receive a response similar to:
{
  "success": true,
  "message": "1 jobs queued for 1 integrations",
  "jobIds": [
    "1234567890"
  ],
  "integrationCount": 1
}
And in a few seconds, switch to your webhook.site browser tab. You should see an incoming POST request containing your transformed data structure:
{
  "externalId": "1234567890",
  "itemDescription": "Item description"
}
This confirms that your webhook integration successfully received the request, transformed the data, and delivered it to the destination.
Congratulations — you’ve built and tested your first webhook-triggered integration!

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

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