Tool Jira Cloud in development

Key Result Relay

Documentation

How to set up Key Result Relay, connect Slack or Microsoft Teams, track Objectives and key results in Jira, link key results to Jira issues, and route updates to chat.

Last updated

Before you start

  • Jira Cloud. Key Result Relay is a Jira Cloud app.
  • A Jira admin installs it and connects chat channels. Anyone who can use Jira can view Objectives; Objective owners and Jira admins can edit them.
  • For chat messages: a Slack workspace where you can add an incoming webhook, or a Microsoft Teams channel where you can create a Workflows flow.

Installing changes nothing in Jira. The app only reads Jira issues to compute progress; it never creates, edits or deletes them.

Open the app

  • Apps → Key Result Relay opens the Objectives dashboard, My Check-ins and My Preferences.
  • Jira settings → Apps → Key Result Relay setup opens Setup and Chat Channels, for Jira admins. Setup at the top of every screen goes there too.

The first time you open the app, a six-step tour shows the main steps. You can replay it from Help (the question mark) with Show tour again.

Run the setup check

Open Setup and choose Run checks. Each row passes or says what’s wrong and how to fix it. Run it again any time something seems wrong.

  • License status. Passes when the app’s license is active. If it isn’t, data stays visible but editing and chat messages pause until a site admin renews it in Manage apps.

  • Storage read/write. Writes, reads back and deletes a test value and a test record in the app’s storage on your site. If it fails twice in a row, uninstall and reinstall the app, or contact support.

  • Sample JQL search. Runs a small Jira search as the app. If it fails, the message is Jira’s own; check that the app is installed on this site and allowed to read Jira.

  • Issue-event trigger. Shows when the app last heard about an issue change. Right after install it may say no event has arrived yet; change any issue and run the checks again.

  • Background queue. Sends a test job through the queue that updates Jira-linked key results and delivers chat messages, and checks it was processed. If it fails, issue changes and the hourly sync can’t update key results; run the checks again, and contact support if it keeps failing.

  • Channel connectivity. Warns when no channel is connected, or when a channel’s recent messages failed. Open Chat Channels, send a test, and replace any webhook Slack or Teams has revoked.

Default time zone (on Setup) is the time zone used for reminders, digests and check-in dates. Set it to your team’s.

Recent delivery failures lists messages that still failed after retries, with the channel, the kind of message, the HTTP status and what it means.

Connect Slack or Microsoft Teams

