> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rwsintegration.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RWS Connect

> Extract from SOAP APIs, databases and files, sources without a native connector

## What is RWS Connect?

With RWS Connect, we build a managed pipeline that extracts from your source and exposes it through the **RWS Connect API**: a simple REST API on top of older systems (SOAP APIs, databases and files) that your integrations extract from like any other modern API.

## Why it exists

RWS Integration connects natively to REST APIs, webhooks and SFTP/FTP servers. But plenty of business-critical data lives in places none of those reach: an ERP that only speaks SOAP, an on-premise database behind a VPN, positional text files dropped on a server every night. Instead of forcing you to build and operate custom extraction code, RWS builds and operates the pipeline for you, and your integrations consume the result through one consistent REST API.

## How it works

1. **You request a connector** for your source ([Files](/en/features/connections/files), [Databases](/en/features/connections/databases) or [SOAP APIs](/en/features/connections/soap)) by emailing [connect@rwsintegration.com](mailto:connect@rwsintegration.com)
2. **RWS builds a managed pipeline** that extracts from the source on the agreed schedule and writes the data to structured tables
3. **Your integration extracts from the RWS Connect API** using a standard [Simple connection](/en/features/connections/api#simple), then transforms and loads as usual

From your integration's point of view, RWS Connect is just another API source: [pagination](/en/features/extract/pagination), [dynamic parameters](/en/features/extract/dynamic-parameters), [business rules](/en/features/business-rules/overview) and [scheduling](/en/features/extract/scheduling) all apply unchanged.

<Info>
  Your tables are ready within **two business days** (SLA) after access and the required information are provided. If access requires a VPN, [VPN setup](/en/features/connections/vpn) takes an additional two business days before the pipeline is built.
</Info>

## Supported sources

<CardGroup cols={3}>
  <Card title="Files" icon="file-lines" href="/en/features/connections/files">
    Positional text, CSV, delimited files, Excel, JSON and XML, from SFTP, FTP, S3, Drive and more
  </Card>

  <Card title="Databases" icon="database" href="/en/features/connections/databases">
    Any JDBC-compatible database, wherever it runs
  </Card>

  <Card title="SOAP APIs" icon="file-code" href="/en/features/connections/soap">
    SOAP web services, joined and flattened into clean records
  </Card>
</CardGroup>

## Your data as tables

* **Database**: your tenant name, provided during onboarding. All your tables live under it.
* **Table**: one table per dataset, named as agreed when the connector is requested.
* **Columns**: flat, `snake_case`, regardless of how nested or oddly formatted the source is.

A single pipeline often combines several endpoints or source tables to build one complete dataset. In that case each column keeps a prefix identifying where it came from, and everything arrives together in a single flat JSON object per record:

```json theme={null}
{
  "employees_employee_id": "1042",
  "employees_name": "Ana Souza",
  "contracts_position": "Sales Analyst",
  "contracts_start_date": "2024-03-01",
  "extraction_date": "2026-07-28"
}
```

Every pipeline run adds a snapshot stamped with its extraction date, so the tables preserve history: you can query the current state or look back at any past run.

Every table also carries these standard columns:

| Column                         | Meaning                                           |
| ------------------------------ | ------------------------------------------------- |
| `extracted_at`                 | Timestamp when the record was extracted           |
| `extraction_date`              | Date of the pipeline run that produced the record |
| `extract_start_date_parameter` | Start of the date window the run extracted        |
| `extract_end_date_parameter`   | End of the date window the run extracted          |

## Querying your data

Your integration queries the RWS Connect API with plain query parameters. A common example, reading the current snapshot of a table (the newest record per employee, in pages of 100):

```
GET https://connect.rwsintegration.com/
    ?database=acme
    &table=employees
    &filter[over_employee_id][extracted_at]=first
    &page[size]=100
    &page[number]=1
```

```json theme={null}
{
  "Items": [
    {
      "employees_employee_id": "1042",
      "employees_name": "Ana Souza",
      "contracts_position": "Sales Analyst"
    }
  ],
  "Total": 1580
}
```

The API also supports column selection, filters with many operators, date comparisons, grouping, aggregations and sorting. See [Querying the RWS Connect API](/en/features/extract/connect-api) for every parameter.

## Freshness

Tables are refreshed on the pipeline's schedule, typically daily, agreed when the connector is requested. Repeated identical queries may be served from a short-lived cache (up to 10 minutes).

## RWS Connect Live

Tables answer questions about your data as of the last refresh. Sometimes you need the answer **right now**: is this month's every new hire really in the HR platform, at this very moment? For that, **RWS Connect Live** reads your system in real time — one REST call in, one live SOAP call to your system, clean JSON back — using the same api key.

Live is what powers [monitoring](/en/core-concepts/monitoring) and audits over legacy systems, and any integration that can't work on yesterday's data. Today it supports SOAP sources. See the [RWS Connect Live guide](/en/guides/rws-connect-live) to build your first live extraction.

## Next steps

<CardGroup cols={2}>
  <Card title="Querying the RWS Connect API" icon="magnifying-glass" href="/en/features/extract/connect-api">
    Every parameter: select, filter, group, aggregations and pagination
  </Card>

  <Card title="Guide: Extract from RWS Connect" icon="cloud-arrow-down" href="/en/guides/rws-connect">
    Build a working integration on top of a Connect table
  </Card>

  <Card title="Guide: RWS Connect Live" icon="bolt" href="/en/guides/rws-connect-live">
    Read your system in real time, for monitoring and beyond
  </Card>
</CardGroup>
