Trello Butler is useless for us, unless there is an OR condition inside a rule
Asked by George Dorgan:

Butler is quite good tool. Thanks to Butler, I upgraded my team to business class.

However it lacks an important functionality, for which I will probably downgrade to Gold again.  
**Requirement:**Move card to a certain backlog, when the name of the card match one of many patterns.

**Example** : Move each card containing *("Autostart" OR "Config, Ini file" OR "Settings")* to list  
*Windows Configuration* on board *Backlog Windows.
Here the list of keywords contains 3 items, but this list may extend to close to 30 per backlog.*

**Limited Functionality in Butler:**

* Only one keyword per Trigger
* When I put multiple triggers inside a Butler rule/button, then these triggers are connected with the AND Condition (e.g. *move each card containing Autostart, move each card containing Config.ini, ... to list...)*
* When there is an OR condition, one must write one rule per keywords  

  You can imagine that writing 500-1000 rules (one per keyword) instead of 10-20 rules using OR lists (one per list in the backlogs), is a pain in the ...  

* **Zapier can do this, but...**   
  It is also astonishing that Butler cannot do this, because 3rd party tools like Zapier, are able to do complex conditions (however having issues to use Trello as a trigger and action, inheriting card names, etc.)  

  ![Zapier can use OR Conditions.png](/t5/image/serverpage/image-id/71767i5A270D7AB412E462/image-dimensions/499x319?v=v2 "Zapier can use OR Conditions.png")

Thanks for some help.

George


Answers:
author: Andrew Fecenko
body: Hi [@George Dorgan](/t5/user/viewprofilepage/user-id/3624962) ,  

This is certainly possible using a regular expression to match the name of the cards you'd like to move.  

You can use the following command which utilizes a regular expression to solve your use case:  
move each card with a name containing "regex:/.\*(Autostart\|Config\|Settings).\*/" to list "*Windows Configuration* "  

Hope this helps!

comments: author: Iain Dooley
body: [@Andrew Fecenko](/t5/user/viewprofilepage/user-id/2621316) I've never seen the "regex:" prefix before! Is that published in the documentation anywhere?


author: George Dorgan
body: Thanks, I had a separate discussion with Trello Support that helped, too.

Sometimes you want to do a X OR Y OR Z AND NOT

when the name or the description of a card contains "regex:/\^(?=.\*(Invoice\|Trello))(?!.\*(Prototype\|BadKeyword)).\*/"

This would trigger for any card that contains the word "Invoice" or "Trello" in its name/description and that does NOT have either the word "Prototype" or "BadKeyword"


author: Andrew Fecenko
body: [@Iain Dooley](/t5/user/viewprofilepage/user-id/1416112) It is not documented anywhere that I know of, but I will confer with the team and see if we can write something up.


author: Jeremy Noble
body: Was there ever any documentation issued on this regex prefix? That's a game changer and I can't think of why it would be hard to find.


author: Bennett Yang
body: Support for regex is definitely a game changer! You really should let more people know this feature.


author: Iain Dooley
body: [@George Dorgan](/t5/user/viewprofilepage/user-id/3624962) here is a Trellinator command that would do what you want above:

<https://gist.github.com/iaindooley/fde1b426df687dee6a950bc44f57038f>

However for the more general case you might create a spreadsheet to hold your keyword list/map for a given board/list to move the cards to rather than creating one function for each case.

You can read more about Trellinator here:

<https://community.atlassian.com/t5/Marketplace-Apps-Integrations/Introducing-Trellinator-Automate-Trello-with-Google-Apps-Script/ba-p/925271#U1212977>


author: Katrin Anger
body: [@George Dorgan](/t5/user/viewprofilepage/user-id/3624962) [@Devon Henderson](/t5/user/viewprofilepage/user-id/1125213)

This request targets one of the features of Butler 1.0 - which is kind of a matter of course for nowadays software.

I appreciate Devon's helpfulness in this matter, but it makes the task unnecessarily more complex and doesn't really hit the point.

I hope the time comes soon that Butler 3.0 gets the upgrades dozens of us are eagerly awaiting.


author: Devon Henderson
body: Hi George!

I thought for sure you could do this in Butler, and just spent half an hour playing with it... and it's true, you can't :(

I tried some additional options (they didn't work, but I'm listing them so you don't waste time trying them, ha!):

```
when a card is added to the board, find a card titled "{*}testing{*}" in list "Incoming", find a card titled "{*}settings{*}" in list "Incoming", and move the card to the top of list "Projects"
```

The wildcards here mean it can have any text before or after the keyword. It works well for, again, one keyword at a time; as soon as you add a second, however, it only looks for the last one and ignores the first. So, that's a dud.

It also doesn't fire on the card that is the trigger card---in this case, the "card added to the board." It only fires on cards already there, so the trigger card won't fire until *another*card is added to the board. If the steps otherwise worked, you could game it to create a "bump" card to fire the rule, but it still doesn't work.

You can duplicate rules, so you could create the rule you made before that only works with one keyword, then duplicate, change keyword, save, duplicate, change keyword, save, etc. Not ideal, but it would technically work. I also imagine performance will degrade with 50+ active rules on a board.

I wish I had a better answer for you. I would suggest emailing feature-ideas@trello.com with this request. I think it's a great feature for Trello and that email goes right to the developers.

comments: author: Katrin Anger
body: answer moved below


Tags: butler

jql

zapier