send_mail
Send a new email from your GigaMail account using a two-phase approval flow: call once to get a preview and request ID, then call again with that ID after a human approves to execute.
Instructions
Send a new email from the user's 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. The preview shows from, every recipient as an address (never a display name) with an explicit/may_expand flag, subject and body. On execution returns the provider result: {success, provider_result {requested, accepted, ...}} — SMTP reports per-recipient acceptance, Microsoft Graph only an HTTP 202 (delivery not verified per recipient). Irreversible once sent.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC addresses. | |
| to | Yes | Recipient address(es), comma-separated. Prefer explicit addresses ('a@b.it'); a bare name or group alias may be expanded by the provider to more recipients than previewed (flagged as may_expand). | |
| bcc | No | BCC addresses. | |
| body | Yes | Plain-text body, sent as-is. | |
| subject | Yes | Subject line. | |
| account_id | No | Account to operate on (integer id from list_accounts). Omit or null = the user's active account. | |
| 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. | |
| attachments | No | File names to attach, as shown by list_knowledge_files. ONLY files registered in the account identity can be attached: an arbitrary path is not accepted. A name that matches nothing aborts the request instead of sending the mail without it. |