Quick answer
The short version of how to write OKRs using ChatGPT is three passes in one chat: frame one Objective in plain language with no numbers in it, force exactly three Key Results into a baseline-to-target-by-date shape with [INSERT BASELINE] wherever you have not given a real figure, then make the model score and defend every target.
If you want to know how to write OKRs using ChatGPT and end up with something your leadership team actually approves, the problem is almost never the model. It is what you hand it. Type “write 3 OKRs for my marketing team” into a fresh chat and you get back three sentences that sound like a mission statement and measure nothing at all.
Most managers then burn an afternoon on the same loop: generate, wince, rewrite by hand, wonder why they bothered. The fix is not a longer prompt — it is refusing to let ChatGPT supply a single number you have not verified yourself. Three things go wrong in almost every first attempt:
- The Objective is a feeling. “Become a customer-obsessed team” is a mood, not a destination.
- The Key Results are tasks. “Build a reporting dashboard” is something you do, not something that changes.
- The numbers are invented. ChatGPT will state your current retention rate is 87% purely because 87% sounded reasonable.
What follows is a three-pass method, five copy-paste prompts, and the exact constraint lines that shut down each of those failures. Budget about fifteen minutes the first time and five minutes every quarter after that.
Will this work for you?
Why ChatGPT Writes Fluffy OKRs
ChatGPT defaults to vague goals because a vague goal is the statistically safest answer to a vague request. Ask for goals with no baseline, no unit, and no deadline in the input, and the model has nothing to be specific about — so it reaches for the language it has seen most often in public strategy documents, which is corporate mood music.
✕ What a one-line prompt returns
Objective: Drive operational excellence across the customer team. KR1: Improve customer satisfaction. KR2: Build a new onboarding dashboard. KR3: Enhance team collaboration and reduce friction.
✓ What a bracketed prompt returns
Objective: Make the first two weeks the reason customers stay. KR1: Raise 90-day retention from [INSERT BASELINE]% to 82% by 31 March. KR2: Cut median time-to-first-value from [INSERT BASELINE] days to 5 days. KR3: Lift onboarding CSAT from [INSERT BASELINE] to 4.5 of 5.
Notice what changed. Not the tone, not the length — the second version simply cannot be written without real data, so it forces the numbers into the open where your team can argue about them.
The other half of the problem is verb gravity. Words like build, launch, create, and implement pull the model straight into project-plan mode, because that is what those verbs mean everywhere else. Banning them outright is the single highest-yield edit you can make, and it belongs in a family of techniques we cover in depth under negative constraints in prompting.
A one-line request and a bracketed request start from the same idea and end somewhere completely different.
The invented baseline problem
This one deserves its own warning because it is the failure most likely to embarrass you in a room. When your prompt contains no starting number, ChatGPT does not stop and ask. It produces a plausible one, formatted exactly like a real metric, and you have no visual cue that it was fiction. That behaviour is the ordinary mechanics of the tool, not a bug — the same mechanics we unpack in our guide to why ChatGPT makes things up.
A director reading your OKR sheet cannot tell an invented 87% from a measured one. You can, if every unknown arrives wrapped in brackets you have to fill in by hand.
The Baseline Bracket Method
The Baseline Bracket Method is a three-pass prompting sequence built on one rule: ChatGPT never supplies a number you have not verified. Unknown values come back as visible [INSERT BASELINE] slots, and only after you fill them does the model get to argue about whether your targets are ambitious enough.
Three passes, each with one job. Skip the middle one and you are back to invented numbers.
Each pass exists because a specific thing breaks when you skip it. This is the Baseline Bracket Method we teach at PromptPeakAI, and it is a direct application of the house Logic System — role, goal, context, format — which is worth reading first if the four-part input model is new to you: the Logic System explained.
- Frame stops the Objective from becoming jargon, because you write it before the metrics exist.
- Bracket stops fabrication, because gaps are marked instead of filled.
- Stress stops sandbagging, because the model has to defend each target out loud.
All three passes run in one conversation, not three separate chats — each reply becomes context for the next request, which is why the method works at all. If chaining prompts this way is unfamiliar territory, start with workflow chaining for multi-step tasks.
People often assume the hard part of how to write OKRs using ChatGPT is finding the perfect wording. It isn’t. The hard part is deciding in advance what the model is not permitted to do, and every one of the three passes is really a set of prohibitions with a job attached.
How to Write OKRs Using ChatGPT
Here is how to write OKRs using ChatGPT from a blank chat: open one conversation and run the three passes in order, pasting each prompt below and answering whatever it asks before you move on. You finish with one Objective, three bracketed Key Results, and a written justification for every target.
Do not skip ahead to Pass 2 because it looks like the useful one. The framing pass is what gives the model something to be specific about, and without it Pass 2 has nothing to bracket.
Frame the Objective first
Give the model your raw material, not a polished summary. Messy quarterly notes, the friction points your team complains about, last quarter’s misses — unedited input produces sharper Objectives than pre-cleaned input, because the friction is the signal. Everything you feed in here is context, and how much context you give does more for output quality than any phrasing trick.
You are an OKR coach who has run quarterly planning for operations teams. My role: [your job title], leading [team name and size]. Our company priority this quarter: [paste it in the company's own words]. Raw notes from our planning session: [paste your messy notes, complaints, and last quarter's misses] Write exactly ONE Objective for my team. Rules: - Plain language a new joiner would understand on first read. - It states a destination, not an activity. - Do NOT include any numbers, metrics, or dates in the Objective. - Do NOT use the words excellence, world-class, best-in-class, or optimise. Then list the 3 to 5 measurable things you would track against it — as questions, not numbers. Ask me anything you need before you answer.
Bracket every unknown number
This is the pass that earns the method its name. You are telling ChatGPT explicitly that it is not allowed to guess, and giving it a specific format to use instead when it does not know something.
Now turn that Objective into exactly 3 Key Results. Every Key Result must follow this shape: [Increase or Decrease] [metric with its unit] from [baseline] to [target] by [date]. Hard rules: - NEVER invent a baseline, a target, or a percentage. If you do not have a real number from me, write [INSERT BASELINE] or [INSERT TARGET] in its place. - Do NOT use the verbs build, create, launch, implement, develop, or improve. - Every Key Result measures something that changes for a customer, an employee, or the business — never work that gets done. - Exactly 3 Key Results. No sub-tasks. Output as a table with these columns: Key Result | Metric | Baseline | Target | Deadline | How we measure it.
You will get a table with visible gaps in it. That is the intended result, not a failure — those gaps are the list of numbers you now go and look up. If the table arrives as prose instead, our guide to specifying output format covers how to pin the structure down.
The Pass 2 Key Results table in the ChatGPT chat thread, showing INSERT BASELINE placeholders in the Baseline column.
Crop to the response area only. Hide the sidebar, chat history, account name, and profile photo.
File: chatgpt-okr-table-output.png · Alt: "ChatGPT output table of Key Results with INSERT BASELINE placeholders visible"Stress-test the targets
Fill in your real baselines, paste the completed table back, and then make the model argue with you. Ambition is where OKRs usually fail quietly: managers set targets they already know they will hit, and nothing in the drafting process ever challenges that.
Here is the same table with our real baselines filled in: [paste your completed table] For each Key Result, do three things: 1. Score the target from 0.0 to 1.0, where 0.5 means genuinely uncertain and 1.0 means we would hit it by doing nothing differently. State the score and one sentence of reasoning. 2. If the score is above 0.7, propose a harder target and name the specific change we would have to make to reach it. 3. Flag any Key Result our team cannot influence directly, and say who owns it instead. Be blunt. Do not soften a weak target to be agreeable, and do not invent industry benchmarks — if you do not know a comparison number, say so.
You should now have one Objective, three Key Results with real baselines and dated targets, and a difficulty score plus written justification for each one.
That justification column is the part people underuse. When a VP asks in review why the target is 82% and not 90%, the answer already exists in writing, in your own filled-in numbers.
What a Measurable Key Result Contains
A Key Result is measurable when a stranger could check it without asking you a follow-up question. Five parts have to be present: a direction, a metric with a unit, a starting number, a target number, and a date. Miss any one and it reverts to a wish — a standard that comes straight from John Doerr’s definition of an Objective and a Key Result at What Matters, the reference site for the framework.
Five parts. A Key Result missing any one of them is not checkable by anyone but you.
✕ An activity wearing a metric's clothes
"Launch the revamped onboarding programme and roll out training to all regional managers by end of Q1."
✓ The outcome that programme was for
"Reduce 90-day new-hire attrition from 14% to 8% by 31 March."
The bad version is not lazy writing — it is a real project, and someone will genuinely do it. It just belongs on a project plan, because you could complete every word of it and change nothing about attrition. That distinction between what you do and what moves is also the line between an OKR and a KPI, which matters when you are building a KPI framework alongside your goals.
| Type | What it measures | Prompt constraint to use |
|---|---|---|
| Objective | The destination, in words | Ban numbers and buzzwords |
| Key Result | A change with a date | Force baseline, target, unit |
| KPI | Steady-state health | Allow ongoing metrics, no deadline |
| Task | Work someone performs | Exclude from OKR output entirely |
Keep that last row in mind when you review the draft. A good chunk of what ChatGPT hands back on a first pass belongs in the bottom row, and the quickest edit is deletion rather than rewriting.
Finance leaders tend to spot the KPI confusion fastest, because they already live with the distinction: an uptime percentage they watch every month is not a goal, it is a health check. If a drafted Key Result would still be worth tracking after the quarter ends, it is probably a KPI and belongs on a dashboard instead.
Two Prompts for Softer Goals
Some functions have a genuinely harder time here. People teams and engineering teams both produce goals that resist measurement, for opposite reasons — one deals in feelings, the other in deliverables. Both need a variant prompt rather than the generic one.
People and HR outcomes
HR OKRs get criticised for softness more than any other function’s. The fix is not to pretend morale is a number; it is to name the measurable proxies you already collect and ban the adjectives that let you avoid them.
Act as a people operations lead who has to defend these goals to a CFO. Our people priority this quarter: [describe it in one sentence]. Data we already collect: [list what you actually have — eNPS, time-to-fill, turnover, absence, survey scores]. Write 1 Objective and 3 Key Results. Rules: - Only use metrics from the list above. If you need one we do not collect, say so and stop. - Do NOT use the words improve, enhance, boost, foster, or engagement without a number attached. - Each Key Result names the measurement method and who reports it. - Where I have not given you a baseline, write [INSERT BASELINE].
Engineering work as outcomes
The engineering version is a translation job. Your team’s list of shipped work is the input; the output has to be what changed for a person using the product.
Act as a product lead translating engineering plans into business outcomes. Below is our planned technical work for next quarter: [paste your epics, tickets, or roadmap items] Convert this into 1 Objective and 3 Key Results. Rules: - Every Key Result measures customer experience or system reliability — latency, error rate, uptime, task completion, support volume. - NOT development activity. No shipping, refactoring, migrating, or deploying appears in any Key Result. - Keep the shape: [Increase or Decrease] [metric with unit] from [baseline] to [target] by [date]. - Use [INSERT BASELINE] wherever I have not given you a real figure. - After the table, list which planned work items do not map to any outcome — I need to know what we cannot justify.
That final instruction is the one engineering managers tell me changes the conversation. A list of work that maps to no measurable outcome is either the most valuable thing on your roadmap or the first thing to cut, and you want to know which before planning closes. If your raw material is a recording rather than a document, our walkthrough on turning a meeting transcript into structured minutes gets you to a usable input first.
When the Output Goes Wrong
Four failures account for nearly everything that goes wrong when learning how to write OKRs using ChatGPT. Each one has a one-line fix that belongs in the prompt rather than in a manual rewrite afterwards — fixing it downstream means fixing it again next quarter.
| What you see | Why it happens | The fix |
|---|---|---|
| Key Results are task lists | Action verbs pull toward project mode | Ban build, launch, create, implement |
| Confident invented percentages | No baseline given, so it fills gaps | Require [INSERT BASELINE] for unknowns |
| Objective reads like a press release | No reader or audience named | Name who must understand it |
| Targets you would hit anyway | Nothing challenged the ambition | Run the 0.0 to 1.0 scoring pass |
A fifth one is subtler: the model produces five or six Key Results because more looks thorough. Three is the working limit for a reason — every extra one dilutes where your team actually spends the quarter. State the number explicitly and repeat it in the same prompt if you have to.
Run each drafted Key Result through this before it goes anywhere near your team.
Pasting Strategy Into a Chatbot
Your quarterly plan is one of the more sensitive documents you handle, and the boundary that matters is not free versus paid — it is a personal account versus a company one. On personal plans, conversations may be used to improve the models unless you switch that off; business and enterprise workspaces are excluded by default. Our full breakdown lives in is ChatGPT safe to use at work.
Your own framing, public priorities, anonymised metrics.
Named clients, headcount figures, exact revenue numbers.
Unreleased financials, personal performance data, anything under NDA.
On a personal account, the toggle you want is under Profile, then Settings, then Data Controls, labelled “Improve the model for everyone.” Turning it off excludes new conversations from training — OpenAI’s own account of how it uses consumer conversations spells out the difference between individual and business plans, and it is worth reading once rather than guessing.
The ChatGPT Settings panel open on Data Controls, showing the Improve the model for everyone toggle.
Crop to the settings panel only. Hide the account email, name, plan badge, and profile photo.
File: chatgpt-data-controls-training-toggle.png · Alt: "ChatGPT Data Controls settings showing the model training toggle for workplace privacy"Worth saying plainly: if your employer has an approved AI tool, use that one. A privacy toggle you set yourself is not the same thing as a policy your legal team signed off, and quarterly strategy is a poor place to find out where that line sits.
What ChatGPT Cannot Do Here
This method produces a defensible draft in a fraction of the usual time. It does not produce your goals, and the difference is worth being honest about before you rely on it.
Four things stay yours no matter how good the prompt is:
- Choosing what matters. ChatGPT weighs every priority in your notes equally. Deciding which one is actually the quarter's bet is judgement, not extraction.
- Knowing what is achievable. It has no idea that your team is two people short or that the platform migration lands in March.
- Reading the politics. A target that is technically fair and politically impossible looks identical to the model.
- Owning the number. When the quarter closes at 71%, nobody will accept that a chatbot set the target.
There is also a quieter risk. A method this fast makes it easy to generate a full set of departmental OKRs without the arguments that normally surround them — and those arguments are where alignment actually happens. Use the draft to start the conversation, never to skip it.
Once the set is agreed, the reporting side becomes the next problem, and the same specificity pays off again — dated numeric targets are what make a traffic-light status report possible to write honestly. Save your three prompts somewhere you will find them in twelve weeks, because the second run takes minutes.
Run the three passes next planning cycle
- Gather your raw notes, last quarter's misses, and the company priority in its own words Frame one Objective with no numbers, metrics, or buzzwords in it Force three Key Results into the baseline-to-target-by-date shape, bracketing every unknown Look up your real baselines by hand and paste the filled table back in Make ChatGPT score each target 0.0 to 1.0 and raise anything above 0.7 Save all three prompts before you close the chat — the next run takes minutes