Build Custom Tools

Version:
2019.3
Last modified: October 10, 2019

While Alteryx provides a wide range of functionality with the available tools, you may find that you perform a specific action that could be better served by creating a custom tool. Custom tools allow for distribution within your organization and environment while still leveraging the speed and flexibilty of Alteryx Designer and Gallery.

A custom tool, or HTML5 Plugin, consists of two components:

  • the GUI, shown in Designer’s Configuration window
  • the Engine, which processes logic to handle records passed to and from the AlteryxEngine

The GUI component must be written in HTML5 using the HTML GUI SDK.

The engine component can be created using one of a variety of back end options, which include:

Prerequisites

Creating custom tools involves working with several SDKs. For this reason, we assume you are familiar with:

  • HTML
  • JavaScript
  • Python, C++, or Alteryx Macros
  • File management

Tool Location

An HTML5 Plugin and its file components reside in the Alteryx installation location: \bin\HtmlPlugins

The name of the directory is used as the label for the tool in Designer.

\bin\HtmlPlugins\MyNiftyPlugin

Tool Files

A custom tool needs the following files to execute correctly. These pages can be built manually, or can be created using the Alteryx Tool Generator.

  • A .xml file to define tool configuration. See Getting Started with Developer.

    \MyNiftyPlugin\MyNiftyPluginConfig.xml

  • A file to define tool function. The file type varies by what back end you use. Options include:

  • A .html file to define tool appearance. See HTML GUI SDK.

    \MyNiftyPlugin\MyNiftyPluginGui.html

  • A .png file to display as a your tool's icon within Alteryx.

    \MyNiftyPlugin\MyNiftyPluginIcon.png

The directory must include all dependencies required by the tool, such as JavaScript libraries, style sheets, and help files.

Build Your Own Checklist

Was This Helpful?

Need something else? Visit the Alteryx Community or contact support.