Inspire EMEA 2022 On-Demand is live! Watch now, and be sure to save the date for Inspire 2023 in Las Vegas next May.

Alteryx Designer Ideas

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

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

Submission Guidelines

Featured Ideas

In Powerpoint, you can right-click on a picture and replace it with a different picture without losing formatting.


Similar functionality would be useful for replacing custom macros.

  • I would like to be able to switch an old version of a custom macro with a new version in situ, without losing the connections to other tools, interface tools, or location in a container. 

Currently, the only option is to insert the new custom macro and then reset all incoming and outgoing connections. Some downstream tools (e.g., crosstab) lose their existing settings and that has to be reset too. On complicated workflows, this can introduce silent errors.


This capability would be especially helpful for team coding, where different team members are revising different modules for a parent workflow.



Right-clicking on the canvas shows Insert > Macro > (choose from list of open macros)

Right-clicking on an existing macro shows Open Macro


New functionality:

Right-clicking on an existing macro shows Replace/Change Macro > (choose from list of open macros)



Creating .yxi files currently is a manual and a bit of a fiddly process. It would be great to just have an option in the menu to click which would auto package the macro into a tool installer file.

Example Export.png

There are many circumstances when you have to build an interative macro where it's not just the iterating data set that needs to change every iteration, but also a second data set.

Think about this like a loop where two different variables are updated on every iteration, not just the control variable in the For xxx control variable.


The way that users work around this is to use a temporary yxdb file where instead of a macro input you input from the yxdb, and then write back to the same yxdb.    This allows you to pretend that you can adjust 2 different data sets on every cycle of the loop.    there are 4 downsides to this:
a) User complexity - this breaks the conceptual simplicity of macro inputs since now the users have to understand that in situation X I use macro inputs; and in situation Y I have to use some other type of tool.

b) Speed penalty - writing to disk is between 1000x slower and 1 000 000x slower than working with data in memory (especially if it's in cache) - so by forcing this to go through a yxdb file, you do incur a speed penalty which is just not needed

c) blocking penalty - Because of the fact that you can't write to a file that you're still reading from, you need to pepper this with Block until done tools - and you need to initialize the macro using a first write to the yxdb file outside the macro - which further hurts speed.    Given the nuanced behaviour of block-until-done, this also introduces user complexity issues

