Daily nudge for stalled Jira sprint issues

Every weekday morning, find sprint issues that have not moved in three days, comment a polite nudge on each, and post a rolled up Slack digest by assignee.

Agentic Task
JiraSlack BotEngineeringProductDaily DigestsNotifications & Alerts

Build an agent workflow that runs on a cron trigger every weekday at 9am in my local timezone and nudges stalled work in my active Jira sprint.

Step 1. Use Jira Search Issues (JQL) with a query like: sprint in openSprints() AND status not in (Done, Closed, Resolved) AND updated < -3d ORDER BY updated ASC. Page through all results and collect the issue key, summary, status, assignee (account id, display name, and email if available), updated timestamp, and the description.

Step 2. For each stale issue, call Jira Get Comments and pull the most recent comments (last 5 is plenty). Also keep the description from step 1. Before doing anything else, check the comments for a marker that says this workflow has already commented in the last 24 hours (for example, look for an HTML comment marker like <!-- generalinput-sprint-nudge --> in the comment body, plus a created timestamp within the last 24 hours). If found, skip this issue entirely.

Step 3. For each remaining stale issue, have the agent read the description and recent comments and write a short diagnosis (two to four sentences): what looks blocked, what the most likely next step is, and any specific question to ask the assignee. Keep it concrete and grounded in the actual content of the issue, not generic.

Step 4. Call Jira Add Comment on each stale issue with a friendly message addressed to the assignee, embedding the diagnosis and a clear ask for a status update or next step. Include the hidden marker <!-- generalinput-sprint-nudge --> at the end of the comment body so the next run can detect it. Use Atlassian Document Format for the comment body.

Step 5. After commenting on all of them, post ONE rolled up message to the team Slack channel using Slack Bot Send a Message. Group issues by assignee, @mention each assignee using their Slack user (look them up by email if needed), and under each name list the stale issues as bullets with the issue key as a link to the Jira issue, the summary, how many days since last update, and a one line version of the diagnosis. Open the message with a brief header like 'Sprint health check, {date}' and a one line summary of total stale issues. If there are zero stale issues, post a short 'No stalled issues today, nice work' message instead of skipping silently.

Inputs the workflow should accept when I configure it: the Slack channel id or name to post the digest to, an optional Jira project key or board id to scope the JQL (default is all open sprints I can see), and the staleness threshold in days (default 3).

Be polite and human in the Jira comment tone, not robotic. Never escalate, never @channel in Slack, and never repeat a nudge on the same issue within 24 hours.

Additional information

What does this prompt do?
  • Scans your active sprint each weekday at 9am and surfaces every issue that has not been updated for three or more days.
  • Reads the description and recent comments on each stale issue, then writes a short diagnosis of what looks blocked and what the most likely next step is.
  • Posts a polite comment on each stale Jira issue asking the assignee for a status update, with the suggested next step inline.
  • Sends one rolled up Slack message to your team channel grouped by assignee, with @mentions and links to each issue, so nothing gets buried.
  • Skips any issue it already nudged in the last 24 hours so the workflow never spams the same person twice.
What do I need to use this?
  • A Jira Cloud account with permission to read your sprint board and post comments.
  • A Slack workspace where you can install our Slack app and pick the channel to post in.
  • The name of the channel you want the daily standup nudge posted to.
How can I customize it?
  • Change the schedule (for example, only Tuesdays and Thursdays, or 8am instead of 9am, or your local timezone).
  • Tighten or loosen the staleness window from three days to one day or a full week, depending on how fast your team moves.
  • Swap the Slack channel, narrow to a specific Jira project or board, or exclude certain issue types like spikes or chores.
  • Adjust the tone of the Jira comment, from warm and curious to direct and action-oriented.

Frequently asked questions

How does it decide an issue is stalled?
It looks at issues in your active sprint that are not Done or Closed and have not had any update for three or more days. You can change the threshold to whatever feels right for your team.
Will it spam the same issue every morning?
No. Before commenting, it checks whether this workflow already left a nudge on that issue in the last 24 hours and skips it if so. People get one polite ping per cycle, not a daily stream.
Do I need Jira admin access to set this up?
No. You just need a normal Jira Cloud login that can view the sprint and add comments on issues. The workflow uses your own account to read and post.
Why both a Jira comment and a Slack message?
The Jira comment lives where the work lives, so the assignee sees it next time they touch the issue. The Slack digest gives the whole team one shared view of what is stuck, grouped by owner, so leads can unblock people in standup.
Can I run it on multiple sprints or boards?
Yes. You can scope it to one project, one board, or run it across every active sprint you have access to. Just say which boards or projects you want covered when you build the workflow.

Stop letting sprint work quietly stall.

Connect Jira and Slack once, and Geni runs your daily sprint health check before standup, every weekday.