Package a Tool

The .yxi file format is an alternative to a .zip archive that displays an installer dialog, providing metainfo to the user about the tool being installed. Use .yxi packaging to package custom tools for distribution to other Alteryx users.

When installed, Designer extracts the .yxi contents to one of two paths, based on the selection by the user:

  • to the user path %APPDATA%\Alteryx
  • for all users on the machine %ALLUSERSPROFILE%\Alteryx

When installed for all users, the installation excludes files in the root of the .yxi archive.

Package configuration file

Each tool being distributed by .yxi must contain a Config.xml file in the root. This file provides the information needed to ensure the tool is corrected installed into Alteryx Designer. The file contains the metainfo for:

  • the installer icon
  • the installer name
  • the category the installed tools appear in
  • the installer version
  • the tool's author
  • the description of the installer contents

Image pixel limitation

Icons have a 171 x 171 pixel size limit. If your image is not rendering on the canvas, try adding a transparent border around the icon.

Package creation

  1. Create a .zip file with the folder structure:
    • Tool folder: a folder containing the custom tool assets. Include one folder per tool being installed. See Getting Started with Developer for information about the contained assets.
      • Tool configuration .xml file
      • Tool icon .png file
      • Tool engine file or Supporting_Macros folder
      • Tool .html GUI file
      • Optional: You can separate JavaScript from your .html file into a separate .js file
    • Package Config.xml file: a file at the root of the .yxi used to configure the installer dialog.
    • Package icon .png file. This can also be the icon inside the tool folder.
  2. Rename the .zip file 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.