How to get Butler Rule to execute
Asked by Eric Rosen:

Hi Trello and Butler Pros,

Using Butler for very first time. Created following rule...

*when the name of a card contains "Flaxseed oil", rename the card to "Take: Magic Morning Drink"*

In nearly every list in this board, there is one card containing "Flaxseed oil" where the full name of the card is "Take: Flaxseed oil+Lemon juice + Sunflower lecithin"

As such, the trigger for the rule to execute would appear to have already been met.

Yet, even after reloading the page, it seems the rule has never been triggered given no cards named "Take: Magic Morning Drink" appear anywhere in the board.

In addition to a solution to whatever it is I am overlooking, any answers to the questions below would definitely speed up my learning curve and be greatly, greatly appreciated:

* Does a Rule execute automatically or must I take additional actions to enable it and if so, what actions?  

* Could there be any issues with characters contained in the name or rename portions of the rule or in the full name of the original cards?  

* Does it matter if all of the cards named "Take: Flaxseed oil+Lemon juice + Sunflower lecithin" were already marked Complete before creating this rule?


Answers:
author: milynnus
body: [@Eric Rosen](/t5/user/viewprofilepage/user-id/3986005) do note this for the trigger you are using :

"You can enter {\*} as part of the text to match any sequence of characters or words.

**++Note:++ This will only trigger when you create or modify a card's name or description. It will not work retro-actively for existing cards on the board, or for other members on the board (unless they create and enable their own rule)."**

comments: author: Eric Rosen
body: [@milynnus](/t5/user/viewprofilepage/user-id/3947182), Thank you for suggesting the added flexibility to this renaming effort. If such renaming is meant to be a bulk operation, I'm still a bit confused on how and when the trigger gets executed (particularly if will not work retroactively for existing cards on the board).

My intention is to rename existing cards so as to avoid the labor intensive work of changing them individually. Does Butler offer a means by which to accomplish this?


author: milynnus
body: [@Eric Rosen](/t5/user/viewprofilepage/user-id/3986005) That rule is not for batch renaming. You have to try using collect cards to a checklist and run each card through the process - there may be a solution there.


author: milynnus
body: [@Eric Rosen](/t5/user/viewprofilepage/user-id/3986005) have not found a way to do a text replacement after I collected all the cards containing the required string. Had to use http request to an endpoint that basically does a string replace like

    s.replace(' ', '-')

```
when the green label is added to a card in list "Up Next", collect all cards with a name containing "xyz123" into links in checklist "scan_list" using pattern "[{cardname}]({cardlink})", for each card linked from an item in checklist "scan_list", post to url "https://25368.wayscript.io/butler/?registry=5f216a7f57965.....51&module=5fdf144b1bd53050f926ba71" with payload "{\"input\" : \"{cardname}\" , \"match\" : \"xyz123\", \"replace\" : \"abc\"}", rename the card to "{httpresponse.output}", find a card with link "{triggercardlink}", remove the "scan_list" checklist from the card, and remove the green label from the card?
```

I used a green label to trigger Butler.


Tags: butler