TL;DR: Yes, you can do it. And no, you don’t need a separate tool for it.
“Reverse ETL” is a fairly recent addition to the data engineer’s dictionary. While you can read articles upon articles about it (there’s a pretty good ‘primer’ in the Memory Leak blog), it can be summarized as being the art and science of taking data from your data warehouse and sending it somewhere other than BI - generally into other tools and systems where it becomes operational.
So, what does it mean in practice, why do we need a new term, and how does Keboola play a role in that space?
When you treat your data as an asset, chances are there’s a lot of value in there. Analytics is not the only application. For example, you may model some smart customer segmentation and use the segments to enrich records in your data catalog. Having that information in a BI dashboard is great, but it’s even better when you have it synchronized in your CRM or e-mail marketing platform. Or, you can use contract information from your CRM to predict future invoicing. While doing that, why not make that data available to your accounting system to actually generate those invoices? You may need to clean and standardize mailing addresses for updating them in your e-commerce platform.
You get the gist - there’s literally an unlimited number of ideas on how you can use data to automate and improve business processes (read on for some specific examples). How often is there a dashboard presented with a completely predictable outcome/task for the user of the dashboard to perform? You may want to automate that task in the first place.
There are tools that specialize in this type of integrations. Although there really isn’t a need for it in our opinion (it’s just a data flow like any other!), it has become a differentiator in the marketplace. It’s just a reason to add another tool into what is (probably) already a complicated data stack. The thing that helps those companies is that traditional ETL tools generally struggle with writing into anything other than a SQL database or data warehouse of some kind.
So, if you do have the traditional stack (FiveTran, DBT, and Snowflake, for example) and you want to send data back to Salesforce or Mailchimp or Shopify, then you’re out of luck. Yes, you will need to add another vendor to your stack. And then probably another, because when you have four different tools, why not throw in a fifth just to consolidate user management?
“Reverse ETL” doesn’t excite us very much as a category on its own. It’s just a use case, a particular type of data flow - not something that requires a separate tool. Keboola offers 50+ data destinations and the list is always growing. Therefore, setting up a “Reverse ETL” flow in Keboola is no different than doing data acquisition in the first place - using the same building blocks, the same principles, staying within the secure perimeter of the platform, with no need for additional knowledge or vendor selection. In addition to the ever-growing list of data destinations that we support out of the box, we also offer a generic writer that enables low-code integration to send data into essentially any REST API.
In the Keboola data-stack-as-a-service, we discuss “data acquisition” and “data consumption” use cases. They generally have a data catalog at the core, and either feed data into it or take it out for consumption by various systems. Our customers have literally been doing this for years. As an example, and perhaps for inspiration, here’s a diagram of Keboola (the company’s) own data environment and the connected systems. It goes without saying that everything is managed within the Keboola platform. The “Reverse ETL” flows are highlighted and numbered, with the descriptions below: