Build Custom Tools

Version:
Current
Last modified: June 15, 2020

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 flexibility of Designer and Gallery.

Custom Tool Components

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

  1. The GUI, shown in Designer’s Configuration window. The GUI component must be written in HTML5 using the HTML GUI SDK.
  2. The Engine, which processes logic to handle records passed to and from the AlteryxEngine. The engine component can be created using one of a variety of back end options, which include:

Prerequisites

Custom tool creation involves working with several SDKs that require familiarity with these:

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

Create a Tool Folder

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

The name of the subdirectory you create is used as the label for the tool in Designer. For example, \bin\HtmlPlugins\MyNiftyPlugin displays as a tool called "MyNiftyPlugin" in Designer.

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.
    • \MyNiftyPlugin\MyNiftyPluginConfig.xml
  • A file that defines tool function. The file type varies by the back end you use. Your back end options include:
  • A .html file that defines your tool's appearance. See HTML GUI SDK.
    • \MyNiftyPlugin\MyNiftyPluginGui.html
  • A .png icon to display as your tool's icon within Designer.
    • \MyNiftyPlugin\MyNiftyPluginIcon.png

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

Was This Helpful?

Running into problems or issues with your Alteryx product? Visit the Alteryx Community or contact support.