How I used hotglue and Databox to monitor all my KPIs in one place cover

How I used hotglue and Databox to monitor all my KPIs in one place

David Molot profile image

by David Molot

Mar 8th 2021


Being able to visualize your company’s KPI’s (key performance indicators) is one of the most essential components of understanding your business. But monitoring them across many different platforms can be an absolute hassle.

You have to check how many users are visiting your site via Google Analytics, how users are interacting with your site through Mixpanel, and how your recurring revenue is trending in Stripe. I hated having to deal with this for my business, so I decided to find a solution that would let me see all of this data in one place.

I looked for a tool that could solve this problem for me at minimum cost – both in terms of money and time to setup. Most of the tools I could find were either way too expensive (hundreds of dollars a month) or they didn't have the integrations I needed in order to create a dashboard that I could really utilize. Then I stumbled upon...



During my search, I found a business analytics platform called Databox. They allow you to connect three data sources on their free plan and the data refreshes on a daily basis. This sounded perfect until I found that Databox doesn't offer a CSV upload option and their Google Sheets integration requires using their premium Query Builder. This made it hard to track the things I already monitored manually. I found a workaround to this using Google Sheets and Zapier to push the data directly to Databox, but it still felt limited.


hotglue logo

Coming from my background at hotglue, an embeddable data integration platform for developers, I was used to having more granular control over my data. With a little poking around on Databox's docs, I found it actually had a Python SDK for pushing data! What if I could leverage hotglue's integrations with Databox?

That way I could have the granularity I needed via Python scripts, the integrations I need, and gain the ability to upload my CSV data as well. So I built a simple Databox target for hotglue, and got cracking!

How do they work together?

First, let's talk about how to send the data from hotglue to Databox.

Setting up a Databox token

First thing you have to do is make a Databox account (or log in if you already have one). Once you create your account, you will be asked to choose your first day source (or just go to the data manager page and click sources if you already have an account).

Screen Shot 2021-03-05 at 10.39.55 AM.png

Go to the Rest API section on the bottom right of your screen and click "Create Token."

Once you've done that, the following page will show.

Screen Shot 2021-03-05 at 10.56.26 AM.png

You should click the "Create new token" button.

Screen Shot 2021-03-05 at 10.58.40 AM.png

Go ahead and name your token and click "Create." There are a few more simple steps to finishing the set up tutorial, but for brevity, I will leave you to do it on your own. You can read more on the Databox docs.

Once you have completed setting up the hotglue token and finish setting up your Databox account, you will be directed to the Databox home page.

Screen Shot 2021-03-05 at 12.33.02 PM.png

At this point, you should open the "Data Manager." This will bring up a page that shows you your token that you just created.

Screen Shot 2021-03-05 at 1.24.58 PM.png

Now we can move to importing the data!

Using the hotglue demo application

The hotglue team created an interactive hotglue and Databox demo you can use to connect your data to Databox! Currently it supports connecting Google Analytics page views, Mailshake campaign opens/clicks, and Medium stats from CSVs generated by the Better Medium Stats Chrome extension.

Screen Shot 2021-03-05 at 1.45.31 PM.png

Once you open the demo, click "Connect data" to launch hotglue. This will open the hotglue widget and allow you to connect a data source. For this example, we are going to connect Mailshake to Databox as Databox currently does not offer any native integration with Mailshake.

Getting the data from Mailshake

Connect email campaign

With the widget now open, let's select the Email Campaign option.


Now you should select Mailshake and provide your Mailshake API token.

Mailshake token

Once you're done signing in, it should take you back to the widget where you will Mailshake is linked. Click the three dots on the corner and then click "Run job."

Mailshake linked

Sending the data to Databox

Now you should click the word "Flows" in the top left hand corner of the widget. This will take you back to the screen with the four options. Once you are there, click Dashboard and this will take you to a screen where you will connect your Databox account.

Screen Shot 2021-03-05 at 2.52.12 PM.png

Remember that token that we made earlier? We are going to need that token now, so switch back to Databox and copy the token.

Screen Shot 2021-03-05 at 3.03.57 PM.png

Put that token into the widget now and click connect. Once you do, you need to run a job on the Databox target, so that you can see your data in Databox.

Seeing your data in Databox

Finally, go back to Databox and head back to the Data manager page that you went to for your custom key. Under the "Available metrics" column, you should now have at least 1, if not more, available metrics for you to add to your Databox dashboards. To add the new metrics to your dashboards, just click on the word circled in the picture below and it will take you to a page where you will be able to add these new metrics to your metrics page.

Screen Shot 2021-03-05 at 4.23.05 PM.png

Check out the code

All the Python scripts used to process the data from Mailshake and Medium are available on GitHub. Feel free to customize these and use them yourself! If you'd like to extend this example, you can make your own hotglue account and write your own transformation scripts.

Wrapping Up

Now you can keep track of your KPIs just by using hotglue and Databox. If you make a hotglue account, you can set up a schedule for these metrics to run jobs automatically and never have to worry about updating your metrics manually again.

Thanks for reading!