As an open system consisting of many built-in, interoperating components, such as Storage or Extractors, Keboola Connection (KBC) can be extended. We encourage you to build your own extensions, whether for your own use or to be offered to other KBC users and customers.
Building extensions for KBC offers many advantages:
To become a Keboola Development Partner, get in touch. We want to hear what you would like to build!
Currently, there are two types of extensions available:
Generic Extractor is a KBC component acting like a customizable HTTP REST client. It can be configured to extract data from virtually any API and offers a vast amount of configuration options. With Generic Extractor you can build an entirely new extractor for KBC in less than an hour.
Custom Extensions can be used as:
All extensions are run using a Docker component which takes care of their authentication, starting, stopping, isolation, and reading data from and writing it to KBC Storage. They must adhere to a common interface.
There are two types of Custom extensions differing in the level of integration and implementation flexibility:
The following table provides an overview of the main characteristics of KBC extensions:
|Generic Extractor||Custom Science Extension||Docker Extension|
|Implementation||Keboola Approval / Registration Required||no||no||yes|
|KBC Components||extractor||extractor, writer, application||extractor, writer, application|
|Implementation Complexity||very easy||easy||medium|
|Application Environment||JSON configuration only||R, Python, PHP||any|
|Knowledge of Docker Required||no||no||yes|
|Uses External Code Repository||no||yes||yes|
|User Features||Setup User Experience||poor, customizable *||poor, customizable *||fully customizable|
|Brandable||yes *||yes *||yes|
|Offered to All Users||yes *||yes *||yes|
|Customizable User Interface||yes *||yes *||yes|
|OAuth2 Support||yes *||no||yes|
* Available only when registered.