Prepare changes members will see
project_draftPrepare up to twenty changes to a RelayLink project — new work, revisions, assignments, decisions — as one change set. NOTHING IS WRITTEN by this call: it validates everything and returns a CONFIRM NEEDED preview naming exactly what every member will then be able to see; only confirm_intent after the user's own explicit approval applies it, all at once. operations is a JSON array, each item an object with "op" and whichever fields it needs: create_project (title, outcome?, definitionOfDone?, targetDate?) — must be the ONLY operation, and project must be omitted; set_project (outcome?, definitionOfDone?); set_state (state: active|on_hold|completed); create_work (kind: decision|constraint|question|task|note, body, title?, definitionOfDone?); update_work (workItem, expectedRevision, title?, body?, definitionOfDone?); assign_work (workItem, assignTo, due?); set_work_state (workItem, state: done|cancelled|open — a manager override; the assignee's own progress is project_work_update); publish_entry (fromEntry, kind); adopt_decision (workItem); supersede_decision (workItem, body? — omit to withdraw instead). workItem may be a real work_id, or "$N" naming the Nth operation in THIS same array when it created the item. Inviting, removing, changing a role, transferring ownership, archiving, cancelling or deleting a project are refused here by name — those are decided in the browser. This is shared with everybody on the project: every member can read it, so use these tools only for work the user means to be visible to the people they have put on this project. A private note, task or preference that is only the user's own is the notebook's (notebook_*) instead, and a bare "add a task" may be meant for another connected app — if more than one destination is plausible and the user has not said which, ask once and stay with the answer.
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": {
"operations": "<operations>"
},
"name": "project_draft"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project | No | The project's name or id. Omit only when the first (and only) operation is create_project. | |
| operations | Yes | A JSON array of operations, e.g. [{"op":"create_work","kind":"task","body":"Write the brief"}]. |