Run your quarterly OKR review board on ClickUp Goals

See every ClickUp goal against how much of the quarter is already gone, flag whatever is tracking behind pace, and update the numbers live in your business review.

App
ClickUpSlack BotOperationsProductAI ReportsMeeting Workflows
PromptCreate

Build an internal app that my leadership team opens during our weekly business review to run our quarterly OKRs out of ClickUp Goals. The problem it solves is that goal progress is buried in ClickUp and ClickUp shows a current percentage without showing whether that percentage is ahead of or behind where we should be this far into the quarter, so nobody trusts the numbers when we get to the meeting. The audience is a founder, COO, or department head running the review, with each goal owner updating their own key results live.

The main view is a board listing every goal in the workspace, loaded with the ClickUp Get Goals operation. Goals live at the workspace level, and in ClickUp API v2 the word team means workspace, so scope the board to one workspace ID that the user picks on first load and the app remembers afterwards. Get Goals returns every goal in a single response with no pagination. Each row shows the goal name, its owners, the due date, and the overall progress percentage.

Next to progress, show pace. For each goal, compute how much of the quarter has already elapsed as a percentage of the window between the goal's start date and its due date, and display that percentage right beside actual progress. All ClickUp timestamps are Unix epoch milliseconds, so convert before doing any date math. When progress trails elapsed time by more than a configurable threshold, default 10 percentage points, flag the goal as At risk automatically; otherwise label it On pace or Ahead. Sort at-risk goals to the top of the board and expose the threshold as a setting.

Load key results for a goal with the Get Goal operation, which returns the goal's key results with their current value and target value. Render each key result as a row showing current against target, the percent complete that implies, and the same pace comparison used at the goal level. Handle the different key result types ClickUp supports, including number, currency, percentage, boolean, and automatic key results tied to tasks, and format each one appropriately rather than printing raw values.

Clicking a goal opens a detail pane containing its key results plus the ClickUp tasks backing that goal, pulled with Get Filtered Team Tasks scoped to the Lists or tags tied to the goal. Give the user a small control for mapping a goal to one or more Lists and tags, populating the List picker with Get Lists, and persist that mapping per goal so the meeting never has to reconfigure it. Show each task with its status, assignee, and due date, plus a rollup of how many are complete versus still open, so we can see whether the underlying work is actually moving or the number is just being typed in. Get Filtered Team Tasks is paginated at 100 tasks per page, so page through until the results are exhausted.

During the meeting the app has to be editable, not just readable. From the detail pane, let the goal owner update a key result's current value with Update Key Result, change a goal's owner or due date with Update Goal, and add a brand new key result mid quarter with Create Key Result. Note that Update Goal expects owners as separate add and remove lists rather than one replacement array. Every edit writes straight back to ClickUp and then refreshes the affected goal and its pace flag, so the board is accurate the moment a number changes.

Keep a running change log for the session recording each edit as goal, field, previous value, new value, who made it, and when. At the end of the meeting a Post recap button sends a Slack message to our leadership channel listing the goals currently flagged at risk and every change made during the session. Let the user choose the channel once and remember it, and show a preview of the recap before it sends.

Persist the selected workspace ID, the at-risk threshold, the goal to Lists and tags mappings, the chosen Slack channel, and the current session change log. Everything else reads live from ClickUp each time the board is opened, so the meeting always starts from current data.

What does this prompt do?

  • Lists every goal in your ClickUp workspace with its owners, due date, and progress so far, all on one screen.
  • Puts progress side by side with how much of the quarter has already elapsed, and automatically flags anything tracking behind pace as at risk.
  • Opens a detail pane for each goal showing its key results plus the ClickUp tasks behind them, so you can tell real movement from a number someone typed in.
  • Lets owners update key results, change a goal's owner or due date, and add a key result mid quarter, then posts a recap of at-risk goals and every change to your leadership channel in Slack.

What do I need to use this?

  • A ClickUp account with your quarterly goals and key results already created
  • Permission to edit the goals you want to update during the meeting
  • A Slack workspace and the channel where your leadership team should get the recap
  • Optional: a sense of which ClickUp Lists or tags hold the work behind each goal

How can I customize it?

  • Change how far behind pace a goal has to fall before it gets flagged at risk, starting from the default of 10 points
  • Map each goal to the Lists or tags that hold its underlying work, so the detail pane shows the right tasks
  • Pick which Slack channel gets the end of meeting recap and what it includes

FAQs

Do I need a paid ClickUp plan for this?
You need a ClickUp plan where your team already uses Goals and key results. The board reads whatever goals exist in your workspace, so if you can see them in ClickUp today, the board can show them.
How does it decide that a goal is at risk?
It compares how complete a goal is against how much of its time window has already passed. If progress is more than 10 points behind the calendar, the goal is flagged at risk. You can raise or lower that threshold to match how your team runs.
Do changes made during the meeting really save back to ClickUp?
Yes. Updating a key result value, changing an owner or due date, and adding a new key result all write straight back to ClickUp, so there is no second copy of the numbers to reconcile afterwards.
Can we use this for goals that are not quarterly?
Yes. The pace comparison uses each goal's own start and due dates, so monthly, quarterly, and annual goals all work without any changes.
Why does it show tasks next to the key results?
Because a key result value can be typed in by hand. Showing the Lists or tags backing each goal lets you check whether the underlying work is actually moving before you accept the number in the meeting.

Related templates

Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Approval war room for every social post awaiting sign-off

One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.

Hootsuite
Slack Bot
App
Turn champion job changes into new pipeline in Attio

Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.

Boomerang
Attio
Slack Bot
Agentic Task
Collect social post requests and schedule them in Hootsuite

Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.

Hootsuite
Slack Bot
General Input Database
App
Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Clear your Guru verification backlog in one weekly app

A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.

Guru
Slack Bot
App

Stop guessing whether your OKRs are on track.

Walk into the business review with goal progress, quarter pace, and the work behind every number already on one screen.