Send a daily Slack DM to each person with overdue ClickUp tasks
Every morning, each assignee gets a personal Slack DM listing their own overdue ClickUp tasks, plus a one-line summary in your ops channel.
Build me a code workflow that DMs each assignee on Slack every morning with their own list of overdue ClickUp tasks, then posts a single summary line to a manager channel. This is a deterministic fan-out, no LLM reasoning needed.
Trigger: cron, once a day at 10am local time. The hour and timezone should be configurable. Default to weekdays only.
Step 1. Call ClickUp Get Filtered Team Tasks with due_date_lt set to the current timestamp (ClickUp uses Unix epoch milliseconds) and statuses restricted to open statuses (everything that is not closed or done). Paginate through all pages until the result array is empty. Collect every returned task.
Step 2. Group the returned tasks by assignee. ClickUp tasks can have multiple assignees, so a task with two assignees should appear in two people's lists. Drop tasks that have no assignees, but keep their count so the manager summary can mention how many overdue tasks are unassigned.
Step 3. Call Slack List Users once at the start of the run and build an email-to-Slack-user-id map from the response. Skip deleted, deactivated, and bot users. For each ClickUp assignee, look up their Slack user_id by email. If there is no match, skip that person and increment a 'no Slack match' counter.
Step 4. For each matched assignee, call Slack Open a Conversation with their user_id to get the DM channel, then call Slack Send a Message with a fixed-format message. The message should start with a short greeting, then list each overdue task as a bullet with: task title (linked to the ClickUp task URL), due date in the user's local format, and priority if set. Use Slack mrkdwn formatting (*bold*, <url|text> for links).
Step 5. After all DMs are sent, post a single summary message to a configurable Slack manager channel (set as a workflow input). The summary should say something like 'Sent overdue task nudges to N people covering M total overdue tasks. K people had no Slack match. U overdue tasks are unassigned.' Use the same Slack Send a Message operation.
Inputs the user should configure: the manager Slack channel id, the cron schedule (hour and timezone), and an optional list of ClickUp status names to treat as 'open' (default to everything not in the closed category).
Error handling: if a single Slack DM fails (user deactivated, channel error), log it and continue with the rest. Do not abort the run. Respect ClickUp and Slack rate limits with simple backoff on 429.
Do not call any other ClickUp or Slack operations beyond the four listed above (ClickUp Get Filtered Team Tasks, Slack List Users, Slack Open a Conversation, Slack Send a Message). Every step has known inputs and outputs, which is why this is a code workflow and not an agent.
Additional information
What does this prompt do?
- Pulls every overdue task in your ClickUp workspace each morning and groups them by who owns them.
- DMs each person on Slack with their own list of overdue tasks, including titles, due dates, priority, and links back to ClickUp.
- Posts a single summary line to your ops or manager channel with the total overdue count and how many people were nudged.
- Skips anyone without a matching Slack account and flags the count in the summary so you can follow up manually.
What do I need to use this?
- A ClickUp workspace you can connect with admin or member access.
- A Slack workspace where your ClickUp teammates are members (matched by email).
- A Slack channel for the daily manager summary line.
How can I customize it?
- Change when the nudges send (default is 10am local time, every weekday).
- Tweak which task statuses count as still open so done or archived tasks are skipped.
- Pick which Slack channel receives the manager summary.
- Edit the DM format, for example adding priority emojis or a friendly opener.
Frequently asked questions
Will every overdue task get sent, even tasks without an assignee?
What happens if a teammate is in ClickUp but not in Slack?
Can I run this only on weekdays?
Do people get pinged if they have zero overdue tasks?
Will this work for very large ClickUp workspaces?
Stop chasing your team about overdue work.
Connect ClickUp and Slack once, and Geni nudges each assignee with their own overdue list every morning.