Populating a Geckoboard using Linx

Geckoboard.com is a really easy to use Dashboarding solution that allows you to set up Live dashboards for your business. Think of those TVs you see in an operations area, ticking sales or orders off as they happen. Linx is a perfect companion to input the data into Geckoboard, and see the results change instantly.

Please note the terms ‘Process’ and ‘Custom Type’ have been depreciated and have been replaced with ‘Function’ and ‘Type’ respectively. More details here.

Example of a board created using the Northwind database as source: (Dates are a bit skewed because Northwind’s transactions are 1997 and I’ve added a big transaction for 2019)

  1. Firstly you need to get a Geckoboard. You can register a trial account for free.
  2. Once you’ve got an account, you need to get your API key:
    • Log into your Geckoboard
    • Click on your initial on the top right corner, in order to bring up your profile menu
    • Click on “Account” to get your Account Settings
    • Scroll down to find your API key. Copy and paste this key for use in Linx
  3. Now you can start a new solution up in Linx and save your Settings (Your API key, and your own DB Connection strings)

To understand how Linx integrates with Geckoboard, you’ll need to investigate the API reference here: https://developer.geckoboard.com/hc/en-us/sections/360002865451

To populate into your board, you’ll need to set up “Datasets” in Geckoboard. These datasets gets populated with the data you want to use on your board, pretty much the same way you add data to a database. You’ve got a Dataset (Table), Fields (Columns), Records (Rows). The examples provided in the API documentation, under CURL, can be understood and used in Linx as REST Webservice Calls. You’ll have to look at your own data and decide what structure you want to use for your Datasets. In this example I’ve used the NORTHWND “Sales Totals by Amount” view as my source, and also the same structure for my Dataset:

  1. Open up your solution in Linx and create a CustomType(s) which represent your structure for the Dataset:

    BodyForSalesToCompany has these properties:

    fields have these properties, and should represent the structure of your dataset:

    fieldDef is the reusable definition containing these properties:

  2. Now you can create your Process, which will call Geckoboard and create the Dataset (NB: Use lowercase for titles, fieldnames and types in order to not frustrate yourself. Geckoboard’s API does not like capital letters):
    ** Look at the attached solution file for values for each step.

  3. Once you’ve created your Dataset, you can now populate it with data from your database (or any other source). I’ve used the SQL database, Northwind. Create a new Linx process Function to extract data from the database and send it to Geckoboard. A maximum of 5000 records can be saved onto a Dataset:

  4. You can now go onto Geckboard itself and use the imported dataset to create graphs on your board.

  5. A second process Function (in my case called AddOneTestEntry…) can be created to add specific data records (without having to pull data from the database). It looks similar to the previous one, just without the SQL call, but using Input values to send 1 record to Geckoboard:
    ** This is a nice way to test Linx’s interaction and see how the board changes almost instantly as data is sent to it from Linx.

  6. Finally you can add a timer to keep the board up to date with your latest data, and show the board on a TV screen where your team can view progress.

Linx (v5.14) example solution: Linx 5 - GeckoboardInterface.lsoz (15.2 KB)