Important note: We no longer provide updates and improvements to Custom Widgets. We encourage you to try Datasets for the most simple, powerful way to access your most important data with Geckoboard.
This article outlines how to get data from an external API into Geckoboard.
You might choose this method of getting data into Geckoboard when the integration you would like is not already available, such as from your company’s own API.
There are however other ways to get data into Geckoboard, such as with CSV files or a spreadsheet, that are worth trying before using our Custom widgets.
Before you start
In preparation for creating (coding) your application, we recommend following these steps:
- Choose the data that you want to see on your dashboard and decide how you would like it visualized.
- Understand how to get that data from the datasource. For example, which endpoints do you need, and how is authentication handled?
- Based on your development environment, application design, and datasource, decide which method (Push or Poll) is best.
- Design how the data that you get back from the datasource should be transformed into the widget’s data.
Creating custom widgets using Node.js
Node.js is an open-source server framework and a useful tool for getting data from a datasource into your custom widgets on your Geckoboard dashboard.
The process explained
This diagram explains the flow of data from the its source to your dashboard.
The data you want to see on your dashboard. This can be your own systems and databases, or a third-party/external API.
In order to use custom widgets, you need to develop an app that requests the data from the datasource, transforms it to meet the format Geckoboard expects, and then sends this data to Geckoboard.
Your application needs to format the data from the datasource into the format the widget expects. Each widget type has a format defined in the Developer Documentation.
Your app then either sends the data directly to Geckoboard, or responds to a request from Geckoboard for the data that you want in the widget.
Push vs. Poll
There are two ways Custom widgets can receive data: Push and Poll methods.
The Push method means that your app sends the data directly to Geckoboard’s API. You are given a URL to send your widget data to.
The Poll method means that Geckoboard will send a request to the link that you give it, and expects your app to respond with the data for the widget.
Tip: The biggest advantage of the Push method is that you can send data whenever you’re ready. For example, if you need to perform a long running task in order to get your data ready, using the Push method is best so that Geckoboard doesn’t time out waiting for the data (with the Poll method)