DEV Community

Ulrich Feindt
Ulrich Feindt

Posted on

Building a chore tracker with Airtable automations: Part 2

This is part 2 of a guide to building a chore tracker in Airtable. Make sure to check out part 1 if you haven't already.

At the end of part 1, we had a working chore tacker that lists the chores and highlights the ones that are due. Furthermore it automatically schedules a chore again once it is marked done. We will now add email notifications as a final feature. That way, you won't need to check the tracker everyday but will just receive a reminder email if any chores are due.

Adding chore assignees

Before we can send the emails we need to decide where to store the email it should be send to. If you are using the tracker just by yourself, you can hardcode the email in the automation. However, if you are sharing the household responsibilities with someone, you may want to assign the chores to specific people. This can be done with a new table.

Return to the chore tracker that we built in part 1. At the top click Add or import (next to the name of your Chores table) and then Create blank table. Call the table Users and set the records to be called users as well.

In the new table, delete the Notes and Status fields. Then rename the Assignee field to User. You can now enter a name and the assign user accounts. If you wish, you could also add an email field for the users' email addresses. However, all users should create Airtable accounts to use the tracker, so you can just sent the email to the accounts' adresses. Note I am using my own account for both users in the example below. You should assign a different account to each user.

Figure 1: Initial setup of the Users table (in a real example, the values in the user field should be different accounts)

In order to assign a chore to a user, we can link our two tables. In the Chores table, create a new field of type Link to another record. Select the Users table and name the field Assignee. You can skip adding additional lookup fields as we will not need them. Now you can click on the new field in one of the rows to add a link.

Figure 2: The Chores table with the new link field to the Users table

Return to the Users table. You should notice that Airtable has automatically added a link field to it called Chores and that it shows the chores that we have assigned to the users.

Figure 3: Updated Users table with the assigned chores

In order to list the chores in the email, we need to format the list a little bit. I like to see one chore per line. This can be achieved with a rollup field that applies a function to the array of values in a specific field of all linked records. Add a field of type Rollup naming it Chores to do. Select the Chores table as the source and the Description field as the field to roll up. We are only interested in chores that are due, so enable the option to only include linked records that meet certain conditions and set the condition to the Status being Due. Lastly, enter the following aggregation formula:

ARRAYJOIN(values, "\n")
Enter fullscreen mode Exit fullscreen mode

This formula adds a linebreak between each chore.

Figure 4: Settings for the Chores to do rollup field

The content of the rollup field will not show the linebreaks. To confirm that each chore is listed on its own line, you can expand the field.

Figure 5: Users table with a Chores to do field expanded to confirm that each chore is on a new line

Sending the emails

Now we have everything we need to send reminder email. Navigate to the Automation page and create a new automation called Send reminder emails. Choose the trigger Add schedule time and select a convenient time (I'm using 10 AM for my tracker):

  • Interval type: Daily
  • Timing: Every 1 day at 10:00am

Figure 6: Settings for the email trigger

Now add an action to Find records:

  • Table: Users
  • Find records based on: Condition
  • Conditions: Where Chores to do is not empty

Figure 7: Settings for the find records action

Lastly, add a repating group that will loop over the found records:

  • Click Select input list and select the Find records action with the option Use as list.

Figure 8: Settings for the repeating group

Inside the repeating group, add an action to Send email with the following configuration:

  • To: Click the plus sign, then the Current item followed by User and Email.
  • Click Show more options and under From name enter: Chore Tracker
  • Subject: You have chores to do!
  • Message: Write any message you would like but remember to include the chores by clicking the plus button and selecting the Chores to do field of the Current item. Similarly, you can include the user's name if you like.

Figure 9: Settings for the send email action

Now everything is in place for sending daily reminder email. Before, you switch the automation on, you should test it using the Test step button for the Send an email action. After confirming a couple of dialog, you should get a preview of the email. Before you leave the automation page, don't forget to activate the new automation.

Figure 10: Preview of the reminder email

Conclusion and next steps

This concludes this short series of posts in which we build a chore tracker that:

  • Lists your chores and highlights the ones that are due.
  • Schedules chores again when they are marked done, based on when they should be repeated.
  • Sends daily reminder emails to the chores' assignees if they have chores to do.

If you like to dive deeper into what Airtable can do, consider trying the following improvements to the tracker:

  • Add nicer formatting to the email using HTML or markdown.
  • Add a table to log when a chore was completed and by whom.

Top comments (0)