
Nudge puts a Remind me action on every Jira work item. Pick a time, add a note if you like, and Jira emails you when it's due. You can include the assignee or the watchers too. All your reminders sit on one page where you can snooze, repeat or cancel them.
It's a Forge app built with UI Kit. It has no remote backend and no egress, and it only talks to Jira on your own site.
Open a work item and choose Remind me from its more actions menu (the ••• button). You can also add the Reminders panel to the work item and use Add a reminder there.
Then choose when.
Times use your Jira time zone, and the form shows which one. So 09:00 means 09:00 where you are, and a repeating reminder stays at 09:00 when the clocks change.
You can also set these options.
Nudge checks for due reminders once an hour. So the email can arrive up to about an hour after the time you picked, plus whatever time Jira's mail queue takes. It isn't meant for to-the-minute alarms.
Jira sends the email through its notify API, so it comes from your site's usual Jira address. The subject reads "Reminder" followed by the work item key and title. Only people who can browse the work item get it, even if they're a watcher.
If Jira is busy or down, Nudge tries again in the next hourly run. After 3 runs in a row without success, a one-time reminder is marked Failed and the list shows why. A repeating reminder skips that one email instead, shows why, and carries on at its next time. If lots of reminders fall due at the same moment and one run can't get through them all, the rest go out in the next run.
Open Apps, then My reminders, to see everything you've set on any work item. Scheduled reminders come first, soonest at the top. Then come the ones that were sent, skipped or failed, newest first, with the reason when something went wrong.
From there you can do these things.
Each person sees only their own reminders, in the panel and on the page. Sent, skipped and failed reminders are deleted 30 days after their time.
| Limit | Value |
|---|---|
| Note length | 500 characters |
| Reminders per person (any state) | 200 |
| Scheduled reminders per person on one work item | 10 |
| Scheduled reminders per person that email the assignee or watchers | 20 |
| How far ahead | 12 months (366 days) |
| How often Nudge checks | Once an hour |
| Retries when Jira is busy | 3 hourly runs |
| History kept | 30 days after the reminder's time |
| Scope | Why |
|---|---|
read:jira-work | Check that you can see the work item, show live titles and statuses in your list, and read the status before sending. |
write:jira-work | Send the reminder email with Jira's notify endpoint (POST /rest/api/3/issue/{id}/notify). |
read:jira-user | Put your display name in emails that go to the assignee or watchers. |
storage:app | Keep reminders in Forge storage. |
report:personal-data | Run Atlassian's weekly personal data report, so reminders of closed accounts get deleted. |
When you use the panel, the action or the page, Nudge calls Jira as you, so it can't show or remind you about anything you can't see. The hourly sender has no signed-in user, so it runs as the app. It reads the work item's key, title and status. When the assignee or watchers get the email, it also reads your display name. Then it sends the email.
Nudge stores each reminder in Forge storage inside Atlassian. That's your account ID, the work item ID and key, your note, the time and time zone, who should get the email, and how sending went. It doesn't store work item titles. It reads them live from Jira when you open your list. Every week the app runs Atlassian's personal data report and deletes all reminders of closed accounts. See PRIVACY.md for the full list.
Zovo builds and maintains this app. If it saves you time, you can support the work on GitHub Sponsors. Sponsorship is optional, and the tool works the same without it.
Zovo is made by theluckystrike on GitHub.
MIT. Copyright (c) 2026 Zovo.
If this app saves you time, you can support the work on GitHub Sponsors. Monthly tiers start at $5, and one-time tiers start at $15. Sponsorship is optional, and the tool works the same without it.