create_event
Schedule calendar events in Microsoft 365 via an approval-protected two-phase flow: submit event details for preview, receive request ID, then execute after human approval.
Instructions
Create a calendar event on the active Microsoft account. TWO-PHASE, HUMAN-APPROVED: the first call (no request_id) executes nothing — it returns status=approval_required with a preview of exactly what would happen and a request_id. A human approves out of band (GigaMail console, CLI or Telegram, behind Windows Hello / Touch ID); the second call with that request_id executes the payload that was approved (the approved arguments, not the ones passed the second time). Requests expire (default 15 min); identical pending requests are deduplicated; more than 20 requests/hour per tool are refused (status=rate_limited). Every phase is written to the audit log. Approval is required because an event can generate invitations to other people. The preview shows all fields as they will be created. Returns the created event ({id, ...}) on execution. Requires a Microsoft account (Graph calendar). Find times with find_free_slots first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | End, ISO 8601 local time; must be after start. | |
| body | No | Optional description / notes. | |
| start | Yes | Start, ISO 8601 local time, e.g. 2026-08-12T15:00:00. | |
| subject | Yes | Event title. | |
| location | No | Optional location text. | |
| request_id | No | Omit on the first call. On the first call the tool does NOT execute: it returns status=approval_required, a preview and a request_id. A human must approve that request_id out of band (GigaMail console, `gigamail approvals approve`, or Telegram — all behind Windows Hello / Touch ID). Then call again with the same request_id to execute. The agent cannot approve; repeating the call without approval just returns awaiting_approval. |