Inspiration

I used Trello to track my development projects. At some point, I realized I was doing a lot of repetitive actions, and decided to look into solving it.

I created a simple bot that would allow you to do a few Trello things automatically, and made an announcement in the Trello subreddit. It had a very positive reception, which made me think there was a need to be covered.

But the bot wasn't integrated in Trello and it was hard to use. So I decided early on that I would write a Power-Up, but it took me a long time to figure out how to fit automation into the Trello UI. Eventually, it clicked: the Power-Up experience is all about integrating fully with the UI, and one of the most powerful capabilities that Power-Ups allow is the integration of custom buttons in the UI.

So, using the experience learned on the bot, I built the Power-Up relatively quickly, and we finally launched it in June 12th this year with very good feedback.

What it does

The Butler Power-Up lets you add contextual buttons to Trello that, when clicked, perform automated series of actions. For example, a button show in a card can move it to the "To Do" list, add me as a member and post a comment.

I also added actions that are not available in Trello. For example, you can copy or move one or more cards randomly selected from a list, or sort a list by due date, title, time in list, labels or a custom field.

Importantly, you don't even need to create the buttons. The Power-Up is able to gather statistics of your Trello usage and recommends buttons specifically for you and for each particular board.

Buttons can be shared with other team members so teams can apply consistent processes and everyone can improve their productivity with minimal effort.

How I built it

The server runs on node.js on AWS Lambda. I don't tend to use many frameworks or libraries so most of it is hand-written JavaScript. I make full use of the facilities provided by the Power-Up API, such as data storage at the board and team level. I store other data on DynamoDB.

Challenges I ran into

Trello is surprisingly flexible, and from the early start it was obvious that every person uses in their own way and wants to automate different things. So a big problem was how to provide all these options without creating a monstrous and hard-to-use user interface. I solved this by using a natural-language user interface, in which the user basically writes English sentences describing what she wants to do.

Accomplishments that I'm proud of

I'm proud of the level of integration accomplished. The button experience feels natural and being contextual is pretty darn useful. It's a testament to how well the Trello Power-Up API is built that I was able to integrate this deep.

I'm also proud of the flexibility and power that the product offers. It's relatively easy to create single-function power-ups, but it's extremely hard to make something that allows so many combinations with a reasonably simple user interface. I don't think there's anything like this in any other project management platform.

What I learned

As mentioned before, Trello hides surprising power and flexibility in an apparently simple package. I learned a lot from seeing all the different ways people use Trello for different applications, from managing household chores to organizing small assembly lines. Our users include lawyers, estate agents, car repair shops, virtual assistants, software project managers, ... you name it!

What's next for Butler for Trello

We will continue to expand what it does, in particular the range of actions that it can perform.

There's also going to be major new features that will make it even more useful. Without giving away too much, we plan to add the ability to show or hide buttons depending on certain conditions, such as which list the current card is in. Also, the ability to automatically add due dates to cards based to text typed in them, and have commands that are triggered by due dates.

Built With

+ 16 more
Share this project:

Updates