well_draft_email

shallow

io.github.WellApp-ai/well-mcp · Verify this server

Show an email draft on a card so the user can read it, edit it and send it. Nothing is sent by this call. The only thing it stores is each linked document's durable download link, which stays the same on every call. REQUIRED: `invoice_id`, `document_ids`, `transaction_id`, `task_id` or `links_no_file: true`: a draft that names none of them is refused with `attachment_required`. `links_no_file: true` is for a plain email about no invoice, no document and no transaction (a question to a supplier, a reply), when the user asks to see or edit the draft first; it cannot be combined with the three ids. To send an email the user dictated, `well_send_message` is the tool, not this one. `subject` and `body` are required too, except with an `invoice_id`: leave them out and Well words them from the invoice, in the language it prints in (a credit note's email names it a credit note and the amount it credits). Optional: `to`, `cc`, `bcc`, `purpose` (a few words on what the email is for). `to` holds the addresses the user gave. With an `invoice_id` and no `to`, Well fills `to` with the customer email the invoice prints, so do not look the address up yourself. With a `task_id` and no `to`, Well fills `to` with the email of the company the task names, when it knows one. When no address is known, pass `to: []` and draw the card anyway: the card asks the reader for the address. Never ask for it in text first. For an email about an invoice, pass its `invoice_id`: Well links that invoice's own PDF itself. Only an issued invoice can be emailed: a draft is refused with `invoice_not_issued` (offer Finalize instead) and a canceled one with `invoice_canceled`. Do not pass a `document_id` for an invoice: the `document_id` a create or extract call returned is the invoice's source data, not its PDF, and is refused. `document_ids` are other PDFs of this workspace to link; anything that is not a PDF is refused. An invoice with no PDF yet is refused with `invoice_pdf_missing`: call `well_generate_document` with its `invoice_id`, then call this tool again. For an email about an open anomaly task (for example writing to a supplier about a detected issue with no invoice or document to link), pass its `task_id`: Well checks the task and fills the recipient, you write the subject and body from what the task found. A task that is not an anomaly task is refused with `task_not_anomaly`, and a closed one with `task_closed`: only an open `anomaly-alert` task satisfies this. Write the body as plain paragraphs separated by a blank line. The user's own email app cannot carry a file, so Well adds each document's download link as the last paragraphs of the body, and the card shows them. The link does not expire: it stops when the document is deleted or printed again in place, or when the user asks to stop sharing it (`well_revoke_document_shares`). Never write that a file is attached ("Please find attached"); write for example "You can download the invoice here:" as the last line of your text, and the link follows it. Never write the link yourself. The user edits the draft on the card and presses "Send via your email app" there, which opens their email app with the message prefilled. Do not call `well_send_email_draft` yourself, and do not tell the user the email was sent until they say so. When the token authorizes one workspace, call this directly — no workspace call is needed first. When it authorizes several, this read will not guess which one you mean: pass `workspace_id` on the call.

100.0/100

1 trials · measured 2 days ago

well_draft_email scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against io.github.WellApp-ai/well-mcp, measured 18 Oct 2026 under methodology v0.2.0. Every measured component scored 100.

Component breakdown

ComponentWeightValue
Reliability35%not applicable
Schema integrity25%100.0
Failure behaviour15%not applicable
Latency15%not applicable
Concurrency10%not applicable

Tool details

Transport
remote
Credential class
gated
Input schema
not declared
Output schema
not declared
Side-effect classification
unclassified

Score history

DayScoreTierMethodology
2026-10-18100.0shallowv0.2.0

Probe evidence

ProbeOutcomes
schema_integritypass: 1

Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.

Embed this score

Available for every tool, scored or not — not a verification perk. Always links back to this page.

Vouch score: well_draft_email
[![Vouch score](https://vouch.tools/api/tools/c6ccae56-0fca-4f53-88ec-3446f321dcb6/badge.svg)](https://vouch.tools/tools/c6ccae56-0fca-4f53-88ec-3446f321dcb6)
well_draft_email — Vouch