Review assistant changes
Ask AI
How a connected agent prepares a 30-minute proposal that only you can approve in SquadBear
Four writes never run from the assistant's token. The first call stores a proposal. You approve it in SquadBear. The assistant then repeats the same arguments to commit.
Which writes wait
These MCP tools prepare a proposal instead of executing:
erase_employee— GDPR erasure of an offboarded person. Irreversible.update_leave_policy— publishes a new policy version for everyone enrolled.update_workspace_settings— includes retention that can delete records, and the public calendar feed.start_process— starts a process for one person or a team, which can notify people and call integrations.
Booking leave, clocking in, logging time and approving a request do not use this review. Those follow the assistant's own Ask setting and the same domain rules as the web app.
ChatGPT's curated catalog does not include the four tools above. Use
https://app.squadbear.com/mcp from Claude, Cursor, Codex or Gemini.
How
- Ask the assistant to make one of those four changes. The tool returns
approvalRequired, areviewUrl, and an expiry 30 minutes out. Nothing has changed. - Open the link while signed in as the same person who connected the agent (Connect an agent). The Review and approve dialog shows the target, a current-versus-proposed table when the change is a policy or workspace setting, and the exact arguments under Technical details.
- Choose Approve proposal or Reject. Approve does not run the change. Reject leaves the workspace untouched. Another signed-in user cannot decide this proposal, and an MCP bearer token is refused even if a cookie is also present.
- Return to the assistant. It calls
get_approval_status. Onlyapprovedallows a second call with identical arguments plusapprovalId. Changed arguments, a changed target, an expired proposal, or an interrupted commit all refuse. Interrupted commits stay inneeds_reviewand are not retried automatically.
The review cannot edit values. To change a field, ask the assistant for a new proposal.
Worked example
Marta asks Claude to require that carried Standard vacation days start by the end of
September. Claude calls update_leave_policy and sends her
https://app.squadbear.com/agents?approval=…. The dialog lists Carryover deadline
from "No deadline" to "Leave must start by the deadline", and Deadline month from
"No month set" to "End of September". She clicks Approve proposal, goes back to
Claude, and the second call publishes policy version 2. The ledger is unchanged until
that second call.

