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
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.