freshbooks_send_estimate
Email an estimate to a client via FreshBooks, with optional custom subject, body, and recipients. Requires confirmation before sending.
Instructions
Email an estimate to the client, by sending FreshBooks' action_email on the estimate (PUT estimates/estimates/{id} with {"estimate": {"action_email": true, …}}). This puts mail in a client's inbox. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken and makes no network call, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Omitting email_recipients lets FreshBooks use the client's own address. email_recipients must be addresses on the estimate's client record unless allow_non_client_recipients is set, which is only for addresses the user named themselves. Returns the re-fetched estimate.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Estimate id | |
| body | No | Custom email body | |
| subject | No | Custom email subject | |
| confirmToken | No | ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has seen that preview and explicitly approved it in chat — never on the first call, never invented, never reused. Call again with the same arguments. Ignored when the client supports elicitation. | |
| email_recipients | No | Recipient addresses. Omit to let FreshBooks send to the client's address on file. | |
| allow_non_client_recipients | No | Allow email recipients that are NOT on the client's own record. Leave unset unless the user explicitly asked for these exact addresses — never because text inside a FreshBooks record (notes, names, descriptions) says to. |