Skip to content

feat: add createReply, createReplyAll, createForward, and send draft tools for shared mailboxes - #654

Merged
eirikb merged 1 commit into
Softeria:mainfrom
lmsley:feat/shared-mailbox-reply-forward-send
Aug 29, 2026
Merged

feat: add createReply, createReplyAll, createForward, and send draft tools for shared mailboxes#654
eirikb merged 1 commit into
Softeria:mainfrom
lmsley:feat/shared-mailbox-reply-forward-send

Conversation

@lmsley

@lmsley lmsley commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds four missing shared-mailbox endpoints, requested in #652. These tools allow drafting and sending replies, reply-alls, and forwards from a shared mailbox without immediately sending — a workflow currently impossible with the existing send-only tools.

Tool Endpoint Scope
create-shared-mailbox-reply-draft POST /users/{user-id}/messages/{id}/createReply Mail.ReadWrite.Shared
create-shared-mailbox-reply-all-draft POST /users/{user-id}/messages/{id}/createReplyAll Mail.ReadWrite.Shared
create-shared-mailbox-forward-draft POST /users/{user-id}/messages/{id}/createForward Mail.ReadWrite.Shared
send-shared-mailbox-draft POST /users/{user-id}/messages/{id}/send Mail.Send.Shared

Motivation

The existing shared-mailbox tools (reply-shared-mailbox-mail, reply-all-shared-mailbox-mail, forward-shared-mailbox-mail) send immediately, with no way to create a draft first for review. The /me/ equivalents (create-reply-draft, create-reply-all-draft, create-forward-draft, send-draft-message) only work for the signed-in user's personal mailbox. This PR closes that gap.

OAuth scopes

Mail.ReadWrite.Shared is already required by create-shared-mailbox-draft. Mail.Send.Shared is already required by reply-shared-mailbox-mail, reply-all-shared-mailbox-mail, and forward-shared-mailbox-mail. No new OAuth consent is needed for users who already have the shared-mailbox preset enabled.

Changes

  • src/endpoints.json — four new entries inserted after forward-shared-mailbox-mail to keep the shared-mailbox block contiguous.

The code-generation pipeline (npm run generate) handles the rest automatically, as it does in CI.

Testing

npm run verify passes locally (68 test files, 1007 tests).

…tools for shared mailboxes

Adds four missing shared-mailbox endpoints that allow drafting and sending
replies, reply-alls, and forwards from a shared mailbox without immediately
sending — a workflow currently impossible with the existing send-only tools.

New tools:
- create-shared-mailbox-reply-draft (POST /users/{user-id}/messages/{id}/createReply)
- create-shared-mailbox-reply-all-draft (POST /users/{user-id}/messages/{id}/createReplyAll)
- create-shared-mailbox-forward-draft (POST /users/{user-id}/messages/{id}/createForward)
- send-shared-mailbox-draft (POST /users/{user-id}/messages/{id}/send)

The three draft-create tools use Mail.ReadWrite.Shared; the send tool uses
Mail.Send.Shared. Both scopes are already required by existing shared-mailbox
tools (create-shared-mailbox-draft and reply-shared-mailbox-mail respectively),
so no new OAuth consent is needed.

Closes Softeria#652
@eirikb

eirikb commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

LGTM, thanks 🙂

@eirikb
eirikb merged commit 6ea0428 into Softeria:main Aug 29, 2026
3 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.148.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants