Tool Configuration File

Each plugin requires a configuration file, gui file, engine file, and tool icon. See Build Custom Tools.

The configuration file name must be the directory name with the suffix Config and the file extension .xml.

\bin\HtmlPlugins\MyNiftyPlugin\MyNiftyPluginConfig.xml

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.

The file must contain the tag <AlteryxJavaScriptPlugin> with two children:

  • EngineSettings element: How the plugin interacts with the Designer engine.

    Attribute Required Settings
    EngineDll Yes

    Set to Macro if the back end is an existing macro.

    Set to the name of the plugin if using any other plugin's Dll.

    EngineDllEntryPoint Yes

    If EngineDll is set to Macro, set to the name of the macro file.

    Otherwise, set to the name of the function entry point in the corresponding engine plugin.

    The file must adhere to the Engine Plugin API.

    SdkVersion Yes Set to any valid version number, such as 10.1.
  • GuiSettings element: How the plugin interacts with the Designer GUI.

    Attribute Required Settings
    Help No

    Leave blank to reference HTML-<plugin_directory_name>. If the directory name contains spaces, the spaces will be removed when generating the file name. The directory name cannot contain :/?#[]@!$&'(,;=

    Set to the full URL for a custom help page.

    Html Yes Set to the name of the HTML5 file containing the GUI component of your plugin.
    Icon No Set to the name of a .png file containing your plugin's icon.
    SdkVersion Yes Set to any valid version number, such as 10.1.
  • OutputConnections element: Define parameters for output data streams.

    Attribute Required Settings
    Name Yes The name of the Input tab.
    AllowMultiple No Set to True to allow multiple connections on a tab.
    Optional No Set to True if the connection is optional.
    Type No Set to Connection.
    Label No Set to a single character to create a label for the input connection.
  • InputConnections element: Define parameters for incoming data streams.

    Attribute Required Settings
    Name Yes The name of the Input tab.
    AllowMultiple No Set to True to allow multiple connections on a tab.
    Optional No Set to True if the connection is optional.
    Type No Set to Connection.
    Label No Set to a single character to create a label for the input connection.

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.