It’s a common point of confusion, but you’ve actually hit a known limitation of the Outlook connector. Even though your flow is finishing with a "Success" status, it isn't actually "sending" the draft.
The Problem: Why it’s failing
The Send an email (V2) action is designed to create and send a new message from scratch. It does not have a parameter to accept a Message ID, so it cannot "pick up" an existing draft and push it out of your mailbox. When you run your current flow, it likely creates a new blank email or simply ignores the draft object because the connector doesn't see it as a valid input for a new message.
The Solution: Use Drafts as Templates
The most reliable way to handle this without needing complex Graph API calls is to treat your Draft as a data source. You extract the content and send a "copy."
Follow these steps to fix your flow:
Get Emails (V3): Set the Folder to Drafts.
Apply to Each: Use the value from the step above.
Inside the Loop:
Add Send an email (V2).
To: Enter your recipient (or map it from the draft if the field is populated).
Subject: Select Subject from the Dynamic Content (from the Get Emails step).
Body: Select Body. Important: Click "Switch to HTML view" (the </> icon) if you see it, and ensure the Is HTML setting is set to Yes.
Add a Move/Delete Step: After the email is sent, add a Delete email (V2) or Move email (V2) action using the Message ID. If you don't do this, the flow will send a duplicate of the same draft the next time it runs!
Handle Throttle/Delays:
If you have a Delay action inside your loop, you must go to the Apply to Each Settings.
Turn Concurrency Control to On.
Set the Degree of Parallelism to 1. This ensures the flow processes one email at a time and respects your delay.
Advanced option
If you truly need to send the actual draft message (same message ID), this is only possible using Microsoft Graph API:
POST /me/messages/{id}/send
This requires:
HTTP action
App registration
Delegated Graph permissions (Mail.Send, Mail.ReadWrite)
This approach is more complex and usually not recommended for beginners.
Summary
Your flow logic is fine ✅
Outlook connector cannot send Drafts directly ❌
Copy draft content → send a new email ✅
Disable concurrency so delays work ✅
Once you treat Drafts as templates, your flow will work as expected.
✅ If this answer helped resolve your issue, please mark it as Accepted so it can help others with the same problem.
👍 Feel free to Like the post if you found it useful.