ALTERYX INSPIRE | Join us this May for for a multi-day virtual analytics + data science experience like no other! Register Now
2 Day Countdown - The Alteryx Community will be temporarily unavailable for a few hours due to scheduled maintenance starting on Thursday, April 22nd at 5pm MDT. Please plan accordingly.

Dev Space

Customize & extend the power of Alteryx. SDKs, APIs, custom tools, and more!

HTML GUI SDK: Show options only if incoming connection is present

10 - Fireball

Hey dev community,


I'm currently working on a tool using the Python and HTML GUI SDK. The tool has an optional input. And depending on whether there is an incoming connection or not, I want the tool UI to show additional settings. To achieve this, I have the following in my Gui.html:



Alteryx.Gui.BeforeLoad = (manager, AlteryxDataItems, json) => {
    // Display incoming settings only if there is data incoming
    var hasIncomingStream = manager.getIncomingFields().length > 0
    window.document.getElementById("incoming-settings").hidden = !hasIncomingStream



It works well and as intended: When I connect an incoming stream, the element with #incoming-settings is shown and hidden otherwise.


There is one instance, though, when the above does not work: When having an incoming connection present (see screenshot), but just having loaded the workflow. In this case, metadata is not yet available and the GUI does not show the #incoming-settings:

Screenshot 2019-08-02 at 10.58.06.png

When I run




in Devtools, I see that the Array has one item, but it seems not to be present when BeforeLoad(...) is called:

Screenshot 2019-08-02 at 11.00.18.png


 Is this a known bug? Or is there a more reliable way to check for the presence of an incoming connection?





6 - Meteoroid

I have a similar use-case, where I want to display parts of the UI when there are incoming connections, but when there are not, they are not needed.  I can neither find something that can accurately determine whether there are incoming connections nor can I find one to determine if the config routines have been run.