Using wildcards in Butler power-up
Asked by tka_klein:

Hi. I recently started using Butler, so as the Trello folks suggest, I am using it via the Butler power-up rather than the Butler bot. The Butler bot supported wildcards in list names; however, this does not seem to be working using the power-up.

For instance, I used the command creator to make a Button Command that created this command;

move each card in list "{\*}" with a name starting with "Test Card" to list "Ancient Cards" on board "Week Plan Work"

When I run the command, it runs fine--but only on the first list on the left on the board. The other lists are ignored. So the wildcard seems to be accepted, but it is not having the expected results.

Has anyone else gotten wildcards to work with the Butler power-up?

Thanks!


Answers:
author: Vongsawat
body: The 'in list _' attribute is expecting a single list, so when you told it to find {\*}, the first list it found fit all the parameters and it stopped looking.  

At least for the test case, omitting the 'in list _' attribute would work exactly as how you envisioned it.  

Wildcards worked fine last time I used them, just have to keep in mind that the context they're used in is (always?) for getting a singular result instead of many (there are specific Butler commands for the latter, such as the Move Each command you used)  

comments: author: tka_klein
body: Hi. Thanks for that explanation. It answers the question as to why only the first list is getting used.

Unfortunately, I still have a problem.

Atlassian says in [this help item](https://help.trello.com/article/1170-butler-bot-vs-power-up) that they recommend using the Butler power-up rather than the Butler Bot, because they are migrating away from Butler Bot. That post even says, "Future support of the Bot interface is not guaranteed."

So I am using the power-up's command builder which does not allow for as much flexibility when creating commands. As a result, I cannot remove the "in list," since the power-up's command builder puts it there.

So I'm trying to find out if there is a way to use a wildcard when using the power up. Based on your explanation, seems like the answer is no at this time.


author: Vongsawat
body: Board Button \> Move Cards \> Move Each Action  
![image.png](https://community.atlassian.com/t5/image/serverpage/image-id/101061i9AA856CB5529C2B4/image-size/large?v=v2&px=999 "image.png")  

The test case as stated works perfectly fine? It just doesn't require the use of wildcards.  

Perhaps I worded badly there anyways. Wildcards work, its just that they don't change the context of the actions/filters they're inside of. 'In List' expects to filter down to a single list, wildcard usage won't change that. 'Name starting with' expects to spit out multiple cards, and so wildcard use will still output multiple cards. Filtering for cards that start with "Tes{\*}ard" will spit out both Test Card One and Test Bard for instance.  

<br />


author: tka_klein
body: That makes sense. The problem now is that I want to make a command that will move all cards that have been on any list on a particular board for more than 60 days onto a central "Ancient Card" list. Unfortunately, the Command Creator only seems to offer a card age option with the "in list" criteria. Your excellent explanation makes it seem like there is no way to make this work. Here's the Command Creator that I need:

![commandcreator.jpg](https://community.atlassian.com/t5/image/serverpage/image-id/101184i6E19BF2476E216B1/image-dimensions/541x189?v=v2 "commandcreator.jpg")

Do you see a way to do this with one of the Command Creator options?


author: Vongsawat
body: You can get the same "card age in list" functionality with more flexibility with an additional Rule and the Custom Field powerup.  

(Edit: as an aside, my previous wildcard explanation is still pretty bad.. The wildcard usage below I'm guessing works because the actual trigger is the card moving, then it checks the current list fits {\*}. Whereas your screenshot above first looks for a single list {\*}, before checking card age. If that makes sense)  

Set a Rule: When a card is moved in to list {\*}, set date custom field "listEntered" to now.  

Set a Board Button: Use the old Move Each command, with a filter for "listEntered"\>60 days ago (Should probably also add a filter for not in list "Ancient Cards" so it doesn't repeatedly trigger off of old cards)![image.png](https://community.atlassian.com/t5/image/serverpage/image-id/101230i7C7776B662CCD3E5/image-size/large?v=v2&px=999 "image.png")  

There's not a whole lot of flexibility in the card age area in general though, so it can be a bit difficult to finagle a good solution. For instance there's no way (that I know of anyways) to access a "last updated" variable. Its doable, just requires a ton of rules to cover all things you'd consider "editting" which will eat in to operations by a lot. Due Date is another potential avenue as well, but I've been using Custom Fields instead of that so not sure on that.  


Tags: butler

power-up

wildcard