Edit an opportunity
compass_opportunities_updateCorrects an opportunity's content: label, description, priority, what done means, the 1–5 value / feasibility / risk scores, the owner (a PERSON page), notes, tags, workflow anchor, external link, visibility. Fields you omit are untouched; the lane is NOT here — move it with compass_opportunities_set_status. Opportunity ids come from compass_opportunities_list. May return needs_confirmation — say what you're changing and wait.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | New tag set — replaces existing tags. | |
| label | No | New one-line label (2–200 chars). | |
| assignee | No | The workspace member doing the work, by email or user id; null unassigns. They're notified. | |
| doneWhen | No | What's true when it's done, that someone else could check (≤1,000 chars). | |
| priority | No | How soon it matters; null clears it, and the map's suggestion shows again. | |
| riskScore | No | ||
| workspace | No | Workspace slug. Personal tokens with no default workspace MUST pass this; tokens with a default can override per call. Ignored for workspace API keys. | |
| approvalId | No | Approval id from a prior needs_confirmation response, after the user has approved. Omit on the first call. | |
| experiment | No | Measure it against the Ledger (expectation when it starts, verdict when it's done). | |
| valueScore | No | ||
| visibility | No | Who can see it: PRIVATE (only the user), WORKSPACE (every member, the default), or SHARED (specific people, granted afterwards). Say 'make it private' → PRIVATE. | |
| description | No | New description (≤5,000 chars). | |
| externalUrl | No | Where the doing happens off-platform (URL); null clears. | |
| ownerPageId | No | PERSON page id who owns the work; null clears. | |
| opportunityId | Yes | The change's key (e.g. ACME-12) or id, from compass_opportunities_list. | |
| workflowPageId | No | Workflow page to anchor to; null un-anchors. | |
| feasibilityScore | No | ||
| qualitativeNotes | No | Free-form notes (≤20,000 chars) — replaces the current notes. |