What you’ll build
You’ll configure an integration extract that reads this month’s new hires live from a SOAP payroll system, and get them as JSON records ready for transformations, filters and loads like any other API source. Time required: approximately 10 minutes.Prerequisites
- Access to an RWS Integration Workspace
- RWS Connect Live enabled for your account, with the
x-api-keyprovided by RWS - Your system’s credentials stored with RWS, and its address approved for your account (to set this up, email connect@rwsintegration.com)
- The SOAP operation you want to call: its address, action and request XML (from your system’s documentation, or ask RWS)
https://payroll.example.com. Replace the addresses, XML and credentials with your system’s.
Step 1: Create the Connection
You only do this once. The same Connection serves every Live integration you’ll ever build — which system and which operation to call are chosen later, per integration.- In the sidebar, click Connections
- Click New Connection
- Configure the connection:
- Click Save
Step 2: Configure the Extract
Everything about the SOAP call travels as query parameters, so it all lives in one place: your integration’s extract configuration.- In your integration, expand the Extract section
- Configure these fields:
- Add the Query Params that describe the call. First, which operation to call:
The
x_soap_auth_header is the authentication block your system expects, exactly as it appears in a working SOAP request — with one difference: credentials are referenced by name, never written in:
Names like
{PAYROLL_USER} are filled by RWS at call time, from the credentials stored securely for your account — the same ones your Connect pipelines use. Passwords never appear in your configuration and never travel in the request.x_body_template is the operation’s request XML, with {slots} where values change per run:
- Now add the parameters that fill those slots — plain query params with the same names:
x_record_tag names the XML element that becomes your records: every <EmploymentContract> in the response turns into one JSON item. Dynamic parameters like today.subtract(30.day) work here like anywhere else.
-
Set the Datapoint Path in Response to
items - Set the Pagination:
The
page parameter fills the {page} slot in the body template, and the extraction stops by itself on the first empty page.
Step 3: Check the preview
The Extract Preview panel should show status200 OK and your records as clean JSON — snake_case names, nested the way your system structures them, all values as text:
Optional quality guards
Four extra parameters protect the call against surprises in the response. All optional, all one-liners:Live or tables?
They share the same api key and complement each other: many customers feed dashboards from the tables and run their monitoring on Live.
When something goes wrong
Live fails loudly and tells you why. A key that isn’t enabled gets a clear403 asking you to contact RWS. A misconfigured call gets a 400 naming exactly the parameter to fix. And if your system returns an error — even one disguised inside a normal response — you get a clear error, never a silent empty success.
What you learned
- One Connection, every integration: the system, operation and XML are query parameters, so a single
RWS Connect Liveconnection serves everything - Credentials stay with RWS: templates reference names like
{PAYROLL_USER}; values are filled securely at call time x_record_tagturns XML into records, delivered as nestedsnake_caseJSON underitems- Pagination just works: the page parameter fills a
{slot}and extraction stops on the first empty page
Next steps
Monitoring
Watch your integrations and business flows
Dynamic Parameters
Date windows like “the last 30 days”
RWS Connect
Your legacy data as stored, queryable tables
Enrichment
Complete each record with data from other APIs