# Privately nudge owners of stalled Dart tasks in Slack

> Every weekday morning, an agent finds work that has quietly stopped moving in Dart and sends each owner a private Slack nudge, plus one summary for managers.

- Workflow type: agent
- Services: Dart, Slack Bot
- Categories: Operations, Product
- Published: 2026-08-04

## What it does

- Checks your Dart workspace every weekday morning for tasks that are still open but have quietly stopped moving.
- Flags work that has not been touched in five or more working days, or that is past its due date and still not finished.
- Sends each owner a private Slack message listing only their own stalled tasks, most urgent first, with how long each has been sitting and when it was due.
- Leaves a short note on each flagged task in Dart and posts a single rolled up summary for managers, instead of a public message per task.

## What you'll need

- A Dart account with the dartboards and tasks your team works from
- A Slack workspace where the assistant is allowed to send direct messages
- Work emails that match between Dart and Slack, so each nudge reaches the right person
- A Slack channel for the manager summary

## Prompt

Every weekday at 9am, sweep my Dart workspace for work that has stalled and privately nudge the people who own it.

Start with Dart's Get User Space Configuration to learn how my workspace is actually set up: the dartboards, the status names, the priority levels, and the assignees along with their email addresses. Do not assume status names. Names like "In Progress" or "In Review" vary between workspaces, so resolve the real active status names from the configuration and use those for the rest of the run.

Then use Dart List Tasks to pull every task currently sitting in one of those active statuses. Page through the results until you have all of them, not just the first page.

Treat a task as stalled when either of these is true: it has not been updated in five or more working days, counting weekdays only so that work from Friday is not flagged on Monday, or its due date has already passed while the status is still open.

Use judgement before flagging anything. Leave low priority items alone. Leave a task alone if it is blocked and someone recently left a comment explaining why, which you can check with Dart List Comments on candidate tasks. Leave work alone that has clearly been parked intentionally, for example something in a backlog-style status or explicitly marked as waiting on an outside party. When it is genuinely ambiguous, prefer not to nudge. Reminders that feel noisy are the reason people turn this kind of workflow off.

Group the surviving stalled tasks by owner. For each owner with at least one stalled task, find their Slack account using Slack Bot Look Up User by Email with the assignee email you got from the Dart configuration. Then send exactly one Slack Bot Send a Message direct message to that person, never one message per task. List their stalled tasks ranked most urgent first, with the task title, the dartboard it lives on, how many days it has been idle, and its due date. Put the most overdue and longest idle work at the top. Keep the tone friendly, short, and non-accusatory, and invite them to comment on the task if it is parked on purpose. If no Slack user matches that email, skip the direct message for that person but still include them in the manager summary.

On each task you flagged, add a short Dart Create Comment recording that a nudge went out today and who it went to. This keeps the trail visible inside Dart and lets a later run see that the task has already been nudged.

Finally, post one rolled up summary to my managers channel with Slack Bot Send a Message. It should give the total number of stalled tasks, counts broken down by owner and by dartboard, and a short note on anything notable such as tasks that are far past due or a dartboard that is stalling more than the rest. This is one aggregated message with counts, not a message per task and not a list of every individual item. If nothing is stalled, post a single short all clear line instead of staying silent.

## How to customize

- Change the timing, for example only Mondays and Thursdays, or later in the morning
- Adjust how many idle days count as stalled and which priorities get skipped
- Choose which statuses count as active work, and which channel receives the manager summary

## Example output

Direct message to Priya:

Morning Priya, three of your tasks look stalled:

1. Migrate billing webhooks (Platform) - 11 days idle, due 3 days ago
2. Draft Q3 pricing brief (Growth) - 8 days idle, due today
3. Update onboarding checklist (Platform) - 6 days idle, no due date

If any of these are parked on purpose, drop a comment on the task and I will leave it alone next time.

Manager channel summary:

Stalled work sweep, 9 tasks across 4 people.
By owner: Priya 3, Marcus 3, Dana 2, Sam 1.
By dartboard: Platform 5, Growth 3, Support 1.
2 tasks are more than 10 days overdue, both on Platform.

## FAQ

### Will people be called out publicly?

No. Each person gets a private direct message that lists only their own stalled tasks. The single shared post is a summary for managers with counts by person and project area, not a public callout of individual tasks.

### What counts as a stalled task?

By default, a task that is still open and has not been updated in five or more working days, or whose due date has passed while the task is still open. Weekends do not count against the idle clock, so Friday work is not flagged on Monday.

### Will it nag people about work that is paused on purpose?

No. Low priority items, tasks with a recent comment explaining a blocker, and work that has clearly been parked deliberately are left alone. The assistant is told to under-nudge rather than over-nudge, because reminders that feel noisy get switched off.

### What if someone's Slack and Dart emails do not match?

That person cannot be matched in Slack, so their direct message is skipped. Their stalled tasks still appear in the manager summary, so nothing goes missing.

### Does this change my tasks?

It never changes a status, an assignee, or a due date. The only thing it writes to a task is a short comment recording that a nudge went out, so there is a visible trail.

Use this prompt in General Input: https://www.generalinput.com/prompts/privately-nudge-owners-of-stalled-dart-tasks-in-slack