Create key result
create_key_resultAdd a key result to an objective (the KR in OKR). Key results are measurable outcomes that track progress toward the objective. You can identify the parent objective by title or ID.
[write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time. Call it on the first clear ask; the card is the yes — do not re-ask in chat.]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | Unit of measurement (e.g., "%", "$", "users", "trees") | |
| month | No | YYYY-MM the current_value belongs to (default: this UTC month). Writes monthly_history. Pass 2026-06 to stamp June, not a Q4 pile. | |
| title | Yes | Key result title (measurable outcome). Title, unit, and current must name the SAME quantity FO can see. | |
| due_date | No | Due date (YYYY-MM-DD). Strongly recommended — a KR without one cannot expire or alarm. | |
| companyId | Yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. | |
| direction | No | Goal direction. "at_least" (default): reach the target. "at_most": stay UNDER the target — a ceiling (e.g. founder decisions per 28 days). A ceiling KR is on-track only while current ≤ target. | |
| assigned_to | No | User ID or "me"/"current_user" to assign to | |
| description | No | What the number is (e.g. "This month cash in minus cash out"). Agents read this back on get_okrs — do not leave blank for cash KRs. | |
| objective_id | No | ID of the parent objective (optional if using objective_title) | |
| target_value | No | Target value to achieve. 0 is a valid floor (breakeven / this month FCF ≥ $0). Omit only if you intend the default 100. | |
| current_value | No | Manual KRs only — omit when measure_source is set: the source owns current and the daily OKR health sweep fills it (a typed value on a bound KR is refused). For a manual KR: THIS calendar month's actual, not YTD, not a projection. Cash-flow and Amazon-deposit KRs should bind fcf_last_closed_month / amazon_deposits_last_closed_month instead of typing a number. | |
| measure_source | No | Bind current progress to a live data source so it auto-updates daily instead of relying on manual edits. One of: stripe_active_subscribers, stripe_mrr, crm_active_leads, crm_webhook_leads_month, customer_evidence_count, product_telemetry_count, fcf_last_closed_month, amazon_deposits_last_closed_month, human_door_decisions_28d, factory_landings_aligned_pct_28d. Use when the KR measures exactly what a source provides. Do not bind finance/P&L here. | |
| objective_title | No | Title of the parent objective (use this or objective_id) |