Join our newsletter

#noSpamWePromise
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
cross-icon
Subscribe

Run your data operations on a single, unified platform.

  • Easy setup, no data storage required
  • Free forever for core features
  • Simple expansion with additional credits
cross-icon
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Download the file

#getsmarter
Oops! Something went wrong while submitting the form.
cross-icon
Use Cases
August 23, 2021
How Keboola benefits from using Keboola Connection - The story of the Lead
Discover how Martin Matějka, Keboola's data engineer, approaches the internal data world of Keboola.

Greetings, my dear readers. It’s been some time since I’ve posted my last article. This is the third chapter of the introduction to the internal data world of Keboola. In the previous chapters, I’ve posted about an introduction to our internal reporting and communication with our users.

Since the last time, a couple things have happened. I’ve visited my first concert since the Covid outbreak and it was nothing less than the best Czech band called Hm… I’ve received an Underground River card for my MTG premodern Psychatog deck in Deutsch rather than in English. And we celebrated the birth of my friend’s second daughter - he definitely has a lot of ladies to take care of right now.

You know, just a few highlights from an ordinary life we all missed. And now I’d like to take you on a journey through our CRM universum. Another kinda ordinary thing, but this time related to the business part of our life.

Well, we all know what CRM is, so I won’t be talking about that. I’ll just mention that we’re using Salesforce for a while and we’re trying to utilize it as much as possible, to get some bang for the buck, as it’s definitely pricier than our free plan Hubspot we’ve used back in the day :)

How we interact with our CRM

I believe that most of our readers are a bit familiar with data gathering and processing, so I’ll just briefly mention that we are of course consuming data from our CRM platform. Getting all those precious information about our leads, contacts, opportunities, orders, customers etc. and combining them with data from the other tools. That’s pretty easily done by using Salesforce Extractor, where you just fill in your credentials to Salesforce and define objects to be extracted. One example for all - part of our contract with a customer contains soft platform limits which shouldn’t be breached by the customer. And if they are, it’s probably time for an upgrade.

To measure that, we are combining data from our CRM orders with data coming from Keboola Connection projects, so we are able to see the overall usage of our customers vs limits they have in their contracts. That is done by using data Transformations. That way our Customer Success managers are able to track usage of our clients and get in touch with them regarding the next steps (our customers are able to get such data as well, of course).

But extracting the data is the usual part of the BI solution. Feeding the CRM with additional data is the next step which helps us get further in taking care of our leads and customers.

Feeding the beast

We’re sending different kinds of data to our CRM through our Salesforce Writer multiple times a day. I’d like to talk deeper about data related to people (leads, customers), but also share with you other use cases we’re taking care of:

  • Uploading exchange rates to correctly calculate the value of the invoices in different currencies (combination of Currency Rates Extractor and Transformations).
  • Updating status of the invoices if they are marked as paid in our accounting systems (we are getting data from our accounting systems, i.e. via Flexibee Extractor, then updating the status of the invoice from CRM in transformation and loading that status back to the CRM).
  • Synchronizing opt out status of the email recipients (we’re getting info about opt outs from our emailing platform via Customer.io Extractor and then the process is similar to the one above).
  • Or sending Keboola Expert requests to CRM for approval (requests filled to the form on our website trigger the Zapier process, which sends data to the DB and then runs Orchestration containing MySQL DB Extractor, Transformation and Writer to Snowflake).

Though, most of the data is linked to the people, especially leads, and that helps us get a bigger picture about people we are interacting with and those who are trying out our product.

Lead Creation

Before you can create data related to the lead, you have to acquire one. We value every person who is interested in Keboola Connection, hence trying to reach all of them.

We have quite lot of source of leads:

  • Web forms - you can get in touch with us through the form at our website if you are interested in Keboola Connection, want to ask something or if you are interested in the content we provide.
  • Webinars - if you are willing to spend your precious time listening to presenters at our webinars, we assume that you might be interested in our tool as well.
  • Newsletter - we’ll gladly share with you news about our product if you want.
  • Pay As You Go projects - people who want to jump directly to Keboola Connection to play with the data are definitely a great source of interesting leads.
  • Keboola Academy - first steps of some people are heading to our education courses first, before starting their first own project.
  • Expert program - kind of new source of leads, but we have some fresh leads who want to manage projects for other people and help us spread Keboola love.

It’s probably worth mentioning that we are not tracking every single Keboola Connection user, as we definitely don’t want to bother skilled power users with articles with introduction to our platform etc. Simply, we want to interact with people who might be really interested in Keboola Connection.

Such data are acquired through different sources (Zapier process mentioned above, custom component or metadata from Keboola Connection projects, which you can get by using Telemetry data Extractor as well).

The Journey

To identify such persons, we are generating events to be linked to our leads in the CRM. And we have a lot of those. It’s not just about grabbing an email and to start spamming it with random stuff. We want to approach the people in a more fine way. And to do that, we need to gather as much information as possible.

Let’s say there is a person who hears about our webinar and decides to visit it. They participate in the webinar and because they like it, they decide to watch another webinar from the past. They like it as well, so they decide to start a Pay As You Go project to test Keboola Connection and see how it goes. They connect their first data source, write some transformations above acquired data, set up their first automation by using the orchestration component in our tool, and because they want to do more and more, they decide to buy additional credits in their project to have more computation time.

Ok, to be honest, this is quite an ideal scenario and there might be hiccups during that journey, but that’s where we are trying to help.

But the whole described journey generates something really important for our decision - events. This particular journey generates this set of events:

  • Webinar sign up.
  • Webinar participation.
  • Downloaded webinar content.
  • Start of Pay As You Go project.
  • First successful extraction of the data.
  • First orchestration.
  • First credit purchase.


All those events from the lead’s journey are created in transformation and then stored in our CRM.

Example SQL script to create event for the start of Pay As You Go project


Along the way, we are trying to help the user with some tips about Keboola Connection. And we are also updating the lead's score, to determine if they are just a random person stumbling on our tool and moving on, or a person who would love to do some data magic and seeking the right way of doing that. We are trying to send appropriate tips by using Customer.io campaigns triggered by the particular events.

Part of the initial campaign flow in Customer.io 


And that’s how we target and nurture our potential customers. And as we add more interaction with people linked to our world, we are adding more events which help us understand people dancing around us. Hopefully, it can benefit both sides, as that’s what we are always aiming for.

Run a 100% data-driven business without any extra hassle.
Pay as you go, starting with our free tier.


The Future

It’s the same as with everything. It’s never perfect and you can’t stop evolving the system. Everything is changing - product, people, world… You have to be adjusting the system to handle your leads in the most favorable way for both sides. Keboola Connection makes the work with the data easier, but the main decisions are still yours. I wish you to make the best ones :)


Run a 100% data-driven business without any extra hassle.
Pay as you go, starting with our free tier.

Recomended Articles