event_update
Update explicit fields on a calendar event. Only the people in it, the member who asked for it, or an admin can change it, and anyone in the company can change an event open to the whole company; event_list marks the rest readOnly. eventHint is the exact event ID or exact event title from a event_list result, resolved server-side to the canonical event; use event_list first when neither is known. At least one mutable field is required. `workspace_write` · v3
Authorization
memberToken The tools internkim uses inside a company, callable from outside it. A token belongs to a person, and every call runs as that person, so a token can never do more than its owner can.
The first token is made signed in, from the settings screen. After that a token makes its own
successors: POST /token for a new one, DELETE /token for the old one, so a script rotates
without a browser. A token can neither mint a rung above its own nor revoke itself.
Send Authorization: Bearer <token> on every request.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
text/plain
text/plain
text/plain
text/plain
text/plain
text/plain
text/plain
curl -X POST "https://example.com/tools/event_update/invoke" \ -H "Content-Type: application/json" \ -d '{ "input": { "eventHint": "weekly sync", "endsAt": "2026-09-05", "participantPersonHints": [ "Sample Lee", "Example Park" ], "startsAt": "2026-09-01" } }'{ "toolName": "event_update", "outcome": "succeeded", "selectedBackend": "device", "effects": [ { "objectType": "calendar", "effect": "created", "id": "7a93de11-…" } ], "result": { "…": "the tool's own document" }}event_list POST
List calendar entries in a concrete time window. Reads the requester's own schedule unless personHints names other people or scope is all. Personal schedules include events they attend and company-open events. Each entry names its source; approved leave is read-only. Resolve natural-language dates to startsAt and endsAt before calling. `read` · v4
channel_add POST
Create a group channel in the company messenger with the requester as its owner, and add the members named. It is done as the requester, exactly as their messenger screen does it, and refused for the same reasons. `external_write` · v1