Microsoft Office 365 · Arazzo Workflow

Microsoft Office 365 Update Draft and Send

Version 1.0.0

Create a draft, patch its subject and body, then send the updated message.

1 workflow 1 source API 1 provider
View Spec View on GitHub CloudCollaborationEnterpriseMicrosoftProductivityArazzoWorkflows

Provider

microsoft-office-365

Workflows

update-draft-and-send
Draft, revise, and send a message in one chain.
Creates a draft via POST /me/messages (201), updates it via PATCH /me/messages/{message-id} (200), then sends via POST /me/sendMail (202).
3 steps inputs: initialSubject, revisedBody, revisedSubject, toAddress outputs: draftMessageId, sentSubject
1
createDraft
Create an initial draft message with a placeholder subject.
2
reviseDraft
Patch the draft to apply the final subject and body. The update returns the revised message object.
3
sendMail
Send a message carrying the revised subject and body. Returns 202.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Office 365 Update Draft and Send
  summary: Create a draft, patch its subject and body, then send the updated message.
  description: >-
    Refines a draft before sending it. The workflow creates an initial draft
    message, patches the draft to update its subject and body (the update returns
    200 with the revised message), and then sends a message carrying the updated
    content. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: mailApi
  url: ../openapi/microsoft-office-365-mail-api-openapi.yml
  type: openapi
workflows:
- workflowId: update-draft-and-send
  summary: Draft, revise, and send a message in one chain.
  description: >-
    Creates a draft via POST /me/messages (201), updates it via PATCH
    /me/messages/{message-id} (200), then sends via POST /me/sendMail (202).
  inputs:
    type: object
    required:
    - initialSubject
    - revisedSubject
    - revisedBody
    - toAddress
    properties:
      initialSubject:
        type: string
        description: The subject used when first creating the draft.
      revisedSubject:
        type: string
        description: The final subject applied during the update and send.
      revisedBody:
        type: string
        description: The final plain-text body content.
      toAddress:
        type: string
        description: The email address of the primary recipient.
  steps:
  - stepId: createDraft
    description: Create an initial draft message with a placeholder subject.
    operationId: createMessage
    requestBody:
      contentType: application/json
      payload:
        subject: $inputs.initialSubject
        body:
          contentType: text
          content: Draft in progress.
        toRecipients:
        - emailAddress:
            address: $inputs.toAddress
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      messageId: $response.body#/id
  - stepId: reviseDraft
    description: >-
      Patch the draft to apply the final subject and body. The update returns
      the revised message object.
    operationId: updateMessage
    parameters:
    - name: message-id
      in: path
      value: $steps.createDraft.outputs.messageId
    requestBody:
      contentType: application/json
      payload:
        subject: $inputs.revisedSubject
        body:
          contentType: text
          content: $inputs.revisedBody
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      revisedSubject: $response.body#/subject
  - stepId: sendMail
    description: Send a message carrying the revised subject and body. Returns 202.
    operationId: sendMail
    requestBody:
      contentType: application/json
      payload:
        message:
          subject: $inputs.revisedSubject
          body:
            contentType: text
            content: $inputs.revisedBody
          toRecipients:
          - emailAddress:
              address: $inputs.toAddress
        saveToSentItems: true
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      sentSubject: $inputs.revisedSubject
  outputs:
    draftMessageId: $steps.createDraft.outputs.messageId
    sentSubject: $steps.sendMail.outputs.sentSubject

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/microsoft-office-365-update-draft-and-send-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.