Bring your best ideas to the AI Use Case Contest! Enter to win 40 hours of expert engineering support and bring your vision to life using the powerful combination of Alteryx + AI. Learn more now, or go straight to the submission form.
Start Free Trial

Alteryx Designer Desktop Ideas

Share your Designer Desktop product ideas - we're listening!
Submitting an Idea?

Be sure to review our Idea Submission Guidelines for more information!

Submission Guidelines

Featured Ideas

It would be nice to have a visual cue for a detour tool's configuration. This is especially the case when testing with several detour tools in a workflow - see the cleanse.yxmc screenshot below. I added an annotation to one of the detour tools as a possible solution.

 

Any of these options that would save the additional click would be appreciated.

  • Default annotation shows "Detour left" or "Detour right"
  • Detour outgoing wire highlighted (mentioned in Detour dashing)
  • Detour direction outgoing anchor that is NOT used is grayed out
  • Detour direction outgoing wire that in NOT used is grayed out
  • Detour tool has a left/right toggle
  • Detour tool changes color when set to detour right

Personally, I prefer that the outgoing anchor and outgoing wire not in use be grayed out. But even the default annotation stating the direction would be helpful.

 

Does anyone else have a preference or other ideas on the visual cues?

 

Detour in cleanse tool.png

0 Likes

Not sure if API/SDK is the appropriate portion of the product that this enhancement would pertain to, but I thought that it was the most fitting option available.

 

I understand this is a long shot and would probably never happen, but I think it would be super cool if Alteryx had tools for blockchain development and web3 interaction.

 

The blockchain space is a complicated space, and every blockchain is a little bit different. So I am not sure exactly sure what this would even look like. But I imagine tools like connect wallet, query events, write transactions or other common blockchain actions.

 

I think as the blockchain space continues to grow, there is going to be an continued increase in interest in developing blockchain applications including companies that want to use blockchain.

 

With the state the blockchain industry is in at the moment, I am sure most people reading this would think its crazy, but if the blockchain industry does prevail in the long term, which I think it will, this could definitely be something to keep on the radar.

 

Think big!

Providing access to the Oracle Cloud for OTM would allow users to connect to the API's to deliver data sets from the Cloud and use it for workflow and other data management activities.

0 Likes

RSA Encrypt data within the workflow prior to sending to an external API, and decrypt response.

The C API for e1 is included in the Designer Desktop installation. The new AMP engine must have a C API as well, but it has not been released publicly.

 

Let tool and SDK makers create custom tools that plug into the AMP engine by releasing the specifications of the AMP C API.

0 Likes

When you first pull the the download tool onto the workspace the password on the connection Tab is already populated plus you don't see a cursor when you click in the box!  you only see a cursor if click in the box and then type.  Can you please change this so it behaves the same as the the username box and leave it blank?

Hello,

 

I would like to suggest the ability to manage our virtual environment for Python modules within Alteryx. Some current workflows I am building would be far easier and more secure if I had access to the virtual environment that the Python code would run in.

 

Uses for modifying the virtual environment:

     1) Setting environment variables in order to hide API Keys/DB credentials/etc.

     2) Installing private GitHub repository packages into the environment.

     3) Creating repeatable and easily maintainable ways to manage dependencies. 

 

It would be important that these virtual environments have a way to persist onto Alteryx Gallery, so that workflows behave identically on local machines as they would on the server. This could potentially be done though a requirements.txt file or some other environment initializer, but I'll leave the implementation to the experts. My preference would be for each workflow to contain their own virtual environment (as is best practice when developing Python scripts). 

 

Thank you,

Hi:

 

I believe the ability for Alteryx Designer to read from/write to parquet files will enhance its capability to serve the DSML community better. Potentially someone can design this connector as part of the App community but given the importance parquet file formats have gained as a columnar storage format (as opposed to something like Avro - which is a row storage format), Alteryx supplying native connectors to such files would be awesome. 

 

Thank you,

Shiva Badruswamy

Principal Architect - DSML

Stratascale

0 Likes

Thinking you're able to open the config file like you might a macro. You pull it open, adjust/modify it , you resave it. 

Hello all,

I really appreciate the ability to test tools in the Laboratory category :

simonaubert_bd_0-1672223871200.png



However, these nice tools should go out of laboratory and become supported after a few monhs/quarters. Right now, without Alteryx support, we cannot use it for production workflow.

simonaubert_bd_1-1672223991592.png



Example given :
Visual Layout Tool introduced in 2017
https://community.alteryx.com/t5/Alteryx-Designer-Knowledge-Base/Tool-Mastery-Visual-Layout/ta-p/835...

Make columns Tool also introduced in 2017
https://community.alteryx.com/t5/Alteryx-Designer-Knowledge-Base/Make-Columns-Tool/ta-p/67108

Transpose In-DB in 10.6 introduced 2016
https://help.alteryx.com/10.6/LockInTranspose.htm

etc, etc...

Best regards,

Simon

Alteryx hosting CRAN

 

Installing R packages in Alteryx has been a tricky issue with many posts over the years and it fundamentally boils down to the way the install.packages() function is used; I've made a detailed post on the subject. There is a way that Alteryx can help remedy the compatibility challenge between their updates of Predictive Tools and the ever-changing landscape that is open-source development. That way is for Alteryx to host their own CRAN!

 

The current version of Alteryx runs R 4.1.3, which is considered an 'old release', and there are over 18,000 packages on CRAN for this version of R. By the time you read this post, there is likely a newer version of one of these packages that the package author has submitted to the R Foundation's CRAN. There is also a good chance that package isn't compatible with any Alteryx tool that uses R. What if you need that package for a macro you've downloaded? How do you get the old version, the one that is compatible? This is where Alteryx hosting CRAN comes into full fruition.

 

Alteryx can host their own CRAN, one that is not updated by one of many package authors throughout its history, and the packages will remain unchanged and compatible with the version of Predictive Tools that is released. All we need to do as Alteryx users is direct install.packages() to the Alteryx CRAN to get our new packages, like so,

 

 

install.packages(pkg_name, repo = "https://cran.alteryx.com")

 

 

 

There is a R package to create a CRAN directory, so Alteryx can get R to do the legwork for them. Here is a way of using the miniCRAN package,

 

 

library(miniCRAN)
library(tools)
path2CRAN <- "/local/path/to/CRAN"
ver <- paste(R.version$major, strsplit(R.version$minor, "\\.")[[1]][1], sep = ".") # ver = 4.1
repo <- "https://cran.r-project.org" # R Foundation's CRAN
m <- available.packages() # a matrix of all packages and their meta data from repo
pkgs4CRAN <- m[,"Package"] # character vector of all packages from repo
makeRepo(pkgs = pkgs4CRAN, path = path2CRAN, type = c("win.binary", "source"), repos = repo) # makes the local repo
write_PACKAGES(paste(path2CRAN, "bin/windows/contrib", ver, sep = "/"), type = "win.binary") # creates the PACKAGES file for package binaries
write_PACKAGES(paste(path2CRAN, "src/contrib", sep = "/"), type = "source") # creates the PACKAGES files for package sources

 

 

It will create a directory structure that replicates R Foundation's CRAN, but just for the version that Alteryx uses, 4.1/. 

 

