Kaholo Getting Started

Before we jump into using Kaholo, here are the main concepts that make up the solution.

Important note: The Kaholo platform interface currently supports Google Chrome and Mozilla Firefox.

The Kaholo Platform

The Kaholo Platform is the control center for all of your pipelines. This is where you build, manage, and monitor your pipelines.

100’s of Plugins

Plugins allow you to integrate with external services and tools. They come with a set of Methods that do the actual work of each step in a pipeline.

Hosted and Self-Hosted Agents

Agents are where the pipeline actions are actually executed. They can either be hosted and managed by Kaholo or you can self-host agents.


Pipelines consist of a number of Actions that are used to build an automation pipeline. In the Designer tab, you simply drag & drop Actions onto the canvas, connect the first Action to the starting point, and then connect any additional Actions together to create a sequence.


Thanks to Kaholo’s flexible Plugin architecture, we support almost every language and/or system out there.

We’ve pre-built hundreds of open-source plugins that provide Actions that do much of the heavy lifting for you.

Some Actions require credentials, SSH Keys, etc. Any such value must be stored in our built-in vault or an external vault. You can quickly add new Vault items by clicking the option in the dropdown and entering your values in the popup that appears.

Custom JavaScript for Limitless Automation

For more advanced needs, we provide a fully capable JavaScript code layer where you can access pipeline, execution, and action data.

  • Conditionally run an Action
  • Trigger functions before and after Actions are executed (Hooks)
  • Pass data between Actions
  • Transform data before passing them between Actions


There are multiple places where JS code can be used:

  1. Main Code Layer: For adding larger complex functions, initializing variables, and when data manipulations are needed. It has built-in IntelliSense so you can see everything we provide in our SDK under the Kaholo and actions objects. For example, declaring and assigning a variable which would then be used in an Action Parameter field with its Code option activated (toggle above the field):
    var publicIp;
    var publicIp = kaholo.execution.configuration.publicIp;
  2. Action Parameter Fields: Activate the code feature by turning the toggle switch to on above a parameter field. This is used to set values dynamically when the pipeline is executed. Here you can either access the Kaholo SDK to directly insert values, invoke a function or get a variable defined in the main Code layer. Here’s an example for accessing the results of a previously executed Action: actions.myaction.result
  3. Condition Fields: Determine whether an Action should execute. For example, basing it on a previous Action’s status: actions.myaction.status=='skipped'
    Another example for using the Condition field is to set a condition on a loop action2Iterations < 5
  4. Hook Fields: Run a function before or after an Action is executed. A common example is to increment a variable in a Post-execution Hook in conjunction with using the Loop and Conditional code features action2Iterations++


Configurations allow you to add multiple JSON files in order to reuse the same pipeline for different scenarios, where each scenario has its own set of values to use as inputs for the pipeline.

One example of when to use Configurations is using the same CI/CD pipeline for different environments like Production and Staging which have different values for things like Regions, IPs, etc. In this case, you create two Configurations, one for Production and another for Staging. When the pipeline is executed, you can choose which configuration gets used so when you do something like kaholo.execution.configuration.publicIp , it will access the corresponding Public IP depending on the environment.

A specific configuration can be tied to a specific trigger, which we’ll discuss next.

Multiple Ways to Trigger Your Pipelines

Kaholo automations can be triggered manually within the user interface, externally through an event-driven trigger like a push to a specific Github branch, or from a scheduled trigger to execute it on a regular basis.

In order to extend your automation pipeline for multiple scenarios, you have the option of using a specific configuration in a Trigger.

Like all of our plugins, Triggers can be found in our Github repository which contains additional details on how to set them up.

Execution Results

Execution results shows you the current as well as previous execution statuses. Once you click on one Execution, you’ll see a list of Actions that ran along with their statuses. Clicking on a particular Action will show its Activity Log and separately its Final Result.

This makes it easier to troubleshoot your pipelines, but can also be used to execute the pipeline to see what results are returned by an action, to then access those results through the code layer.

Page Contents