A few months ago, Reports rolled out as an option within Butler. Reports pull card data on a schedule, and they can be formatted to include the content, styling, and layout you desire on whatever schedule you need. Examples might be getting an email each morning with the cards due today, or a weekly list of cards assigned to you, or maybe even a monthly email with the names of cards in your Done list. And that's just the tip of the iceberg!
Clearly, this is an incredibly powerful and useful addition to Butler. Because of its mighty abilities, however, getting a Report set up properly is not the easiest feat. Writing a report involves setting up Variables, formatting content, and deciding which content to pull. It can be overwhelming.
This article is here to help! We'll create your very first Report, together, so you can experience all of the bits and pieces necessary to fully utilize this amazing new Butler feature. Our report's end result will be a daily email that lists the cards due today, as well as each day for the next week. We're going to touch on some advanced features of Butler outside of Reports, as well—such as arithmetic within variables—so even if you're not sure Reports are for you, I'm convinced everyone will learn something today.
This is not going to be a short tutorial. Make sure you've got some caffeine and time on hand to see this through.
Let's dig in!
1. Create your report's trigger.
This is how your Report knows when to run. Currently, it only works on a schedule*, so you need to open Butler from either the top of your board or your board's menu and navigate to the Calendar tab on the left. Once there, choose the first option under Select A Schedule, which says Every Day. Click the filter icon next to the box containing Day and set the time you want it to run. Once your time is set, click the + icon to add the trigger to our Report.
*Requires a paid plan. You can fire the report manually, however, by opening Butler, finding the Report in your list of commands, and clicking the Run Now button (it looks like a rocket ship).
2. Set your Report to pull today's due items.
Your command should now be prompting you to set an Action. We're going to set the first of several, which is to find what's due today and assign this list of items to a Variable. We'll use this Variable to format our daily email later.
Go to the last tab, labeled Other. Choose the first option, Create a Report. Click the quotes to name the Variable, and name it Due_Today. Then click the filter icon to choose the items due today under the Due Date tab. Lastly, click the pencil icon to format the data we're pulling, known as setting its Pattern. We're going to grab the card name, its link, and its list name. Type this into this box:
[{cardname}]({cardlink}) in list **{cardlistname}**\n
This will turn the card name into a clickable link to the card in Trello, as well as bold the card's list's name using Markdown (you can read more about Markdown formatting in Trello here). The \n adds a New Line, so the rest of the data we pull gets its own line and isn't one massive paragraph (I learned this the hard way...). Read more about Variables in Butler here.
3. Set your Report to pull tomorrow's due items.
We're going to do the exact same thing we did in the last step, except name the Variable Due_Tomorrow and choose items due tomorrow from the Filter icon menu. Use the exact same Pattern for the content we did before, which is made all the easier because Butler remembers your previous action's information. You don't even need to type it all again. Easy!
4. Set your report to pull items due in 2 days.
You know the drill! Name your Variable Due_2_Days and choose items due in 2 days from the Filter menu.
5. Set your Report to pull items due in the next 3, 4, 5, and 6 days.
Do everything you did in the last step, but for due in 3 days, and then 4, then 5, and finally 6. Name your Variables accordingly.
Report check!
Alright, let's take a look at what we've got and make sure we're on the same page. Your Report should look like this so far:
Every day at 7:00 am
create a report in variable Due_Today with all cards due today using pattern [{cardname}]({cardlink}) in list **{cardlistname}**\n
create a report in variable Due_Tomorrow with all cards due tomorrow using pattern [{cardname}]({cardlink}) in list **{cardlistname}**\n
create a report in variable Due_2_days with all cards due in 2 days using pattern [{cardname}]({cardlink}) in list **{cardlistname}**\n
create a report in variable Due_3_days with all cards due in 3 days using pattern [{cardname}]({cardlink}) in list **{cardlistname}**\n
create a report in variable Due_4_days with all cards due in 4 days using pattern [{cardname}]({cardlink}) in list **{cardlistname}**\n
create a report in variable Due_5_days with all cards due in 5 days using pattern [{cardname}]({cardlink}) in list **{cardlistname}**\n
create a report in variable Due_6_days with all cards due in 6 days using pattern [{cardname}]({cardlink}) in list **{cardlistname}**\n
6. Assemble your email.
Here we go! This is by far the most complex step, so hold on tight!
Under the Other tab we've been hanging out in, choose the action below the report one, Send an Email Notification. Type your email in the email address field and set the subject to:
✨ Trello Daily Report for {date}
Note: the emoji is optional, but it makes this email stand out in your inbox. Up to you!
Then, paste this whopper of text into the body of the email:
## Due Today\n\n{$Due_Today}\n\n
## Due Tomorrow\n\n{$Due_Tomorrow}\n\n
## Due {weekdayname+2d}, {date+2d}\n\n{$Due_2_days}\n\n
## Due {weekdayname+3d}, {date+3d}\n\n{$Due_3_days}\n\n
## Due {weekdayname+4d}, {date+4d}\n\n{$Due_4_days}\n\n
## Due {weekdayname+5d}, {date+5d}\n\n{$Due_5_days}\n\n
## Due {weekdayname+6d}, {date+6d}\n\n{$Due_6_days}
Hit the + button to add this Action to your Command.
What on Earth was all of that gibberish? you ask? What that text does is combine all of the Variables we assembled earlier into one email. Let's break down each part:
## Due Today\n\n - This adds the text Due Today in bold, bigger letters. The \n\n adds two line breaks.
{$Due_Today}\n\n - All Butler Variables are surrounded by curly brackets. To reference the custom Variables we created earlier, we take the name we set (in this case, Due_Today), add a dollar sign in front of it, and put it between curly brackets. This will insert the data we told it to find earlier - card names (as links) and their list name.
## Due Tomorrow\n\n - the same as above, but for tomorrow's cards.
{$Due_Tomorrow}\n\n - the same as above, but for tomorrow's cards.
## Due {weekdayname+2d}, {date+2d} - Here we are using Date Variable and Arithmetic in Date Variables. The variable {weekdayname} pulls the name of today's weekday. We don't want today's, though, as we are currently setting up the data for the day after tomorrow. That's where the +2d comes in - this adds two days to the variable's result. Running this on a Monday? {weekdayname} will return Monday and {weekdayname+2d} will return Wednesday. The same applies to the {date+2d} - this variable pulls today's date (formatted as Monday, January 1, 2020) and adds 2 days to it.
{$Due_2_days} - pulls the data for the Due_2_days variable we set up earlier.
And the rest follow the same pattern. Still confused? I understand! So, here's a screenshot showing what the end report will end up looking like:
Hopefully this helps you piece together what content turns into which end result.
7. Save your Command.
Hit the Save button and celebrate your accomplishment! You've now got your Report set to email you your next full week's deadlines each morning. How handy is that?
If you can't wait to see the report do its magic until tomorrow, click the little rocket ship icon at the top of the Command. This tells it to Run Now. Zip over to your email and you should have your very first Daily Report waiting for you.
Wrap up
Butler's new Reports feature is a great way to get oversight on the data on your board, delivered right to you. Do you have Reports you run? If so, share them! What are your hopes and dreams for future reports?
Here's some further reading on stuff we covered today:
Devon Henderson
Communications Specialist
City Public Library
Indiana, USA
29 accepted answers
11 comments