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

# ETL: FTPS Source

> How to connect to an FTPS server and configure the FTPS source component to read files in your Integrate.io ETL pipeline.

The FTPS source reads files from any File Transfer Protocol Secure (FTPS) server and feeds them into your pipeline. It supports CSV, TSV, JSON, Excel, Parquet, Raw, and compressed formats.

Once your connection is set up, see [File Storage Options](/docs/etl/file-storage-options) for the full set of read options (file formats, schema, and more) shared across every file storage provider.

## Connection Setup

To allow Integrate.io ETL direct access to your FTPS server, add the Integrate.io [IP addresses](/docs/etl/integrateio-etls-ip-list) to your server's firewall allowlist.

<Steps>
  <Step>
    Click the **Connections** icon (lightning bolt) in the top-left menu.
  </Step>

  <Step>
    Click **New connection** and select **File Transfer Protocol Secure (FTPS)**.

    <Frame>
      <img src="https://mintcdn.com/integrateio/XpeHmuMzUiEmfOEz/images/connectivity-and-security/image-148.webp?fit=max&auto=format&n=XpeHmuMzUiEmfOEz&q=85&s=c70af74c72f9fdd37440f6dfc4e04c05" alt="New connection button in the Connections menu" width="1200" height="829" data-path="images/connectivity-and-security/image-148.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/XpeHmuMzUiEmfOEz/images/connectivity-and-security/image-149.webp?fit=max&auto=format&n=XpeHmuMzUiEmfOEz&q=85&s=992e2485c02672dda33e61388aafcfc5" alt="Selecting FTPS from the connection type list" width="1200" height="829" data-path="images/connectivity-and-security/image-149.webp" />
    </Frame>
  </Step>

  <Step>
    Name the connection and fill in the connection details:

    | Field         | Description                                                        |
    | :------------ | :----------------------------------------------------------------- |
    | **Hostname**  | The hostname of the FTPS server.                                   |
    | **User Name** | The username to connect with. Cannot contain the `$` character.    |
    | **Password**  | The password for authentication. Cannot contain the `@` character. |
    | **Port**      | TCP port of the FTPS server. Default is 21.                        |
  </Step>

  <Step>
    Click **Test connection** to verify the credentials.
  </Step>

  <Step>
    Click **Create FTPS connection**.

    <Frame>
      <img src="https://mintcdn.com/integrateio/XpeHmuMzUiEmfOEz/images/connectivity-and-security/image-150.webp?fit=max&auto=format&n=XpeHmuMzUiEmfOEz&q=85&s=952652ed0783e47df26eb7e4f8c90b5c" alt="FTPS connection form with hostname, username, and password fields" width="1200" height="829" data-path="images/connectivity-and-security/image-150.webp" />
    </Frame>

    The connection appears in the connections list.

    <Frame>
      <img src="https://mintcdn.com/integrateio/XpeHmuMzUiEmfOEz/images/connectivity-and-security/image-151.webp?fit=max&auto=format&n=XpeHmuMzUiEmfOEz&q=85&s=723bffb9a7d82a69fb39fb9202b5d8b0" alt="FTPS connection created and listed in connections" width="1200" height="829" data-path="images/connectivity-and-security/image-151.webp" />
    </Frame>
  </Step>
</Steps>

***

## Source Configuration

### Connection

Select your FTPS connection from the dropdown, or create a new one using the steps above.

### Source Path

The path to the input file, folder, or pattern on the FTPS server. Paths must begin with `/`. Integrate.io prepends the slash automatically if omitted.

| Example                       | Description                         |
| :---------------------------- | :---------------------------------- |
| `/data/sales/2015/01/log.csv` | A single file                       |
| `/data/sales/2015/01/`        | All files in a folder               |
| `/data/sales/2015/{01,02}/`   | A pattern matching multiple folders |

You can use wildcard characters for [pattern globbing](/docs/etl/using-pattern-matching-in-source-component-paths). File and directory names beginning with an underscore (`_`) or a dot (`.`) are ignored.

<Note>
  FTPS has no bucket or container field. The path is relative to the FTPS server root.
</Note>

<Snippet file="snippets/file-storage-source-format.mdx" />

### Source Action

<Note>
  All four source actions are available for FTPS. When using **Move processed files**, the **Append string to filename** option is supported.
</Note>

<Snippet file="snippets/file-storage-source-action.mdx" />

<Snippet file="snippets/file-storage-source-tail.mdx" />

***

## FAQ

**How do I allow Integrate.io to connect to my FTPS server?**

Add the Integrate.io [IP addresses](/docs/etl/integrateio-etls-ip-list) to your server's firewall allowlist to permit inbound connections.

**My username or password contains a restricted character — what should I do?**

Usernames cannot contain `$` and passwords cannot contain `@`. Contact your server administrator to change the credentials, or use an alternative account.

**Does FTPS support incremental load?**

Yes. Select **Process only new files (Incremental load)** in the source action settings and configure a manifest path. See [reading file storage data incrementally](/docs/etl/how-do-i-read-data-from-file-storage-incrementally).

***

## Related

<CardGroup cols={2}>
  <Card title="FTPS Destination" icon="arrow-right" href="/docs/etl/using-components-ftps-destination" horizontal />

  <Card title="File Storage Options" icon="arrow-right" href="/docs/etl/file-storage-options" horizontal />

  <Card title="Integrate.io IP Address List" icon="arrow-right" href="/docs/etl/integrateio-etls-ip-list" horizontal />

  <Card title="Reading File Storage Data Incrementally" icon="arrow-right" href="/docs/etl/how-do-i-read-data-from-file-storage-incrementally" horizontal />

  <Card title="PGP Keys" icon="arrow-right" href="/docs/etl/pgp-keys-account-level" horizontal />
</CardGroup>
