perspective_update
Applies natural-language feedback to an existing perspective's outline (e.g., "make it shorter", "add a budget question", "warmer tone"). Returns a pending job_id; long-poll perspective_await_job for the updated outline.
Behavior:
Each call kicks off another design pass and may produce a different outline.
Valid lifecycle statuses are OUTLINE_DEFINED, IN_REVIEW, READY_TO_PUBLISH, and COLLECTING. DRAFT perspectives must use the respond tool; completed or otherwise non-editable perspectives return a current-status error.
Errors when the perspective is not found or you do not have access.
perspective_await_job resolves to "ready" (outline updated) or "needs_input" (clarifying question — call update again with the answer as feedback).
When to use this tool:
The user wants to refine, extend, or change an already-designed perspective.
Iterating on tone, question set, or output fields after a preview test.
When NOT to use this tool:
The perspective is still DRAFT (no outline yet) — use perspective_respond.
Creating a new perspective — use perspective_create.
Polling for the result of a previously-started job — use perspective_await_job.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"workspace_id": "<workspace_id>",
"perspective_id": "<perspective_id>",
"feedback": "<feedback>"
},
"name": "perspective_update"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| feedback | Yes | Natural language feedback: 'make it shorter', 'add budget question', etc. | |
| workspace_id | Yes | Workspace ID (from workspace_get_default or workspace_list) or workspace slug (uniqueName) | |
| perspective_id | Yes | Perspective ID (must have outline - status OUTLINE_DEFINED or later) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Opaque job identifier. Pass to perspective_await_job to retrieve the terminal result. | |
| status | Yes | Job is running. Call perspective_await_job with the job_id to get the result. | |
| job_kind | No | Which async job family this id belongs to. Present on start responses so the model knows what await shape to expect. | |
| workspace_id | Yes | Workspace ID | |
| perspective_id | Yes | The perspective ID | |
| workspace_name | Yes | Workspace name |