Skip to main content

Tool Configuration File

Important

These Legacy SDKs use outdated technology that limits your extension opportunities. We've built a new Platform SDK using Python and the latest open-source technology to deliver a vastly improved development experience. Go to Platform SDK to get started!

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.

Example XML

<AlteryxJavaScriptPlugin>
        <EngineSettings EngineDll="Macro" 
        EngineDllEntryPoint="MyNiftyPlugin\Supporting_Macros\MyNiftyMacro.yxmc" />
        <GuiSettings Html="JavaScriptCountEngine.html" 
        Help="www.example.com/JavaScriptCountGui.html" Icon="JavaScriptCountIcon.png">
                <InputConnection>
                        <Connection Name="Input1" AllowMultiple="False" Optional="True" 
                        Type="Connection" Label="I" />
                </InputConnection>
                <OutputConnection>
                        Connection Name="Output" AllowMultiple="True" Optional="True" 
                        Type="Connection" Label="O" />
                </OutputConnection>
        </GuiSettings>
        <Properties>
                <MetaInfo>
                        <NameIsFileName value="false" />
                        <Name>Hello World</Name>
                        <Description>Designer wants to say hello!</Description>
                        <RootToolName>HelloWorldMacro.yxmc</RootToolName>
                        <ToolVersion>1.0.0</ToolVersion>
                        <ToolInDb value="false" />
                        <CategoryName>SDK Examples</CategoryName>
                        <Author>Alteryx, Inc.</Author>
                        <Company>Alteryx, Inc.</Company>
                        <DescriptionLink actual="" display="" />
                </MetaInfo>
        </Properties>
</AlteryxJavaScriptPlugin>

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