3.16.0 Release Notes
Release Date: 2026-05-13
This release delivers a richer webhook payload that makes User Manager events fully consumable by Atlassian Automation and Rovo, plus a wave of performance and reliability fixes for large organizations (10,000+ users).
New Features
Structured webhook payloads
Webhooks now send a structured JSON payload for every trigger. Atlassian Automation rules can branch on the trigger type, link directly to the affected task result, and pass the processId to the User Manager Rovo agent for per-user detail.
Three payload shapes:
taskSuccessandtaskFailure- Automated Task finished. IncludesprocessId, taskname,actionTypes[](camelCase values likeaddToGroups,removeAppAccess,removeFromGroups,suspend,restore), and adeepLinkto the Automated Tasks view filtered to that run.orgKeyExpiry- Organization API key inside the 7-day expiry window. IncludesapiKeyId, keyname,expiresAt, and asettingsUrlto the Webhooks settings page.
Webhooks fire on Automated Tasks and the API key expiry check only. Interactive Bulk Operations do not fire webhooks.
Full schema and consumption recipes: see Webhook Payload Reference and Combining Webhooks and Rovo for Audit-Aware Automation.
Deep-linked task result
Task deepLink URLs now open the Automated Tasks view filtered to a specific taskId and processId directly. Webhook payloads, automation emails, and Slack/Teams messages that link to a processId no longer show the task list first.
Webhook URL allowlist
The webhook URL field now accepts only Atlassian Automation endpoints (https://api-private.atlassian.com/automation/webhooks/...), aligned with the Standup app and the new payload contract. Existing webhooks pointing at the Atlassian endpoint continue to work without change.
Improvements
Bulk operations on 10,000+ users
Bulk Add to Groups and Remove from Groups now run reliably on user sets of 10,000 or more. Previously these operations could fail with a TiDB memory limit error or report a partial failure on finalization.
Filtering by large groups
Filtering the User Browser or Bulk Actions by a group with 10,000+ members no longer fails with an out-of-memory error.
Faster bulk actions and automated tasks
User operations now build a single per-batch lookup map instead of querying group and membership data per user. Bulk actions and automated tasks complete noticeably faster on larger user sets.
Faster user interface
A cached access-level JWT removes the expensive per-request access check from the hot path. The interface feels more responsive on every navigation.
Filter persistence in the User Browser
Selected filters in the User Browser are kept when you switch to another tab inside the app and return. Filters reset when you close the browser tab.
Result modal: download-only
The "View as JSON" code block has been removed from the Task Result modal. Large result payloads no longer freeze the UI. Use Download Result to retrieve the full JSON; the modal continues to show the summary, log view, and per-item details.
Consistent form validation
Form and input validation across the app now runs only when you submit the form. Previously some forms validated on load (showing red borders before any input) while others validated only on submit. The behavior is now consistent.
Bug Fixes
buildUsersToMembershipsno longer throws whengroupIdsis empty (returns an empty map).Bulk Remove from Groups on 10,000 users completes without error and the result page loads.
Automated tasks no longer hit SQL query timeouts during finalization on large operations.
Function execution timeout handling improved during long-running bulk jobs.
Organization key host URL is now optional (Atlassian apps without a host URL no longer trigger Sentry warnings).
Related Pages
Webhook Payload Reference - Full JSON schema for every trigger
Atlassian Automation Webhooks - Setup and trigger overview
