Two minutes of context
Before you start
Jira Service Management sends each approver one approval email — ever. If nobody answers, nothing else happens. Approval Nudge checks your JSM projects each hour, finds individual and group-backed approvals stuck in Waiting for approval, reminds the people who have not answered, and escalates when nothing moves. Large sites are paced through Atlassian's queue limits, so a cycle may continue beyond the hour rather than flood the site.
- You need Jira admin rights to install, and project admin rights to configure each project.
- The app supports company-managed JSM projects. Team-managed spaces aren't supported yet — their approvals live in a newer Jira model that doesn't share approval details with apps; the Overview will tell you plainly if you enable one.
- Approvals must come from workflow approval steps (the standard JSM approval feature).
- Nothing is enabled by default: after install, the app does nothing until you switch it on per project.
Jira admin
Install the app
Install from the Atlassian Marketplace listing, or in Jira go to Apps → Explore more apps and search for “Approval Nudge”. The app is built on Atlassian Forge and carries the Runs on Atlassian designation: all processing and storage stay inside Atlassian's infrastructure — there is no Quietmill server involved, ever.
Project admin
Enable it for a project
Open Project settings → Apps → Approval Nudge and switch on Enable Approval Nudge for this project. Each project has its own independent configuration — cadence, templates and escalation contacts can differ between, say, IT requests and facilities. Turning the project off stops new automatic reminders, emails, escalations and stand-in changes.
One page, three tabs
Find the setting you came to change
The project settings page is split into three tabs. You do not need to scroll through every option to change one rule.
| Tab | Use it for |
|---|---|
| Reminders | Enable the project, set the first and repeat reminders, cap the reminder count, and customise the reminder comment. |
| Resend & escalation | Resend Jira's approval email, choose when to escalate, select escalation contacts, and customise the escalation comment. |
| Advanced | Email pending group members, set a project-wide fallback stand-in, narrow scans with JQL, or give selected requests a different reminder schedule. |
Save and Run scan now stay below the tabs. One Save covers all three tabs. If you change anything, save it before you run a scan.
Reminders tab
Choose when reminders start and repeat
| Setting | Range | What it does |
|---|---|---|
| First reminder after | 0–1,440 hours or 0–60 days | How long a request may sit in Waiting for approval before the first nudge. 0 means the next scan after it stalls. |
| Repeat reminders every | 1–1,440 hours or 1–60 days | Spacing of follow-up reminders while the approval stays pending. |
| Maximum reminders per request | 1–20 | Hard stop so nobody is nagged forever. |
Approval Nudge checks for due reminders hourly, so these are waiting-time thresholds rather than exact appointments. A two-hour reminder is sent on the first scan after two hours have passed; it can be later, but never earlier.
Each time a reminder is due, the app runs one reminder round. The maximum caps those rounds whether a round posts a comment, resends Jira's approval email or emails a pending approver group.
Turn on Post a reminder comment mentioning pending approvers when you want a Jira comment as well as the optional approval-email resend. Only the approvers who have not answered are mentioned.
Your words, not ours
Write the comments in your team's voice
The reminder and escalation tabs each have an optional comment template. Leave a field blank to use the example shown in Jira. Approver and contact variables become real @mentions, so the right people are notified.
| Variable | Available in | Becomes |
|---|---|---|
{{approvers}} | Reminder (required) | @mentions of the approvers still pending — only them |
{{contacts}} | Escalation (required) | @mentions of the escalation contacts |
{{elapsed}} | Reminder | How long the request has waited: hours during the first day, then days |
{{days}} | Both | Kept for older templates. In reminders it now uses the same truthful hour-or-day wording; escalation remains in whole days. |
{{number}} / {{max}} | Reminder | This reminder's number and the configured maximum |
{{reminders}} | Escalation | How many reminders were sent, e.g. “2 reminders” |
{{issueKey}} | Both | The request key, e.g. ITSM-123 |
Resend & escalation tab
Bring back Jira's approval buttons, then escalate if needed
Jira's approval email — the one with working one-click Approve / Decline buttons — is sent once and never again. With Resend Jira's approval email enabled, Approval Nudge re-delivers that exact email to approvers who haven't answered, using the same remove-and-re-add mechanic Atlassian documents as the manual workaround.
Because this briefly touches the approver list, the app is deliberately careful: every step is verified. If anything looks wrong, it restores the original list and checks the result. If Jira cannot confirm that restoration, the app blocks further changes and records the problem for an admin. Resending stops for good the moment anyone approves or declines. After that, only comment reminders and escalation continue for whoever is still pending.
Email resend uses whichever reminder schedule applies to the request: the regular schedule, or the alternate schedule when its JQL matches. The schedule's maximum reminder count applies to the resend too.
Escalate after this many days pending accepts 0–90 days. Set it to 0 to turn escalation off. Otherwise, choose the people to mention under Escalation contacts; the escalation comment tells them how long the request has waited and how many reminders were sent.
Escalation has its own day threshold. It can happen before, with or after a reminder, depending on the values you choose.
Standard discovery · Advanced email
Reach the people waiting in an approver group
Jira can hide the members of a group-backed approval from scheduled apps. When a project admin saves an enabled Approval Nudge configuration, the app can read each member's current decision with that admin's Jira permissions. Standard and Advanced can then show the group approval, post reminder comments for the people still waiting, and escalate it normally.
This read access is deliberately narrow. Approval Nudge cannot approve for somebody, change an approval group, or add and remove group members.
| Approval source | Email option |
|---|---|
| Approvers field | Resend Jira's approval email re-delivers Jira's original message with its Approve and Decline buttons. |
| Approver groups | Advanced can send a new Jira-hosted reminder with a link to the request. It does not alter the group or pretend to be Jira's original approval email. |
Find the group option under Advanced → Approver groups. Existing projects stay off until an admin enables it; a newly configured Advanced project starts with it on. Group email follows whichever regular or alternate reminder schedule applies, including its maximum reminder count. It is sent only while every member is still pending, and never to more than 20 people at once. If Jira cannot confirm the recipients, Approval Nudge sends nothing and records the reason.
Advanced tab
Choose one fallback stand-in for the project
This is a project-wide rule. The person under Fallback stand-in can be added to every qualifying Approvers-field request in the project after the delay you set, or immediately when an approver's Atlassian account is deactivated. Use it only when one duty manager or backup approver is meant to cover the whole project.
The stand-in is additional. Approval Nudge does not replace the original approver, transfer their identity, or make a decision for them. Once anyone approves or declines, the app leaves that approval alone.
This fallback handles age-based and deactivated-account cover. A planned absence is different: it names who is away and their own stand-in, and it does not wait for the project-wide threshold. If that request later reaches the threshold, the project-wide fallback can also be added. When both settings name the same person, Approval Nudge does not add them twice.
Custom scan filter. The same tab can add one JQL condition for this project. Approval Nudge joins it to the standard scan with AND, so it can leave requests out but never pull extra requests in. Leave it blank to scan everything that meets the standard rules.
Advanced tab
Use a different reminder schedule for selected requests
Turn on Use an alternate reminder schedule when one set of requests needs different timing. Add a JQL condition, then choose its first-reminder delay and repeat interval in hours or days, plus its reminder limit.
The JQL selects from requests already included in this project's normal scan. It cannot pull excluded work back in. If a request matches, the alternate timing replaces the regular reminder timing for that request. If it does not match, the regular schedule applies. Reminder comments, email options, escalation and absence cover stay the same.
Approvals Overview
Set the cover before somebody goes away
First, enable the project-wide fallback stand-in setting in every project where planned cover should apply. Planned absences use that project switch, but each absence chooses its own stand-in rather than the project-wide fallback. Then open Apps → Approvals Overview → Planned absences.
- Choose who is away.
- Choose the first and last day away. The dates use your Jira site's timezone.
- Choose who covers and add an optional note.
- Select Add absence.
During those dates, the next scan adds the chosen stand-in to any approval still waiting for that person. The schedule works with Jira users and JSM portal customers, so migrated customer approvers are not left out.
Planned cover can add a stand-in only when the approval uses Jira's Approvers field. For a group-backed step, the Overview instead tells you whether the planned stand-in is already allowed to approve. If not, add them to the appropriate approval group before the leave begins. Approval Nudge never changes group membership itself.
A single planned absence can cover matching approvals across enabled projects. Remove the schedule when it is no longer needed; adding or removing the schedule never removes an approver from a request that was already changed.
Prove it in one minute
Verify with “Run scan now”
Approval Nudge checks for scheduled scan work every hour. To see it work immediately: create a test request that requires approval, wait for it to reach Waiting for approval, then press Run scan now in the project settings. With a zero-hour or zero-day first-reminder threshold you'll normally see the reminder comment appear within a minute or two. “Run scan now” uses the same rules and reminder cooldown. If Jira or its queue cannot confirm an action, Approval Nudge records the uncertainty and does not repeat that action automatically.
No mystery criteria
What does Approval Nudge scan?
The short version: open requests with a pending approval. The full rules, so nothing is ever a mystery:
- In: requests in an enabled project whose current workflow status carries a pending approval. Each project processes a rotating batch of up to 50 per scan, then continues from that point next time. Large sites are paced through Atlassian's queue limits instead of releasing every request at once.
- In — approver groups. After a project admin saves the enabled project settings, the scan can read the people and decisions in group-backed approval steps. This discovery is included in Standard.
- Out — resolved items. A request whose status category is Done is never scanned, listed or reminded, even if Jira still shows a pending approval on it. Migrated tickets from other systems often carry these leftover approval flags; closed tickets don't belong on a stuck-approvals list.
- Out — projects you haven't enabled. The toggle is per project, and off by default.
And when Jira's search finds matching requests but won't share their approval details with the app — most often because the Request Type field is empty on requests created by an integration or migration — the Overview says so in a banner, with the count and the fix, instead of showing you an empty page.
Advanced projects can narrow those standard rules with the Custom scan filter. The saved condition is always shown below the settings and on the Approvals Overview. Nudge now remains a direct admin action, so it can nudge a request even when the project filter excludes it from automatic scans.
Three jobs, one page
The Approvals Overview
Open Apps → Approvals Overview in Jira's main navigation. The page has three tabs:
- Pending approvals shows every request stuck in approval across the projects you administer: age, pending approvers, reminder state and the project's nudging status. For group approvals with planned leave, it also says whether the stand-in can already approve. Use Nudge now when waiting for the next scan is not an option.
- Planned absences schedules who is away and who covers.
- Approvals ledger filters and exports the approval record.
The Overview lists projects where you are a project admin. If it looks empty, that's the first thing to check.
The silent killer
Deactivated approvers
When an approver's Atlassian account is deactivated — they left the company, usually — their approval can never be answered, and nothing in Jira tells you. Approval Nudge checks approver account status during every scan:
- Deactivated approvers are never reminded — no comments @mentioning ghosts.
- If all pending approvers are deactivated, the reminder is skipped entirely and the situation is escalated to your escalation contacts with a clear note.
- The request panel and the Approvals Overview both flag deactivated approvers visibly.
- If account status can't be determined, the app assumes the approver is active — it fails toward reminding a human, never toward silence.
Receipts
Outcome history
Each request's Approval Nudge panel shows its current approvers, reminder summary and recent activity. It also records who approved, who declined and who never answered for each approval cycle, so a workflow that returns to Waiting for approval does not mix the new cycle with the old one.
The issue panel answers “what happened on this request?” The Advanced approvals ledger answers the wider question across projects and dates.
Advanced edition
Use the approvals ledger when somebody asks for the record
Open Apps → Approvals Overview → Approvals ledger. The ledger records who was asked, who answered, and what happened between those points: reminders, resent approval emails, escalations, stand-ins and approver changes.
- Filter by project and date. The default view covers the previous 30 days.
- Select a request key to open the Jira request.
- Select Export CSV to prepare a copyable CSV block. Copy it, save it as a
.csvfile, then open it in your spreadsheet. - The view shows the most recent 500 matching entries. An export includes up to 5,000 rows; narrow the date range when the page tells you more rows exist.
The ledger starts when Approval Nudge next scans an approval. It does not reconstruct decisions from before the ledger existed.
Choose how long the site keeps entries
Under Ledger settings, a Jira administrator can choose 90 days, 180 days or one year. This is one site-wide setting for every project, not a filter for the table. The change saves automatically, and the daily cleanup deletes entries older than the selected period.
Honest maths
Free tier and billing
Approval Nudge Standard is free at Atlassian's up-to-10-user app tier. Larger sites use Atlassian's Marketplace user-tier pricing, with volume discounts. The Marketplace Pricing tab shows the exact monthly and annual total. Every paid edition includes a 30-day free trial and is billed alongside your Jira subscription, with no separate Quietmill invoice.
Advanced includes everything in Standard, plus:
- Absence cover for delayed or deactivated approvers.
- Planned absences with a stand-in chosen for each absence.
- An approvals ledger with filters, CSV export and retention controls.
- One custom JQL condition per project to narrow automatic scans.
- An alternate reminder schedule for requests selected by JQL.
- Jira-hosted reminder emails for pending group members, plus group cover-readiness checks.
Advanced starts at US$10 per month for Atlassian's up-to-10-user tier. Above 10 users, both editions follow Atlassian's required Marketplace user tiers. Existing installs stay on Standard unless an administrator chooses to upgrade.
Narrow by design
Data and permissions
The app requests five scopes: read and write Jira work items, read user profiles, read service-desk requests, and app storage. It stores configuration, reminder history and approval records containing Atlassian account IDs — no names, email addresses or request content. Full detail is on the privacy page and in the Marketplace listing's privacy tab.
Group approval discovery needs a project admin's read access after they save an enabled project. Offline impersonation is limited to the app's user and service-desk read scopes. The app does not use that admin's identity to approve requests, edit groups or change group membership, and disabling the project removes the saved reader.
Clean exit
Uninstall
Uninstall from Apps → Manage apps like any Marketplace app. Reminders stop immediately. App storage — configuration and history — is removed by Atlassian under the standard Forge app-removal policy. Approval Nudge does not modify workflow definitions, field configuration, groups or permission schemes. Actions already recorded on Jira requests remain in Jira's history.
When something looks off
Troubleshooting
| Symptom | Check |
|---|---|
| No reminders appear | Is the project toggle enabled? Is the request actually in Waiting for approval with pending approvers? Has the first-reminder threshold elapsed? Scheduled work is checked hourly — or use Run scan now. |
| Run scan now is unavailable | Save any changes first. The button is disabled while settings are unsaved, while a save is running, or when Approval Nudge is switched off for the project. |
| Reminder uses the default text | A blank template field means “use the default”. Custom reminder templates must include {{approvers}}; escalation templates must include {{contacts}}. |
| No escalation happens | Escalate-after-days set to 0 means never. Check escalation contacts are set and the pending time has actually crossed the threshold. |
| Approvals Overview is empty | It shows projects you administer. Check your project-admin permission and the minimum-days filter. And an empty Overview can simply be true: if every open request's approvals are answered, there's nothing to list — resolved items never appear (see what gets scanned). |
| Overview shows “Jira isn't sharing approval details” (or names an empty Request Type) | Jira's search found requests with pending approvals, but its request API refuses to describe them to apps. The usual cause: the Request Type field is blank — typical for requests created by an integration, or migrated from another ticket system. Fix: bulk-edit a request type onto them; they appear on the next scan. The banner counts the affected requests for you. |
| Old resolved tickets still show pending approvals in Jira | Common after migrations. The app deliberately ignores them — closed tickets are never listed or reminded — so cleanup is optional. If you want them cleared for hygiene: move an item back into its approval status and complete the approval properly (test on one first; earlier decisions stay in the issue history by design). Atlassian's reference: approval status stuck in Submitting Approval. |
| The space is team-managed | Not supported yet — Jira's request API doesn't return team-managed approval details to apps. The Overview says so rather than staying silent. It's on the roadmap. |
| A group approval is missing people | Open the project's Approval Nudge settings as a project admin and save the enabled configuration. This grants read-only access to the group approval details. If that admin later loses access, Approval Nudge stops using the saved reader rather than guessing. |
| Approval email wasn't re-sent | Jira's original email can only be re-sent when the approval uses the Approvers field. Resend also stops permanently once anyone answers and skips deactivated approvers. For a group-backed step, use the Advanced group reminder email instead. |
| A group reminder email wasn't sent | Check that the project uses Advanced and Email people who haven't approved is on. The approval must be company-managed, every decision must still be pending, and Jira must return no more than 20 active recipients. The request panel records why a safe send was refused. |
| You can't find an approver or stand-in | Type part of the person's name or email address. The absence pickers search Jira users and JSM customers. If the search itself fails, close the picker and try again; contact support if the same person remains unavailable. |
| A planned absence didn't add the stand-in | Is absence cover switched on for that project? Is today inside the absence window (dates use your Jira site's clock)? An added stand-in requires the Approvers field. For a group-backed step, check the Overview: it says whether the stand-in can already approve and never changes the group. |
| The approvals ledger is empty | The ledger is not retroactive. It starts recording when Approval Nudge next scans an approval. Check the project and date filters, and remember that it only shows projects you administer. |
| Export CSV didn't download a file | This Forge screen prepares a copyable CSV block instead. Copy the rows, save them in a file ending .csv, then open that file in your spreadsheet. |
| You can't change ledger retention | Only a Jira administrator can change the site-wide retention period. Project administrators can still view the ledger for projects they administer. |
Still stuck? Email [email protected] with the request key and the approximate time — never send exports of customer data. We answer within one UK business day.
Guide last reviewed 26 August 2026 for Approval Nudge 3.17.