Inspiration

Every standup starts the same way: someone shares their screen, scrolls Jira, and the team reads tickets nobody updated. The status lives in people's heads, and getting it into Jira costs clicks nobody wants to spend. Atlassian already gives you digests to read. We wanted the other direction: say it, and Jira changes.

What it does

HeyBrief is a voice-first Forge app inside Jira. You talk, it lists exactly what it will change, and nothing is written until you say yes.

  • Talk-back standup. "I finished KAN-22, KAN-26 is blocked on legal, I'll pick up KAN-19 today." HeyBrief reads back every change (one Done, one Blocked with a flag and a comment, the owner notified, one In Progress, a Confluence standup note) and writes them only after your spoken yes. Every change gets an audit comment naming you, and every receipt has Undo.
  • Risk Radar that proposes the fix. Six deterministic rules (blocked too long, blocking chain, overdue, due soon not started, owner overload, stale) produce at most three risks, each labelled confirmed or estimated, each with the issues that prove it and one fix you can approve by voice. Ask "why?" and it names the rule and the evidence. It never proposes a duplicate fix: if a follow-up is already open, it nudges that one.
  • Heads-up. An unowned P1 incident, a security issue, or a blocker about to make a deadline slip interrupts you once, with a chime, and proposes one action ("assign it to you and start it").
  • Brief me. Your day in under 60 spoken words, ranked by urgency, with at most one decision.
  • English, French and Arabic, with the whole page switching to right-to-left in Arabic.

One engine, four doors

Door Forge module Runs as
Voice page in Jira jira:globalPage (Custom UI, browser speech) the signed-in user
Rovo chat rovo:agent + 8 actions the signed-in user
Any MCP client (Claude, etc.) rovo:mcp exposing the same 8 actions as tools the signed-in user
Desk jira:dashboardGadget (receipts with undo + Risk Radar), personal settings page the signed-in user

How we built it

  • Engine with zero Forge imports, so every rule, plan and spoken line is unit-tested with fakes (195 Vitest tests). The doors are thin adapters.
  • Rules decide, the LLM only phrases. Risk Radar and Heads-up are deterministic code; Forge LLM (Claude through @forge/llm) may reword the brief, with a template fallback so the demo never dies when the model is slow. An LLM can't invent a ticket.
  • Confirm gate. Every write is a proposal stored in Forge storage with a 2-minute expiry, single use and tied to the user. Anything but "yes" cancels. The Rovo agent and MCP tools follow the same rule: the client must pass the user's own reply verbatim.
  • Permissions stay Jira's. Every door runs as the user, transitions are resolved at run time, and a write budget caps confirmed batches per user per hour.
  • Privacy. Speech becomes text in the browser; HeyBrief never receives audio. Optional "outside incidents" reads public vendor status pages only, is off by default, and sends no Jira data out.

Challenges

Making a spoken "yes" safe: it has to be the user's own, recent, and for exactly the changes they heard. And getting browser speech recognition and natural voices to work inside a Forge Custom UI iframe across Edge and Chrome, in three languages.

Accomplishments

[PILOT RESULT, fill before submitting: "In timed sessions with N Jira users, a three-issue status update took X s by voice versus Y s by clicking." plus one quote.]

Tested live on a real Jira Cloud site through the MCP door: brief, Risk Radar, "why?", Heads-up in French, a voice update written after "yes", and a cancelled one that changed nothing.

What's next

A Siri and CarPlay door (the pairing-token code is written and tested, not shipped), Teamwork Graph context for Risk Radar, and a Marketplace listing.

Built With

Share this project:

Updates