Managing Team Tasks with IFTTT, Slack, and Todoist

I recently decided that I wanted to overhaul the way I deal with email pitches (new apps, hardware accessories, web services, etc.) and I set out to find a solution that would allow me to broadcast an email to my team without having to forward more emails.

The problem:

Most email pitches are sent to my personal email address, which teammates can’t access;

I can’t stop developers and PR people from sending messages to my personal address;

I go through email every day, and I carefully handpick what I would like to see covered on MacStories;

I used to forward every email to individual members of our team, duplicating attachments and using conversations as a tracking system to remember who’s interested in covering what;

Inboxes got overcrowded, I couldn’t easily keep track of pitches assigned to someone else, and everybody was unhappy.

For years, I envisioned a system that, with one tap, would allow me to put an email message in a folder and forget about it, while it would still be broadcasted to my team so that others could take it into consideration. After weeks of experiments, I chose to leverage web automation and two tools I already use for todo management and team communication: Todoist and Slack.

The solution I landed on is remarkably simple, but it took a while to get it just right and work around a few unexpected bugs.

Step 1: Emails are turned into team tasks on Todoist

I use Todoist on a daily basis, and, among various features, I appreciate its straightforward implementation of shared projects. Any project can have multiple members, who can manage tasks and assign them to others. Members of a shared peoject can comment on tasks, leading to conversations that are contextual to an actionable item and that don’t take place inside email.

To minimize my interaction with pitches that I find interesting and want other MacStories writers to look at, I use IFTTT. MacStories is set up with Google Apps (more on this in the near future) and IFTTT has both Todoist and Gmail channels, which enabled me to create a recipe that turns an email into a task inside a specific project – the one I share with the rest of the team.

(Link to recipe)

Furthermore, IFTTT has a trigger for new emails with a label, which fires off whenever a new message is labeled in Gmail. When I receive an email that I want to put in the shared Todoist project, I can move it to my ‘Pitch’ bundle in Inbox by Google, which is translated to traditional Gmail labels for IFTTT. This action requires two taps – tapping the 3-dot button in Inbox and selecting the bundle. After that, the message is labeled, archived, and it’s off my inbox.

At this point, the IFTTT recipe that’s monitoring emails with a label kicks in and turns any new message it finds into a task in Todoist. Thanks to IFTTT, I can control how the task is created: the subject line of the email becomes the task’s title, while the sender’s name and address plus the email’s received date and body (as plain text) become the task’s note.

This recipe allows new tasks to be descriptive and retain the context of the original email, so that my teammates can read about an app (and click links) directly from Todoist instead of having to ask me to forward them an email. But how are they informed of new tasks in the shared Todoist project?

Step 2: New tasks are posted to a Slack channel

This is where a second IFTTT recipe kicks in and broadcasts the task to Slack. We use Slack for our daily communications, and one of its perks is the excellent integration with third-party services such as IFTTT. Once activated, the Slack integration on IFTTT lets you set up recipes that can post any type of text to a Slack channel (a room), which is what I did to avoid having to write “Hey, there’s a new task in Todoist” every day.

(Link to recipe)

When a new incomplete task is added to our shared Todoist project, IFTTT picks it up and posts a link to the task on Slack. The message that’s created in Slack is a basic status update – a link to the individual task on Todoist.com posted by an IFTTT bot. However, that’s been a good timesaver and enough for our needs, as I don’t have to update my teammates on new tasks anymore and they can check the Slack channel when they have time (or even activate Slack notifications if they want to).

Step 3: Team members can manage tasks in Todoist

When they click a link to a task on Slack, my teammates are taken to the task’s panel on the Todoist website, so they can immediately start reading what the email was about (in the task’s note field) and decide if that’s something they want to check out by commenting on the task or assigning it to themselves. This enables conversations around pitches to be appended to an actionable item I can keep track of instead of being confined inside email, which is a terrible system for any type of project management.

Yesterday, I tweeted about an issue I was having with Todoist’s IFTTT integration for tasks in shared projects, but that’s already been fixed by the Todoist team. Shared tasks posted by IFTTT on Slack can now be viewed by every member of a shared Todoist project, and my sanity has been restored.

Downsides

We’ve been happy with this system, but it’s not perfect. Most notably, file attachments from emails aren’t added as native attachments in Todoist and project members can only see the plain body text of an email. And also, I still need to forward an email to a member who wants to get in touch with a developer who pitched a new app, but that’s better than having to forward and follow-up with everyone in the same email thread.

Last, I realize that I’m relying on two IFTTT recipes and four different web services to automate a process that could stop working in the future or could fail for external errors at any time. But the system has been holding up well so far, and it’s not so critical to justify stressing over the risk of fickle web automation.