Alteryx can create the CRAN, host it to somewhere meaningful (like https://cran.alteryx.com), update Predictive Tools to use the packages downloaded with the script above and then release the new version of Predictive Tools and announce the CRAN. Users like me and you just need to tell the R Tool (for example) to install from the Alteryx repo rather than any others, which may have package dependency conflicts.

 

This is future-proof too. Let's say Alteryx decide to release a new version of Designer and Predictive Tools based on R 4.2.2. What do they do? Download R 4.2.2, run the above script, it'll create a new directory called 4.2/, update Predictive Tools to work with R 4.2.2 and the packages in their CRAN, host the 4.2/ directory to their CRAN and then release the new version of Designer and Predictive Tools.

 

Simple!

Currently the only way to do IF / FOR / WHILE loop is either in Formula tool or via iterative/batch macro.

Instead, it will be hugely useful and a lot more intuitive if there is the ability to build the FOR / WHILE logic embedded in a container (similar to LabVIEW interface https://www.ni.com/en-sg/support/documentation/supplemental/08/labview-for-loops-and-while-loops-exp...).

Advantages include:

- Increased readability. (not having to go into a macro!)

- Increased agility. (more power/ features can be added or modified on the go for something that is more than a Formula tool but not too much interface like a Macro App)

- More intuitive

 

Dawn.

 

Hi all, 

 

I'm trying my best to think of the most secure way to do this and struggling within Alteryx using the Download tool in its current format. 

 

I am using an Internal API Manager to retrieve data but this particular API requires additional "Headers" values for username and pw beyond my standard OAuth2 flow to the API Manager. Now I can run this locally but in order to save this down to our network as a workflow or to ideally run it from Gallery I should not be leaving credentials in open text anywhere so that anyone looking at the workflow or the underlying xml can grab these creds. Surely quite an easy one to mask or can this be made more dynamic to retrieve credentials from a Key Vault for example? e.g. Azure Key Vault?

 

Can we add masking to the Download Tool Header Values?

 

Thanks,

Ciaran

The Idea behind the Password Masking is - we have "Download Tool" from the "Developer Tab" - which is used to Download files from the given site. For example, let's take Mainframe. I have a scenario where the Alteryx Workflow should connect to the Mainframe FTP Server, download the required file which is used for downstream transformation. For the download, I get the Username and Password information from the Database table (to reduce manual intervention and prevent errors). While passing the Username and Password as a parameter to the Download Tool Macro (Custom Macro - accepts the Username/Password, Filename dynamically) - the Alteryx Workflow will obviously show the username and password in the result window (as it is considered as an output data from Input Tool). Now I want that particular password field to be masked, so whenever the particular Workflow is shared to the User - the password field remains unexposed. I know there's a way to mask a particular field using "MD5 HASH" formula, but that helps to mask anything related to Dataset and not a password (as it may consider it as a new string and not a valid password). This feature would be really beneficial to Developers who use the download tool often. A New Tool or a Custom Macro - embedding this feature would be great for users who needs Masking functionality.

0 Likes

It would be cool if we could just drag the normal input tool and drop it on the Dynamic Input, so we could set the template, and save the clicker finger....  It would be even cooler if Alteryx didnt need a template, but thats a different story.  This seems like an easy attainable feature upgrade.  Keep rocking, Alteryx!

If a tool fails, there should be a way to customise the error message. Currently a way to do it: log all messages in a file, read that file with another workflow, then customise the messages (Alteryx workflow error handling - Alteryx Community). However, there should be a more convenient solution. We should be able to:

- Find/replace parts of a message.

- Specify, which tools messages to modify.

- Change the message type.

- Change the order of the messages in the results window, to prioritise the critical ones.

- Pick which messages cannot be hidden by "xxx more errors not displayed".

 

This would especially help for macros, as sometimes we have a specific tool failing within a macro and producing a non-user friendly message.

When switching modes sometimes it reboots and looses all the code:

Python Tool Bug.gif

Here's a sample of what you get if no records are read into a python tool:

 

Error: CReW SHA256 (4): Tool #1: Traceback (most recent call last):
  File "D:\Engine_10804_3513901e8d4d4ab48a13c314a18fd1f9_\2f1b1eb4701e445775092128efe77f76\workbook.py", line 7, in <module>
    df = Alteryx.read('#1')
  File "C:\Program Files\Alteryx\bin\Miniconda3\envs\DesignerBaseTools_venv\lib\site-packages\ayx\export.py", line 35, in read
    return _CachedData_(debug=debug).read(incoming_connection_name, **kwargs)
  File "C:\Program Files\Alteryx\bin\Miniconda3\envs\DesignerBaseTools_venv\lib\site-packages\ayx\CachedData.py", line 306, in read
    data = db.getData()
  File "C:\Program Files\Alteryx\bin\Miniconda3\envs\DesignerBaseTools_venv\lib\site-packages\ayx\Datafiles.py", line 500, in getData
    data = self.connection.read_nparrays()
RuntimeError: DataWrap2WrigleyDb::GoRecord: Attempt to seek past the end of the file

 

I've fixed this in my macro by forcing a DUMMY record into the python tool (deleting it on the back-end).  It would be much nicer to have error handling that prevents the issue.  Even as a configuration option, what to do with no input this would simplify things.  

 

This error condition potentially effects every python tool created.

 

Cheers,

 

Mark

I would to suggest to add a configuration in the Block Until Done tool, which allow the user to prioritize the release of a data stream through multiple Block Until Done tools in the same module. 

 

In the example below, the objective is to update multiple sheets in a single Excel workbook. Each sheet is a different data stream, that cannot be unioned together, therefore making the filtering of a single stream feeding into multiple Block Until Done from that filter solution impossible.

 

What I would like to be able to do is have a configuration, where Block Until Done #2 will not allow the data stream to pass through until Block Until Done #1 is complete, Then Block Until Done #3 will not pass through the data stream until Block Until Done #2 is complete, and so forth through the all the Block Until Done instances. 

 

ScubaGeek_0-1654554889263.png

 

0 Likes

i using dynamic input tool a lot. when reading list of sheet. i will simply put a.xlsx|||Sheet1 (as random file name)

 

However, when it run in the workflow. it will verify the existing file (A.xslx) instead. it will stop due to error (old file not found)

 

suggestion:

1. verifying new path (file) and not old path (file) , or

2. option to ignore error

 

Top Liked Authors