Our review
Creates a draft email message in the signed-in user's mailbox using the Microsoft Outlook Mail API.
Strengths
- Enables composing an email in multiple steps before sending.
- Supports To, CC, and BCC recipients.
- Handles HTML formatting for the message body.
- Returns a message object with an ID for tracking.
Limitations
- Requires OAuth authentication with Mail.ReadWrite scope.
- Does not allow adding attachments directly (separate operation).
- Only works with Microsoft Outlook accounts.
When you need to prepare a complex email with multiple recipients or formatted content before sending.
For immediate sending or very simple emails, prefer the direct send operation.
Security analysis
SafeThe skill describes a standard API operation to create a draft message using Microsoft Outlook Mail API with a local sandbox URL. It does not instruct any destructive or data exfiltration actions, and the curl example uses a placeholder token and localhost, posing no security risk.
No concerns found
Examples
Create a draft email to Megan Bowen at megan@contoso.com with subject 'Quarterly Review Meeting' and a simple HTML body telling her to join the quarterly review.Draft an email with subject 'Project Update' to John (john@example.com) and CC Sarah (sarah@example.com), using normal importance and plain text body saying 'Here is the update.'Create Draft Message
Creates a new draft message in the signed-in user's mailbox. The draft can be updated and sent later using the send draft operation.
API Details
- API: Microsoft Outlook Mail API
- Method: POST
- Path:
/me/messages - Operation ID:
createMessage - Tag: Messages
- OpenAPI: microsoft-outlook-mail-api.yaml
Sandbox
Mock server URL: http://localhost:8080/rest/microsoft-outlook-mail-api/1.0.0/me/messages
Required Headers
Authorization: Bearer {access-token}Content-Type: application/json
OAuth Scopes
Mail.ReadWrite
Request Body
| Property | Type | Description |
|----------|------|-------------|
| subject | string | The subject of the message |
| body | object | The body of the message with contentType (text/html) and content |
| toRecipients | array | Array of recipient objects with emailAddress containing name and address |
| ccRecipients | array | Array of CC recipient objects |
| bccRecipients | array | Array of BCC recipient objects |
| importance | string | The importance of the message: low, normal, high |
Example Request
curl -X POST "http://localhost:8080/rest/microsoft-outlook-mail-api/1.0.0/me/messages" \
-H "Authorization: Bearer {access-token}" \
-H "Content-Type: application/json" \
-d '{
"subject": "Quarterly Review Meeting",
"body": {
"contentType": "html",
"content": "<html><body>Please join us for the quarterly review...</body></html>"
},
"toRecipients": [
{
"emailAddress": {
"name": "Megan Bowen",
"address": "megan@contoso.com"
}
}
],
"importance": "normal"
}'
Example Response
{
"id": "AAMkAGI1AAAGB1rUAAA=",
"subject": "Quarterly Review Meeting",
"bodyPreview": "Please join us for the quarterly review...",
"body": {"contentType": "html", "content": "<html><body>Please join us for the quarterly review...</body></html>"},
"importance": "normal",
"isRead": false,
"isDraft": true,
"hasAttachments": false,
"from": {"emailAddress": {"name": "Alex Wilber", "address": "alex@contoso.com"}},
"toRecipients": [{"emailAddress": {"name": "Megan Bowen", "address": "megan@contoso.com"}}],
"createdDateTime": "2024-01-15T10:30:00Z",
"receivedDateTime": "2024-01-15T10:30:00Z",
"parentFolderId": "AAMkAGI1AAAEJAAA="
}
Instructions
Use this operation to create a draft message that can be edited before sending. After creating the draft, you can add attachments using the create attachment operation and then send it using the send draft message operation. The response returns the created message with isDraft set to true and a status code of 201. This is the preferred workflow when you need to compose a message in multiple steps.
Task Prioritizer
Productivity
Prioritizes your tasks using Eisenhower, ICE, and RICE frameworks.
Weekly Status Report Generator
Productivity
Generate structured and concise weekly status reports.
Daily Standup Report
Productivity
Generates structured and concise daily standup reports.