How do I use the Reverse ETL feature?

RudderStack's Reverse ETL feature lets you set up your data warehouse as a source in RudderStack and route the data residing in it to your preferred destination.

To use this feature, follow these steps:

  1. Set up a Reverse ETL source in RudderStack.
  2. Connect it to a new or existing destination.
  3. Specify the warehouse data you want to sync to that destination.

Can I connect a Reverse ETL source to multiple destinations?

This feature does not support connecting one source to multiple destinations currently.

Therefore, if you want to send data from a Reverse ETL source to multiple destinations, it is recommended to create multiple copies of the Reverse ETL source with the same settings and connect them with each of the destinations.

I cannot add a Reverse ETL source to an already configured destination. Why?

The Reverse ETL feature supports only source-driven configuration of your pipeline. So, you need to configure a new or existing 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.

Can I connect a Reverse ETL source to a warehouse destination in RudderStack?

No, RudderStack currently does not support this functionality.

Which events are supported by the Reverse ETL sources?

Reverse ETL sources support sending the identify and track events. Refer to the Syncing Events guide for more information on how to send these events.

What is the difference between the Table and Model options when creating a Reverse ETL source?

When creating a new Reverse ETL source, you are presented with the following two options from which RudderStack will sync the data:

table model options
  • When you choose Table, RudderStack imports all the data associated with the specified warehouse table during the sync.
  • When you choose Model, RudderStack imports the data by running the query specified in the connected model during the sync.

What is the difference between Basic, CRON, and Manual schedule settings?

When creating a new Reverse ETL source, RudderStack lets you schedule your data imports and define how and when the data syncs will run.

RudderStack defines the following three sync schedule types:

Schedule typeDescription
BasicRuns syncs at a user-specified time and interval.
CRONRuns syncs based on a user-defined CRON expression.
ManualUser triggers the data syncs manually.

For more information, refer to the Sync Schedule Settings guide.

What is the difference between Upsert and Mirror mode when syncing data?

RudderStack supports two modes (available based on the source and the chosen destination) that let you define how you want to sync your data. These are Upsert and Mirror mode.

  • In the Upsert mode, RudderStack supports insertion of new records and updates to the existing records, while syncing data to the destination.
  • In the Mirror mode, RudderStack 'mirrors' the source by keeping the destination data the same as the source data. It performs insertion, updates, and deletion of records while syncing data to the destination.

For more information, refer to the Sync Modes guide.

I'm unable to run a sync manually and get the message "Your pipeline is paused. Make sure that the source and at least one destination is enabled". What do I do?

This message appears when either your Reverse ETL source, the connected destination, or both are disabled. Go to the Settings tab to verify if the source and destination are enabled for data syncs.


Contact us

For more information on the topics covered on this page, email us or start a conversation in our Slack community.