Engineering, Automation

Automating Your Task Management Workflow with Zapier

August 4, 2020

Software Engineers primarily use online tools to communicate and collaborate. Calendar apps like Google Calendar manage meetings, and communication apps like Gmail, Slack, and Zoom help those engineers interact with co-workers. Other software development platforms like GitHub or Bitbucket store and discuss code before it is deployed to production.

Software Engineers primarily use online tools to communicate and collaborate. Calendar apps like Google Calendar manage meetings, and communication apps like Gmail, Slack, and Zoom help those engineers interact with co-workers. Other software development platforms like GitHub or Bitbucket store and discuss code before it is deployed to production.

Many of these tools offer their own lightweight task management solutions, such as GitHub notifications or Slack reminders. However, a single source of truth to track personal tasks can help simplify these various systems and clarify workflows.

External systems such as Trello or Todoist help provide visibility into the work you need to complete across all of the tools your company uses. It also gives you the ability to prioritize tasks against each other, which is not possible when you’re using each tool’s native task management solution, where tasks are managed separately in each platform.

Luckily, these apps and tools typically offer an API that opens the door to automating your task management workflow. Task management automation occurs when the work you need to perform automatically shows up in your task management system without manual intervention. This is made possible with an app called Zapier.

Zapier

Zapier (pronounced like “happier”) gives users the ability to create workflows in a user-friendly UI and without the need for coding. These workflows trigger based on events, such as:

  • a Google Calendar event ending
  • a GitHub Pull Request being opened
  • an @mention in Slack.

By using Zapier, we can link the source of our tasks (GitHub, G-mail, and so on) with our task management system. I’m using Todoist for my task management system, but you could also use Trello, Google Tasks, Microsoft To-Do, or something else.

We’ll go through the steps of configuring a single task automation. We’ll create a workflow that does the following:

When a GitHub PR is created and assigned to me for code review, Then create a task in Todoist.

Setting up Task Automation

To get started, navigate to Zapier.com and sign up for an account. Also, be sure to sign up for a task management system like Trello or Todoist.

Next, in the top-left corner of Zapier click on the “Make a Zap” button. Zaps are Zapier’s term for workflows. Give your Zap a name like “Create Tasks from GitHub PR Reviews” so that you can easily identify it in the future.

Configuring a Trigger

Zapier displays the “When this happens…” section. This is where you select the event that will trigger this Zap to run. Follow these steps to set up your event trigger:

  1. Search for the GitHub app. You may need to sign in if this is the first time you’ve created a Zap with GitHub. For the Trigger Event, we’ll choose “New Review Request.” Click Continue.
  2. Select the GitHub account you’d like to use for this Zap. Click Continue again.

Finally, add some filters to the event trigger. You can filter based on who is requested to review (your GitHub username or someone else’s) and the repository. I’m going to leave both of these fields blank, which defaults to my GitHub username and all repositories.

Creating a Task

Next, Zapier takes us to a “Do this…” screen. This is where we choose what happens when the New Review Request in GitHub trigger is fired. This is where we’ll create a task in Zapier. I’ll use Todoist for my example, but other task management systems should have similar actions and fields.

  1. Search for the Todoist app and choose the Create Task action event. Select the Todoist account you’d like to use for this Zap.
  2. Now we’ll customize our task. Leave Project blank so that all new tasks will enter your Inbox rather than being assigned to a Project. We want tasks to enter our Inbox so that we have a holding ground for all new work, and can categorize and prioritize that work before it enters a Project.
  3. For the task Title, enter “New GitHub PR: “ then choose the PR title from Step 1. If a GitHub PR has the title of “Added Feature X” then our task title will be “New GitHub PR: Added Feature X.” If you’d like a handy link to the PR in the title then you can also add the “Pull Request HTML URL” data point to the title as well.
  4. Add the PR body to the Note field. This is useful if you’d like to read over the PR body without navigating to GitHub. I’m leaving Assigned To and the Due Date fields blank, however, feel free to fill those out if you’d like. One option is to give a default Due Date of tomorrow, meaning that all PRs assigned to you should be reviewed by the end of the day tomorrow.
  5. Finally, choose a Priority and Label, then click Continue. Here’s what my customized task looks like:

The last thing we’ll do is test the integration. Click Test & Continue, then navigate to Todoist.com to see your new task!

Conclusion

This is just one example of how to configure Zapier to fill your task management system with tasks you need to perform. Now that you know how to do this, the possibilities are endless for automation. You can automate the creation of tasks when you’re mentioned in GitHub, when you star a message in Slack, hours before a calendar event (so that you can prepare), when you receive a Time Off Request in BambooHR, and much more.

Once all of your tasks are in your task management system, it becomes much easier to see and prioritize all the work you need to perform. This means you will work on the right tasks, well ahead of any due dates, and experience a more calm and organized workflow.

Happy Zapping!

Related Articles

Top 5 Reasons Why You Should Migrate to Pytest
Pytest allows us to write well written, well thought out and easy to extend test code.
API Documentation
Recently we made several improvements to api.britecore.com to address documentation challenges with automation. This change frees up BriteCore resources to expand the level of support we can provide.