Auto-update checklist items based on cards and their labels in a list
Asked by nxtcristian:

I have a workflow that separates discussion cards into 2 lists named "BUGS" and "FEATURES". When items in those lists get a "DONE" label, they are moved to the list "COMPLETED".  

I also have a card named "NEXT", with two checklists named "BUGS" and "FEATURES". which tracks the cards in the all 3 lists "BUGS", "FEATURES" and "COMPLETED" (items in "COMPLETED" have a checked item, others are unchecked). I have a card button that does this. The card is unique in the board, and so are the checklists it contains.

The current implementation of the card button does the following:

```
- remove all items in checklist "BUGS" on the card
- collect all cards in list "COMPLETED", with a "BUG" label, into links in checklist "BUGS"
- check all items in checklist "BUGS" (checking all bugs that have been fixed)
- collect all cards in list "BUGS" into links in checklist "BUGS" (these are the not-done items, should be unchecked)
- remove all items in checklist "FEATURES" on the card
- collect all cards in list "COMPLETED", with a "FEATURE" label, into links in checklist "FEATURES"
- check all items in checklist "FEATURES" (checking all features that have been implemented)
- collect all cards in list "FEATURES" into links in checklist "FEATURES" (these are the not-done items, should be unchecked)
```

With this question I am looking for 2 things:

1. I would like to optimise the above process. It is slow, I can see the items being removed, added and checked every time I press the card button to update those checklists.  
Does anyone have a better solution for the process?

2. I would like this process to be completely automated through a board rule, such that, adding/removing cards or labels in the 3 lists (mentioned above), the items in checklists in the "NEXT" card would automatically get updated (items added/removed, checked/unchecked). Yes, the above process can be implemented as is through a board rule, but you can figure out that moving 2-3 cards around would already trigger the slow process a few times, with even slower results.  

Does anyone have any solutions?


Answers:
author: Iain Dooley
body: [@nxtcristian](/t5/user/viewprofilepage/user-id/3695606) in terms of speed things are always going to be a little slow whether you're using Butler or the API. If you've gotten most of the way with Butler but need more advanced functionality and you're a coder you might like our product BenkoBot:

<http://www.benkobot.com/>

You can see full docs for the bundled Trellinator library here:

<http://docs.trellinator.com>

but it also lets you make arbitrary HTTP requests and recieve webhooks from any service.

There's some examples and a "crash course" document on our community board:

<https://trello.com/b/IoHmhz5c/benkobot-community-board>

comments: author: jfischer
body: This sounds cool. I'll check it out, but I have to disagree a little bit with the API being slow(er). In my experience my API executions have always been much faster than Butler. I have them running locally with a listener and I even have some running on AWS Lambda and they have not disappointed.

Incidently, what would make Benkobot or Trellinator faster than Butler or raw API calls? Isn't it ultimately just doing API calls under the hood? Or do you have something special going on?


author: nxtcristian
body: [@Iain Dooley](/t5/user/viewprofilepage/user-id/1416112) Looks nice, but it's definitely overkill for my purpose, I wouldn't use such APIs for anything else. I could probably find some other good use for it, but for now I can definitely live with having a card button and manually triggering an update.

Thank you anyway for the suggestion :)


author: Iain Dooley
body: [@jfischer](/t5/user/viewprofilepage/user-id/4538513) it's all raw API calls under the hood, Trellinator is something I originally created to continue doing consulting for clients that I was previously doing with Butler \*Bot\* (pre-powerup) in Google Apps Script, but GAS has always been finicky to setup and has some performance problems so BenkoBot is like "hosted Trellinator" but then also allows you to easily create webhooks and API calls for other services (a bit like WayScript)


author: jfischer
body: [@Iain Dooley](/t5/user/viewprofilepage/user-id/1416112)That's cool! I messed around with GAS and immediately didn't like it back then. It may have improved since then though.

[I too made a webhook manager](https://community.developer.atlassian.com/t/webhook-manager/51095); this one is stand-alone and maybe not as feature rich, but it gets the job done.


author: Iain Dooley
body: [@jfischer](/t5/user/viewprofilepage/user-id/4538513) nice UI. It looks as though this is for registering webhooks that you host yourself right? BenkoBot actually registers the webhooks and then receives all the notifications, and calls the code. So you just write the listeners and actions rather than hosting the webhooks.


author: jfischer
body: Yeah, I figured it would be more polished with more features. I tend to register the webhook I need and custom code my actions in F# running on AWS. I'm liking what I'm hearing though about BenkoBot. ;)


author: jfischer
body: Hello! Probably not what you're looking for, but how's your coding capabilities? This sort of (complex UI) thing can be easily done with the [API](https://developer.atlassian.com/cloud/trello/rest/). I would personally use the [Webhook](https://developer.atlassian.com/cloud/trello/guides/rest-api/webhooks/) method myself.

comments: author: nxtcristian
body: Full time developer, I know my way in binary, or with APIs.

I'll look into the APIs, but I was really hoping for a simpler Butler- based approach, even though I kind of seen the limits of it.

Thank you, JF


author: jfischer
body: ```
simplier != complex
```


Tags: automation

checklist