Quick Start with Custom Tools

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

To demonstrate the process of creating a new tool, we will use a Hello World example so you can meet Alteryx Designer. Download the complete example to follow along.

  1. Create a workspace.
  2. Inside your workspace, create a folder with the name of your tool.
  3. \HelloWorld
  4. Create an icon to represent the tool within Alteryx. Save the icon inside the tool folder.
  5. \HelloWorld\helloWorld.png
  6. Create a file that contains the Graphical User Interface (GUI). This file is constructed using HTML and JavaScript. For more information on how to create and manage the data pulled from the GUI, see HTML GUI SDK.
  7. Save the GUI file inside the tool folder.
  8. \HelloWorld\HelloWorldGui.html
  9. Choose which back end you want to use for your tool.
    • Alteryx Macros: To use an Alteryx Macro, see Macro.
    • Open Alteryx Designer and navigate to the Interface category. Use these tools to create the connection between the HTML interface and the macro. Ensure the workflow type is set to a macro. Download the Hello World macro engine example.

      Save your macro in a \Supporting_Macro folder within your tool folder.

      \HelloWorld\Supporting_Macros\HelloWorldMacro.yxmc
    • Python: For installation instructions or information on how to use the Python SDK, see Python SDK.
    • Save your Python engine file in the tool folder.

      \HelloWorld\HelloWorldPythonEngine.py
    • C++: For information on how to use the C++ SDK, see C++ SDK.
    • Save your C++ engine file in the tool folder.

      \HelloWorld\HelloWorldCPlusPlusEngine.cpp
  10. Create a tool configuration file. This file contains the information that Designer uses when installing the tool, such as the tool name and the category in the tool palette. It also contains the location of the files that comprise the tool engine and GUI. See Tool Configuration File.
  11. If your tool uses the Python SDK as its engine, the tool name, as defined in the <Name> tag of the configuration file, cannot contain spaces or special characters. For legibility, camel case is recommended.

  12. Save the tool configuration file in the tool folder.
  13. \HelloWorld\HelloWorldConfig.xml
  14. Create a package configuration file. This .xml file contains the information that displays in the installer, such as the tool name, the icon that will display, and what category to expect the tool to appear in once installed. See Package a Tool.
  15. Save the package configuration file at the same level as the tool folder.
  16. \Config.xml
  17. Package your files in a .yxi for distribution. The .yxi file installs your tool in Alteryx Designer. See Package a Tool.
    1. Zip the tool folder and the package configuration file into a zip folder.
    2. Rename the zip folder to have a .yxi extension.

Build your own tool checklist

Create a folder with the name of your tool. See Build Custom Tools.

Create icon and save it inside the tool folder. See Build Custom Tools.

Create a GUI file and save it inside the folder. See HTML GUI SDK.

Create your back end and save it inside the folder. See C++ SDK, Macro, and Python SDK.

Create a configuration file and save it inside the folder. See Tool Configuration File.

Create a package configuration file and save it with the folder. Package a Tool.

Package the package configuration file and tool folder as a yxi. See Package a Tool.