How to send automated task summary mail to users?

Hi. I want to create a automatic rule to send mail notifications each week about upcoming and expired due dates in our task table. But I’m unable to find much useful.

I’ve installed the gmail pack and set the admin account as sender. But I’m having a hard time figuring out the formulas. I want to send a mail to the Responsible user, with all tasks that are not marked as completed. Quick example below:

Test Table:

Automation Rule

When:
Once a week (triggered manually for testing)

If:
Tasktable.Filter([Completed?]= False() AND
IsBlank(Tasktable.Responsible).Count() > 0)

This returns only true, but no items I believe.

Then:
Gmail::SendEmail([mail@xxxxx.no], Tasktable.Responsible, “Tasks not done:”, Concatenate(Tasktable.Filter([Completed?]= False())))

This fails hard as well. Not sure where to take it from here. The above code is not complete, but I just tried to make the parts work first.
Any suggestions?

2 Likes

Hello @Carl_Haugen ,

I tried to realize the exercise with my poor knowledge ^^ and here is my proposal that can be refined according to the exact criteria. A button approach would have been a good idea too but you wanted an automation :slight_smile:

Sincerely,

Thierry

1 Like

Thanks for the suggestion, Thierry.

Unfortunately that does not do what I want it to :confused:

What I need is to…

  1. Filter all taks which is “not completed” and have a passed “Due date”. I suspect we also need to filter for each user here, so we can send only one mail per user. This summary of their tasks is what we want to send in the next step of the automation task.

  2. Send the summary mail to the address associated with the username from the “Responsible” column.

2 Likes

Hello,

Another approach would be to use a filter on the table directly already to sort the completed tasks and then create a column with buttons to send an email when necessary.

Sincerely,

Thierry

2 Likes

Hey there!

First you will want to modify your if() condition so the count() is outside the filter()

  • task.filter(completed=false and responsible.isBlank()).count()>0

That should be a fine if() condition either run or not run the action

After that you have LOTS of options with email

You could run this formula:

  • withName(task.filter(completed=false), targetTasks, targetTasks.formulaMap( format(“{1} - Due Date: {2}, currentValue.task, currentValue.DueDate)).bulletedList()

That should return a bulleted list of every undone task formatted for an email

You could also run a similar formula inside a table of users (one row per user) and then have an email button column but add a (and peopleColumn=Responsible) in your filter

Then have your automation push that Column of buttons to send individualized emails to users with tasks.

Writing this out while my son chucks wood chips around, so if you need more help I’m happy to jump in a computer tomorrow and throw an example doc together!

5 Likes

I wanted to surface this possible solution by Codan @BenLee:

2 Likes

Thanks @Scott_Collier-Weir. You’re really on to it. I got the first part right, but I think you lost me on the second formula.

I would very much appreciate an example if you have the time! This goes a bit over my head. I’m just used to simpler excel formulas and powershell scripts at work :stuck_out_tongue:

A key part of this would be to filter all tasks for each person, and send each person a summary of the tasks if some are not marked as completed and are reaching the due date soon. I get the feeling that we can’t do this without a Button in the task table? It would be simpler without, as we sync this task table to several docs. But the “send mail button” column could be added and adjusted individually to the synced tables if needed I suppose.

This is a part of a weekly summary for all our users for them to plan the upcoming week.

@steph Thanks for the link. This is an excellent example of email usage in coda. We will be using this for for news letters and some other things!

2 Likes

Certainly! You’re welcome. Keep us posted on how it turns out.

1 Like

@Scott_Collier-Weir I made a page here with the basic setup and my poor attempt of the automation. Should be open for anyone to edit. Would appreciate it very much if you have some tips on how to proceed. The gmail pack is set up and should be usable for everyone.

I managed to create a button to trigger mail for individual buttons with a button column. But I have no idea how to turn that into one summary mail per user.

Also tried to use the suggested formula from Scott to create a summary email with another button, but there seems to be a very slim chance I can make it without some help.

Anyone able to see what I’m missing here? Sample page above is open for all to edit.

1 Like

Any chance you could give me a few pointers @Scott_Collier-Weir ? I’ve tried to search this forum and tested some solution, but have come up short of anything working as I hoped.

I have found examples of how to send info of each task with one mail via a button column (see example page above), but I have not managed to create a summary mail with the same method. I suspect that the first formula you suggested might be the closest thing so far to achieve that. It’s also added to the sample page.

1 Like

Hey Carl,

I added a couple other solutions with a new setup into your doc, let me know what you think!

Canvas Column Option

Step 1. Create an all tasks table.

Step 2. Create a people table.

Step 3. Create a page that can act as a template for a canvas column in the people table, for sending summaries.

  • Add a view of the all tasks table
  • Add the appropriate filters so that you can filter to the right person.

Step 4 Create a canvas column and add settings for value for new rows to be the Summary Template page

Step 5. Add an email button

Step 6. Create an automation: add a rule that pushes all the email buttons on the scheduled time of your liking!

Column Formula Options

Filter for tasks coming up and past due, create a message using Concatenate(), and send those quick messages via email.

Dear @Carl_Haugen ,

Scott just has put a YouTube video online

Sure it will be of great support.

4 Likes

@Kyleigh_Johnson and others at Coda support was super helpful in creating an example in this following page: https://coda.io/d/_dNHp3IplP2C/Automate-Summary-Email_sujXo

However, there is one difficulty I’m still left with. I hope some of you can tell me what’s going on.

The solution is quite elaborate, but the main steps are as follows:

  • A Responsible table is created with the people in the organization
  • A table with All Tasks is created. With a Responsible column lookup to the Responsible table.
  • A template page with a view of the All Tasks table. Filter control is added with input of responsible from the Responsible page. Filtering the All Tasks table.
  • Canvas column is created in the Responsible table, tied to the Template page.
  • A Summary Mail button column in the Responsible table should send mail of all tasks for the responsible, through the Template page and table view of the expiring tasks.

The result should be a nicely crafted mail with a table of upcoming and expired tasks for each responsible.

The problem seems to be that changing responsible does not always update the responsible in the filter control of the template through the canvas field. And adding more people in the Responsible table seems to also show a different responsible in the filter control when hitting open on the canvas field. The result when actually sending the mail reflects this problem.

The problem
I do not know how this link between the Responsible table and the template and filter control are working exactly, but I suspect that this might have something to do with the canvas column being populated when created. The content might not be that flexible after initial setup. It asks to populate the canvas field for the missing columns initially, but no such message are presented when adding new persons later on.

Anyone know how to fix this? We really need to be able to change people responsible and add new people now and then.

Hey Carl,

I hadn’t figured out a way to automate a filter in a canvas column template. That part I was doing myself – When a new person is added to the table, I also edited the canvas column filter.

Ok. I see. So, the only thing we need to do is to open the Canvas for each person added or when people are switched in a row, and select the correct person in the canvas filter.

Should be doable to add a big warning with simple instructions for people to follow I guess. This is miles better than the alternatives I’ve been looking into anyway.

Thanks a bunch for the help!

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.