I haven’t counted how many times I run into that same trap.
I had built a command with Butler for Trello to create a nice little workflow within Trello and was eagerly awaiting its first test-execution. And then … nothing happened.
‘Why not?’, have I thought? A few more moments I had waited, a minute maybe. Still nothing.
The command had a green checkmark sticker, so there certainly wasn’t anything wrong with it. Butler said it ‘Understood.’, so I relied on that. But still – nothing happened. The command wasn’t executed and my pretty little workflow was nothing but thin air.
Today I want to talk about the #1 mistake people are making with Butler for Trello. Butler for Trello is a little automation tool that helps you to take the boredom out of your Trello boards because it can do all these little tedious tasks you otherwise have to do by hand. Like moving a card from list A to B, adding a label to a card, adding due dates, etc.
Butler for Trello is a very flexible, light-weight tool that brings a breath of fresh air into Trello, allowing you to customize your boards even more and accelerate your productivity in a way not thought to be possible. Not only is it easy to use as the commands are written in plain English, it is also astonishingly reliable and flexible in what it can accomplish.
With that having said, there is an obstacle that newbie user are running into quite regularly. This little hurdle is officially called “Command Chaining”. And indeed, this mistake is so profound, that it can cause any well-thought-out workflow not to “flow” because … because Butler keeps ignoring it.
In this article, I want to dive a little deeper on it and offer a few general strategies out of that dilemma.
Command Chaining in Butler – A Quick Explanation
First, let’s shed some light on what command chaining actually is.
Command chaining is a strategy to concatenate several commands, based one the successful execution of its predecessor.
Let’s start with an example.
Say, I have a simple command that adds a red label to a Trello card two hours before the card gets due.
Now, let’s say I want to create a little workflow and want to move the card to a certain list once a red label is added to this card. For that, I would create a second command that could look like this:
This looks like a very innocent situation. Both commands are easy to understand and the workflow itself is not complex at all. The sequence is “shortly before a card gets due, a red label is added” => “when the red label is added, the card is moved to another list”
But, this is the strategy that is called “Command Chaining”, because these two commands depend on each other.
The problem here is that Butler recognizes when an action was executed by himself, and he refuses to have his previous actions misused as a trigger for a new action. The Butlerbot does not react on its own actions.
That’s the quintessence behind “Command Chaining”, and this needs to be understood in order to resolve the problem.
Whilst it might not be immediately evident what the problem is when chaining together the two above commands, I am going to give you another example that makes the underlying problem more obvious. (Let’s just not think too much about if anyone would really do that. It’s about the technical possibility and implications of setting up a command in a certain way, and the underlying potential for misuse. Yes, there are beings who test the limits of what is allowed and don’t care much about disobeying rules!)
Imagine, you have created two separate command cards:
Card 1: when a card is moved to list “A”, move it to list “B”
Card 2: when a card is moved to list “B”, move it to list “A”
What would happen in this case?
Whenever a card is moved to list “A”, it would be moved to list “B”, then back to list “A”, then to “B” again, and so forth.
There would be a loop happening that would go on forever and ever – respectively until your weekly budget is used up – or your account gets cancelled because you violated the rules of the tool.
From the user’s perspective, the user’s budget would be eaten up in no-time.
From the tool’s perspective, there would be a significant usage of the tool’s server capacity, that – if only a few users would do something like this – slows down the server’s performance and gives all users a bad experience. Such a looping would create no value to anyone but everybody would be affected by it.
For this reason, Butler for Trello was programmed to not react on its own actions.
4 Ways to Solve Command Chaining in Butler for Trello
I myself had run into this command chaining issue multiple times when I started out.
It’s a little nerve-wracking when you realize that a well-thought-out workflow plan isn’t going to work and you’d have to start thinking through the full workflow sequence again. But let’s take that like sportsmen, ok? It’s part of the learning curve we all have to master, and a few more rounds of thinking through workflows are like extra training sessions. It strengthens the muscles.
The workarounds I am going to introduce to you today to circumnavigate command chaining in Butler, do differ somewhat in their strategic approach. Whilst all four options help you to avoid the calamity of Butler commands not being executed, there is one that is probably the right fit for most cases.
The first workaround is and remains the one that is most often used to debug Butler’s command rejection.
But, all four solutions do have a point and can be used when the Butler seems to ignore you.
1. Merge two (or more) Commands
When the root of all problems is the split-up of actions, the solution is simply to merge the two commands.
In regards to the previous example:
… the solution is to create a single command that embraces both command actions by concatenating them with “and“:
This is as easy as it sounds.
You can indeed add more than a handful of actions to one command. If your workflow consisted of three or four commands that Butler didn’t execute, you can merge all these command actions into one single command.
But yes, there are limits to how many actions a command can encompass.
At the time of writing, free accounts have a limit of 20 actions that can be appended whilst the limit for paid accounts is 40 actions per command.
In my eyes, that’s a pretty big number and should be more than sufficient. However, if you find yourself tinkering on a sophisticated workflow and these limits are a threshold to your plans, you may combine this tactic with one of the following approaches.
2. Use the Butler Power-Up
In my introductory article about Butler for Trello, I already mentioned the two different ways Butler can be used on a Trello board. The one – and the more popular one – is the ButlerBot. The other is the Butler Power-Up.
Now, the Power-Up is a little different and a has fewer features than the ButlerBot, but it can close the gap the ButlerBot tore open because of its persistent refusal to act on its own actions. And the reason for this is, that the Butler Power-Up uses a different user.
When using the Power-Up to execute commands, the user they appear to be executed with is you! It’s not the user ButlerBot anymore, but you – the one the Trello board belongs to. This little significance opens the doors to command chaining in Butler! Power-Up rules do chain amongst themselves and using the Power-Up in tricky cases of Butler not reacting on its own actions, might be the way out of the dilemma!
3. Combine ButlerBot & Butler Power-Up to create Workflows
In this workaround, the Butler Power-Up plays again a significant role. When both Butler options are combined, sophisticated workflows can be created that circumnavigate the command chaining issue in Butler in elegant ways.
The ButlerBot is its own member to your Trello board and everything that it executes is marked as executed by the user @ButlerBot.
When the ButlerBot finds a trigger in command, it always asks: “Is this trigger something I executed at some point in time?”
- If yes, then give me a break.
- If no, then let’s go.
The Butler Power-Up, on the other hand, acts as yourself.
So, when you use the Power-Up first for executing a command and the ButlerBot second, you can create workflows that the ButlerBot will execute. The ButlerBot’s previous action appears as executed by a different user and thus, the command chaining trap doesn’t apply.
Conclusion: When the two previous approaches don’t really cut it for you, maybe installing the Butler Power-Up on your board is the most elegant way to circumnavigate this limitation.
4. Use Due Dates and Labels to outsmart the ButlerBot
I admit this approach is only usable in individual cases. To outwit the ButlerBot you will have to set up two separate commands that rely on a trigger combination of due dates and labels.
At first, you would have to set a due date for a card and add a certain label to this same card.
And then you would have to create a command that triggers when a card with this label gets due and runs the action(s) that previously were not executed because of the command chaining issue.
I know, this solution doesn’t sound very appealing. But you never know … maybe there is a way that it could work for you.
Over to You
As I said, I have run into this command chaining issue several times and I assume it happens to all of us when designing workflows for our Trello boards. I would really love to hear your experiences and creative solutions when this was an issue for you. Would you mind to share in the comments below?
If you would like to learn more about how to use Butler for Trello to automate your Trello boards, you can enroll in a free online course I created that presents you all the basic information and is regularly updated.
There is also another course that responds to the more specialized needs of Trello users who want to use one single master board that collects and syncs with several client (or slave) boards. I am mentioning this because this online course delivers a set of advanced features that you cannot find somewhere else. It circumnavigates the issue of command chaining in Butler completely.
The features that stand out in this Master-Client Board Setup are
- an automated Card Copying System between the superordinate and the subordinated boards,
- a full mirroring & syncing of cards between these boards,
- plus two more features
This course Automated Master-Client Boards for Online Entrepreneurs will launch soon.
You can sign-up for the “be-the-first-in-queue” mailing list and get information on this and other creative and highly useful products around Butler that shortcut your efforts and provide well thought-out and tested solutions for the modern online entrepreneur.