.../articles/
Making Overdue ClickUp Tasks Visible

Making Overdue ClickUp Tasks Visible

2020.08.07

We've been using ClickUp for task management here for a while now.

We create a Space for each project to manage tasks, and we also use it to manage all sorts of small internal administrative work.

Recently, as the number of Spaces and tasks has grown, we've started to see tasks slip past their original deadlines, and I felt it was becoming harder to notice when that happens.

Big goals like deliveries or releases, and high-priority tasks, are usually fine, but there are cases where a lower-priority task we decided to do just sits there, or where the task status simply never gets updated.


What we did

Of course, it's important for each task owner to keep an eye on deadlines and statuses themselves, but I thought that making it more visible when a task has passed its deadline could also serve as motivation to move tasks forward or update their status. So I built a mechanism to send notifications to Slack.

This mechanism runs the following process every weekday at 10am:

  1. Fetch overdue tasks via the ClickUp API
  2. Post the task information retrieved in step 1 to Slack

I've put together the code for running this on AWS Lambda in the following repository, so if you want to try the same thing, you can get started right away.

Here's what the resulting notification looks like:

For each overdue task, it lists the date, the Space (the client or project name), the task name, the status, and the assignee. The look and feel could still use improvement, but it now makes it clear at a glance just how many tasks have gone past their deadline.

Since this gets posted to Slack every day, I think it's been effective at prompting people to check on their tasks.

That said, building this made me realize that it's only meaningful if you can notice a task before its deadline has already passed. Next, I'm planning to add a feature that notifies about tasks whose deadlines are coming up soon.


Explanation

AWS Lambda

Running this every day at 10am is achieved by combining AWS Lambda with CloudWatch Events.

For developing small batch jobs like this, we use the Serverless Framework, and lately we've found it easy to use the Serverless Plugin Typescript.

ClickUp API

We use the API to retrieve information from ClickUp.

Since API requests require a token, we get a Personal API Key ahead of time.

Since we wanted to retrieve all tasks for the Team regardless of Space, we request Get Filtered Team Tasks, and the "past deadline" state can be expressed using the due_date_lt parameter. It looks like the "deadline coming up soon" state could be expressed by combining it with due_date_gt.

Slack

Since we'd like to add features such as dynamically changing the channel to notify, we issue a token and post task information by requesting the chat.postMessage API.

If you just want a simpler way to send notifications, Incoming Webhooks also works.

written by

.../article/

Articles

All articles

From Firebase to Vercel, Contentful to microCMS — a migration log written with Claude Code

From Firebase to Vercel, Contentful to microCMS — a migration log written with Claude Code

We moved our corporate site's hosting and CMS, and made it bilingual along the way. The constraints we only found by running against real data were more useful than the migration itself, so this post focuses on where we got stuck.

Can't Read POST Data with Firebase Functions × Remix?

Can't Read POST Data with Firebase Functions × Remix?

How to read POST data from a Remix action when running on Firebase Functions.

Generative AI for Executives and Leaders: An Approach to Self-Driven DX

Generative AI for Executives and Leaders: An Approach to Self-Driven DX

Building a structure where executives and leaders themselves can identify issues and evaluate solutions using generative AI. We introduce how combining this with our hands-on support dramatically improves both the quality and speed of digital transformation.

Deploying a Monorepo Next.js App (App Router) to AWS Amplify

Deploying a Monorepo Next.js App (App Router) to AWS Amplify

Notes on the obstacles we hit while deploying a Next.js app managed in a monorepo to AWS Amplify.

Keeping Production Running Smoothly with Remote Work and Online Meetings [Documentation]

Keeping Production Running Smoothly with Remote Work and Online Meetings [Documentation]

Many production companies have adopted remote work as a result of the pandemic, and we are one of them.

Designing an E-Commerce Site That Sells: How to Find Great Reference Examples

Designing an E-Commerce Site That Sells: How to Find Great Reference Examples

There is no single formula for e-commerce design that sells. Driving revenue requires a solid concept, and getting to that concept requires thorough research.

Productivity Tools We Recommend as a Production Company, Including Services That Work Well Solo

Productivity Tools We Recommend as a Production Company, Including Services That Work Well Solo

With remote work becoming the norm during the COVID-19 pandemic, our team now works from home most days of the week.

We Released Thought Recorder, a Figma Plugin for Keeping a Commit History of Your Designs

We Released Thought Recorder, a Figma Plugin for Keeping a Commit History of Your Designs

We hope this helps web designers who work in Figma. Read on for how to use it.

How to Build an E-Commerce Site, and Which Platforms We Recommend

How to Build an E-Commerce Site, and Which Platforms We Recommend

Shopping online for fashion, appliances, and even groceries is now routine. With the pandemic accelerating the shift, we receive a steady stream of questions about which platform to use and how much it costs.

Generating FastAPI Schema Classes from OpenAPI

Generating FastAPI Schema Classes from OpenAPI

We chose FastAPI, a relatively modern framework, for a Python API project. FastAPI can generate an OpenAPI definition from your backend code, but here we do the opposite: generating FastAPI schema classes from an OpenAPI definition prepared in advance.

View all articles

Contact us