Only Jira admins can add channels.

  1. Slack: in your Slack workspace, create an app with Incoming Webhooks turned on and add a webhook for the channel. Copy its URL (it starts with https://hooks.slack.com/). Teams: in the channel, open ••• → Workflows → Post to a channel when a webhook request is received. Copy the URL it gives you.
  2. In Chat Channels, choose the platform, type a display name (for example #okr-updates) and paste the URL. Choose Add channel.
  3. Choose Send test. A short message appears in the channel. If it fails, the row says why, for example a revoked webhook.

Only hooks.slack.com and Teams Workflows addresses (*.logic.azure.com, *.api.powerplatform.com) are accepted. Webhook URLs are stored as secrets on your site and are never shown again; the list shows only the host. Use ••• on a channel to Disable it (nothing is sent until you enable it again) or Delete it.

Create Objectives and key results

  1. On the dashboard choose Create Objective. Give it a title, a cycle label (for example 2026-Q4), start and end dates, an owner, an optional team and a status (On track, At risk, Off track or Done).
  2. On the Objective, choose Add KR. Give the key result a title, an owner, a start value, a target value and an optional unit (for example % or teams).
  3. Choose how it’s measured:
  4. Set the check-in cadence (1 to 90 days). Check-ins older than that are overdue, and can be reminded in chat.

Progress is how far the current value is from start to target, from 0% to 100%. An Objective’s progress is the average of its key results.

  1. In the key result editor choose Jira (JQL) and enter a JQL query with at least one condition, for example project = SCH AND fixVersion = "2026.4".
  2. Choose a rule:
    • Percent of matched issues in Done: the share of matching issues in the Done status category, mapped from start to target.
    • Matched issue count toward target: the number of matching issues, as the current value.
  3. Choose Validate. The preview shows how many issues matched, how many are done, the progress and the first issue keys. A query that matches more than 5,000 issues is refused; narrow it.
  4. Save.

When matching issues are created, changed or deleted, the key result updates, usually within a minute. Every hour the app also re-checks each Jira-linked key result and corrects any drift. Sync now on the key result updates it immediately.

The key result’s page shows its query, the rule, when it last synced, the matched issues and a change log of every change and where it came from (a Jira event, the hourly check, an edit or a check-in). If Jira rejects the query later, the error is shown and the last good value is kept.

Check in

Choose Check in on a key result, or open My Check-ins for the key results you own, overdue first. Enter the value, your confidence (High, Medium or Low), an optional note and the date the value applies to. The date can’t be in the future in your site’s time zone.

For a manual key result the check-in sets the current value. For a Jira-linked key result the value still comes from Jira; the check-in adds your note and confidence to its history.

Send updates to chat

Open an Objective → Notifications → Add routing rule. Pick a channel, then turn on any of:

  • Progress changes of at least a number of points you choose (default 10).
  • KR status changes.
  • Overdue reminders at an hour you choose, for key results whose check-in is overdue.
  • Weekly digest on the day and at the hour you choose.

Times follow the site’s default time zone. Message preview shows exactly what will be sent, for Slack or Teams. Each message links back to the key result or Objective in Jira.

Your preferences

My Preferences applies to you only:

  • Name me in channel messages. When off, messages say “1 owner” instead of your name.
  • Snooze until a date: overdue reminders leave you out until then. You can still check in.
  • Following: the Objectives you follow. Use Follow on an Objective to add it; Following only on the dashboard shows just those.

Channel messages go to everyone in the channel. The person who made a change is never tagged.

The dashboard

Filter by cycle, owner, team and status, or turn on Following only. All Objectives are listed, 25 per page, with no cap. Expand a row to see its key results. Select rows to change their owner, cycle or cadence together. Export CSV downloads the filtered Objectives with their key results and check-ins.

When the license is inactive

If the app’s license isn’t active, a banner says so. You can still see and export everything, but editing is disabled and chat messages pause until a site admin renews the app in Manage apps.

FAQ

Does it post to both Slack and Microsoft Teams? Yes. A Jira admin connects channels on either platform with a webhook URL.

Can I check in or reply from Slack or Teams? Not in this version. Messages link to the key result in Jira, where you can check in.

Will the app send me direct messages? No. Messages go to channels only.

Why didn’t my key result reach 100% when the issues were finished? Open the key result to see its JQL, rule, matched issues and last sync. Percent of matched issues in Done counts issues in the Done status category. Choose Sync now, or edit the JQL if issues are missing.

Is there a limit on Objectives? No.

Will people be tagged every time something changes? No. The app never tags anyone, and anyone can choose not to be named.

What data leaves Atlassian? Only what is posted to the channels your admin connects: Objective and key result titles, progress, values, check-in notes and owner names (unless someone opts out). Everything else stays in your site’s app storage on Atlassian. See the privacy policy.

Who can change settings? Jira admins manage channels and the time zone. Objective owners and Jira admins edit Objectives, key results and routing. The app uses Jira’s own admin permission.

Troubleshooting

  • A Jira-linked key result doesn’t move. Run the setup check: the Issue-event trigger and Background queue rows must pass. Then open the key result and choose Sync now.
  • No message arrived in the channel. Check the routing rule on the Objective, the threshold, and whether the channel is disabled. Recent delivery failures on Setup shows what Slack or Teams answered.
  • “This host isn’t supported.” Paste the full webhook URL from Slack (hooks.slack.com) or from a Teams Workflows flow.
  • “The as-of date can’t be in the future.” Check-in dates follow the site’s default time zone on Setup.
  • I can’t edit an Objective. Only its owner and Jira admins can.

Still stuck? Contact support.