# Connect Reverse ETL Source to SFTP Destination

This guide takes you through the steps to connect a Reverse ETL source to the SFTP destination.

## Set up connection 

{{< warning >}}
**The Reverse ETL feature supports only source-driven pipeline configuration.**

Make sure you have [set up a RETL source]({{< ref "sources/reverse-etl/_index.md" >}}) and connected it to your SFTP destination before following the below steps.
{{< /warning >}}

1. [Confirm the connection settings]({{< ref "destinations/reverse-etl-destinations/sftp/setup-guide.md#connection-settings" >}}) for SFTP destination and click **Continue**.
2. In the [Data Mapping]({{< ref "data-pipelines/reverse-etl/developer-guides/visual-data-mapper.md" >}}) section, select the **Object**.
3. Specify the [Sync mode]({{< ref "data-pipelines/reverse-etl/developer-guides/sync-modes.md" >}}) to specify how RudderStack should sync the data to SFTP.
4. In **Choose identifier**, specify the warehouse column that RudderStack uses to identify your records.
5. Map the other warehouse columns to specific SFTP destination fields using the **Map fields** setting.

{{< image src="images/event-stream-destinations/sftp-map-fields.webp" alt="Map fields in SFTP destination" >}}

6. To create a new destination field and map it to a warehouse column, click **Map another field** and specify the name of the new field. 

{{< success >}}
The newly created fields are stored in the SFTP destination for later use once you click **Continue**.
{{< /success >}}

{{< image src="images/event-stream-destinations/sftp-create-field.webp" alt="Create new mappings for SFTP destination" >}}

{{< warning >}}
Once you [set up the connection](#set-up-connection) and start a sync, RudderStack takes up to 5 minutes to upload data to SFTP.
{{< /warning >}}

## FAQ

#### Why can't I add a Reverse ETL source from the destination page?

The Reverse ETL feature supports only source-driven pipeline configuration. It means that you must configure a Reverse ETL source in RudderStack and then connect it to a new or existing destination. Note that this destination should not be connected to any other source.

See [Reverse ETL FAQ]({{< ref "data-pipelines/reverse-etl/developer-guides/faq.md" >}}) for more information.

<br />
