Rovo agent for Approval Path
Description
Why
An approver must open a work item or a page today to learn that something waits for them, to understand why an approval is stuck, and to submit a decision. Rovo chat is becoming the place where Cloud users ask "what needs my attention".
This epic brings approvals into that surface, in both products, as a thin conversational layer over the approval engine we already have. No new domain logic: reads reuse the approvals list and approval path services, the decision reuses the same headless step-action path that e-mail action links already use.
Phases
Phase 1
Read plus a single decision. List what waits for my decision, report all approvals running on a work item or page, explain what blocks an approval, and submit approve / reject / abstain / consent with a confirmation, honouring every rule the product already enforces.
Phase 1 also makes those actions selectable in agents customers build themselves (read:chat:rovo), with reads open and a decision behind an administrator switch. This cannot be deferred: Rovo registers an app's actions only when the app ships its own agent, so the exposure and the bundled agent land together.
Phase 2
-
searchApprovalswith analytics, using the same filters as the approvals list in the app -
bulk decision over my pending approvals, with a per-item audit record
-
vote steps (submitting a vote with option selection, moderator role)
-
startApprovalfrom a chosen definition -
remaining-path preview: which steps are left and who will be asked
Constraints that apply to the whole epic
-
Rovo is available on paid Cloud plans only, so this is a convenience surface for licensed users. JSM portal customers and external e-mail approvers keep working exactly as today, and this epic does not change those paths.
-
Rovo chat renders text only. There are no approval buttons in chat; a decision is a conversational action with a confirmation step.
-
Everything an action returns is processed by Atlassian's LLM. Data minimisation and an administrator switch are therefore hard requirements, not enhancements.
-
Every action must be gated on an active app licence and must compute permissions server-side, because approval data is not protected by Jira or Confluence permissions on its own.
-
Our agent's prompt is not a security boundary. Once the actions are selectable in customer-built agents, every rule must hold in the backend regardless of the caller.