Whatโs New? ยท Aug
Let AI do the reading before you decide โจ
Approvers spend more time gathering context than actually deciding.
The new AI Prompt step moves that work into the path itself. Drop it in as a step and it produces the analysis your approvers would otherwise assemble by hand. What the request actually says, what looks incomplete, what deserves a second look.
By the time a person is asked to decide, the homework is already done.
ย
ย
Build the approvals list you actually wanted ๐๏ธ
"Customize columns" no longer means choosing from a fixed menu. Now, the list is yours.
Columns can be reordered, resized, and extended with attributes from the Confluence page each approval belongs to: status, author, owner, labels, and dates.
CSV exports mirror exactly what you are looking at, and are generated with your own permissions, so an export never contains more than the person making it is allowed to see.
Approvals are now filterable by date, too. Pick a date type (Started, Modified, Validity expiration, or Decision deadline) and set a range, an earliest date, or just a deadline to work backwards from. Stack as many date conditions as you need alongside your other filters.
ย
Find out when a notification doesn't land ๐
Notifications used to be sent inside the approval transaction, which had two consequences.
A slow email or chat provider made the app itself feel slow, and a delivery that failed simply, quietly, didn't happen.
They now run through a durable queue instead. Acting on an approval returns straight away no matter what your mail server or Slack is doing, and a failed delivery is retried on a growing delay rather than lost. When something still doesn't get through, you can see it: an indicator right after you act, and a badge on the step itself. No more learning about it three days later when someone asks why they never heard from you.
Two more wins from the same work. Automatic reminders now fire exactly once per interval, even when several app instances are running, so nobody gets nudged twice for the same thing. And repeated identical errors collapse into a single entry in Instance Errors instead of burying everything else in there.
What else changed? ๐ ๏ธ
Enhanced API key security with hashed storage, masked logs, and a one-time display upon creation.
Enhanced webhook security by replacing predictable public-key URLs with unguessable, tenant-specific tokens to prevent unauthorized enumeration.
Added a per-definition "Allow manual initiation" option, allowing you to hide specific approval definitions from the "New" tab while still allowing automated triggers.
Enhanced data privacy and security by masking user email addresses in system logs.
Improved the performance of the
GET /approvalsREST API endpoint for faster load times.Added a per-definition toggle to control webhook notifications, allowing users to enable or disable webhooks individually for each approval definition while maintaining backward compatibility with a default-on setting.
Added validation limits to approval path definitions to restrict total steps (max 200), steps per category (max 100), parallel groups (max 50), and enforce compact group numbering ($1..N$).
Enhanced SSRF security protection for webhooks and HTTP approval steps.