d) Self-contained - because you have to initialize these files outside the macro - the macro is no-longer self-contained and portable (which breaks the principle of Information Hiding which is a key pillar of good modular decoupled software design.


The other way that users work around this - is to serialize their entire second recordset into a field which then gets tacked onto the iterating data set using an iterative macro.   This is HIGHLY wasteful becuase then you have to build a serialize & deserialize process for this second recordset.    It fixes the speed and blocking penalites from above, but introduces a computational overhead which is generating no value; and makes this even more complex for users - and a further blocker to using macros.




We could make this simpler by allowing users to create multiple pairs of macro input / macro outputs so that 2 or 3 or n different data sets can be updated with every iteration.



Below is a screenshot demonstrating this, from an Advent of code challenge - the details of the problem are not important - the issue at hand is that there are 2 record sets which both need to be updated on every iteration.


cc: @NicoleJohnson @Samanthaj_hughes @SteveA 




The autorecover feature should also backup macros. I was working on a macro when there was an issue with my code. I have my autorecover set very frequent, so I went there to backup to a previous version. To my great surprise, my macro wasn't being saved behind the scenes at all. My workflow had its expected backups, but not my macro. Please let any extension be backed up by autorecover.



I like to suggest having a Batch Macro Container (besides the existing Container) which acts as a Batch Macro within a Workflow and is stored within the Workflow.


I understand that having a batch macro available as a separate tool can be very powerful and reduces redundant work.  However, very often Batch Macros are set up for a specific workflow only and are of no use for other workflows. The Creation of a Batch Macro in a container will significantly reduce the time to deploy a batch macro and keeps the Macro folder clean of one-time Batch Macros.


Attached a picture of how this could look like





This has probably been mentioned before, but in case it hasn't....


The dynamic input tool is useful for bringing in multiple files / tabs, but quickly stops being fit for purpose if schemas / fields differ even slightly. The common solution is to then use a dynamic input tool inside a batch macro and set this macro to 'Auto Configure by Name', so that it waits for all files to be run and then can output knowing what it has received. 


It's a pain to create these batch macros for relatively straightforward and regular processes - would it be possible to have this 'Auto Configure by Name' as an option directly in the dynamic input tool, relieving the need for a batch macro? 







Idea: Prompt the user to find a missing macro instead of the current UX of a question mark icon.


Issue: When a macro referenced in a workflow is missing, then there is no way to a) know what the name of the macro was (assuming you were lazy like me and didn't document with a comment) and b) find the macro so you can get back to business.


When this happens to me know, I have to go to the XML view and search for macros and then cycle through them until I find the one that's missing. Then I have to either copy the macro back into that location or manually edit the workflow XML. Not cool man.


Solution: When a macro is missing, the image below at the right should be shown. In the properties window, a file browse tool should allow the user to find the macro.










A common problem with the R tool is that it outputs "False Errors" like the following: "The R.exe exit code (4294967295) indicted an error"

I call this a false error because data passes out of the R script the same as if there were no error. As such, this error can generally be ignored. In my use case, however, my R tool is embedded within an iterative macro, and the error causes the iterator to stop running.


I was able to create a workaround by moving the R tool to a separate workflow and calling it from the CReW runner macro within my iterator, effectively suppressing the error message, but this solution is a bit clumsy, requires unnecessary read/writes, and uses nonstandard macros.


I propose the solution suggested by @mbarone ( to only generate an error when the R return code is 1, indicating a true error, and to either ignore these false errors or pass them as warnings. This will allow R scripts and R-based tools to be embedded within iterative macros without breaking.





We all love seeing this.  And, it's fairly easy to fix, just go find the macro and insert a new copy.  But, then you have to remember the configuration and hope that it was simple. 

With the tool that's there, the XML still contains the configuration, all that's missing is the tool path.    It would be great to be able to right click and repair the path from the context of the missing macro.

  • Category Macros

Hey all,


The join tool currently does not allow case-insensitive joins, but the find/replace tool does.    Additionally- even if both sides are identical, the join tool will not join "Sean's house" to "Sean's house" because of the non-letter character in the middle.    Finally - if one side is a string(2), and the other is a vString(200) - even if you have a single identical character on both sides you get uncertain outcomes unless you force the type


Please could you consider amending the join tool to include 3 new options or capabilities:

- Case insensitive join

- Allow full Unicode character set in join

- Full match across text types (irrespective of string size) - this would allow a string(2) value to match to a string(100) value as long as the string(100) value only has the same 2 characters in it as the string(2) value


That would remove a load of work from every text-join that's being done on every canvas we do.


Thank you 




Hello! I'm just wanting to highlight a couple of small issues I've found when trying to use the TS Covariate Forecast.

1. The example workflow does not open. This has been tested on multiple machines with different users. Right clicking the macro allows for the option 'Open Example Workflow':

However the button does not work/do anything. It is listed as a tool with a 'one tool example' ( so i would expect this to work.

2. Fix left/right labelling of input anchors. Currently the anchors are labelled incorrectly (compared with the join tool):


This can make things confusing when looking at documentation/advice on the tool, in which it is described as the left/right inputs.


Hi all,


If you try to use Alteryx to solve simple recursive problems like the Towers of Hanoi; or solving Sudoku - you get this error


Please could we enable Alteryx to allow recursive macros - this would not only be helpful for problems such as Towers of Hanoi - it's also particularly useful for solving problems like walking an HR tree to get to the leaf nodes

Hi there,


My idea comes when I've built an application, where user select filter from drop-down list. However it contains thousands of records, so it takes lot's of time to find desired record.

In Excel and MS Access when you use filter you can put many letter and filter shows rows that match the input. In Alteryx user can only put first letter, which is huge drawback to my users.


This is how it works in Excel:



Hope you like it!

I rarely use the Group By tab on batch macros, but it's unfortunately always the first tab that pops up. When I have a questions tab on a batch macro, it would be great if it appeared first (ie I should see the questions tab when I click on my batch macro.) Thanks!



  • Category Macros

Hi all,


Is it possible to add an option to 'Add an Image' in the settings option of Interface Designer while building Apps or macros?


Currently, we can add Group box, Link, Tab, and Label. It would be really helpful if we can add static images as well!!


This would enable a developer to add an explanatory image just as a link or label is used to communicate to end user.


I am attaching a screenshot for the reference.





Thanks in advance!!



Shreyansh Rathod




Hi there Alteryx team,


When we load data from raw files into a SQL table - we use this pattern in almost every single loader because the "Update, insert if new" functionality is so slow; it cannot take advantage of SSVB; it does not do deletes; and it doesn't check for changes in the data so your history tables get polluted with updates that are not real updates.


This pattern below addresses these concerns as follows:

- You explicitly separate out the inserts by comparing to the current table; and use SSVB on the connection - thereby maximizing the speed

- The ones that don't exist - you delete, and allow the history table to keep the history.

- Finally - the rows that exist in both source and target are checked for data changes and only updated if one or more fields have changed.


Given how commonly we have to do this (on almost EVERY data pipe from files into our database) - could we look at making an Incremental Update tool in Alteryx to make this easier?    This is a common functionality in other ETL platforms, and this would be a great addition to Alteryx.





Thanks you to @JoeM for recent training on macros, and @NicoleJohnson for pointing out some of the challenges.


when writing an iterative macro - it is a little bit difficult to debug because when you run this in designer mode, it only does one iteration and stops.

Could we add the capability to the designer itself to be able to run the second and third iteration using the test data built into the macro input tool?   Even something as simple as an option to run X iterations; or when it's run the first iteration allow me to look at what happened and trigger iteration 2 (or to trigger a run-through to completion) would be immensely helpful.


While you can do this with a test-flow wrapped around a macro, macro development is a bit of a black box because Alteryx doesn't natively have the ability to step into a macro during run-time and pause it to see what's happening on iteration 1 or 2 or n and why it's not terminating etc.   So putting the ability to run in a debug mode would be HUGELY helpful.

  • Category Macros

I decided to get real fancy when building a standard macro the other day. I checked the box on my macro input that made the connection optional:Capture2.PNG




It worked really well. My macro then became more complex, so I changed it to a batch macro. To my great surpise/astonishment/shock, the optional incoming connection is no longer optional:



The standard macro is working as expected on the left, but the batch macro is producing an error because my optional connection is requiring that something be connected to it.



I've been told that the code to make it optional is not there for batch macros and that this would be a product feature/improvement.


  • Category Macros

Hey there,


The performance profiling option on the "runtime" tab is very helpful to identify bottlenecks on a long-running workflow.   However this is missing (along with the entire "Runtime" tab) if I change this to a macro.


Given that the only way to build relatively complex dependant chain jobs is to wrap them in dummy batch macros (using a macro like a sub-procedure with flow-of-control on the master-canvas) - most of our work is done in Macros - so it would be helpful to be able to performance profile them during testing.

  • Category Macros
Top Liked Authors