Skip to main content
Glama
Sendmux Email Inbox API + Sending

Sendmux Email Inbox API + Sending

Official
by qubrics

Send Saved Draft

mailbox_send_draft

Send only the approved saved draft revision, using expected_revision to block stale sends; optionally schedule delivery within 30 days by passing scheduled_for and expected_schedule_version.

Instructions

Send only the saved revision the user approved. Requires mailbox.read and email.send. Pass expected_revision; to schedule within 30 days also pass scheduled_for and expected_schedule_version. After cancelling a schedule, include the current schedule version.

Input Schema

NameRequiredDescriptionDefault
draftIdYesStable draft ID.
If-MatchNoCurrent draft ETag; expected_revision is required.
mailbox_idNoMailbox public ID to target when the credential grants access to more than one mailbox. Omit when the credential is scoped to exactly one mailbox.
scheduled_forNoSend no earlier than this future time, within 30 days. Include a timezone and at most millisecond precision. Omit to send now.
expected_revisionYesExact saved revision to send. A stale revision returns conflict.
expected_schedule_versionNoCurrent schedule version. Required for scheduling and after cancelling a schedule.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.17

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a non-read-only, non-idempotent, non-destructive, open-world operation. The description adds genuinely new behavioral context beyond them: required scopes (mailbox.read and email.send), the optimistic-concurrency contract that a stale expected_revision returns a conflict, and the 30-day scheduling horizon. It stops short of saying what happens to the draft after a successful send.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the core action and the approval constraint, then escalating to the optional scheduling path. Every sentence carries requirement or precondition information, though the telegraphic phrasing ('Requires mailbox.read and email.send') is terse enough to read as a checklist.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering the safety profile, a full output schema, and 100% schema description coverage, the description only needs to supply auth requirements, precedence, and conditional-parameter logic — all of which it does. The one residual gap, post-send draft state, is plausibly covered by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents every parameter individually and the baseline is 3. The description adds conditional interaction logic the schema does not express — expected_revision as mandatory, and expected_schedule_version being required both for scheduling and after a schedule cancellation — but offers no detail on If-Match or mailbox_id handling.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Send... the saved revision') and adds a distinguishing scope: only the revision the user approved, implying a guarded send rather than a generic send. It never names the closest siblings (mailbox_send_message, mailbox_update_draft), so the separation is implied by scope rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage conditions are conveyed through parameter preconditions ('to schedule within 30 days also pass scheduled_for', 'after cancelling a schedule, include the current schedule version'), which tells the agent when each mode applies. There is no explicit statement of when to choose this over mailbox_send_message or mailbox_control_draft_schedule, and no exclusion of unsaved/composed content.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools