Microsoft Office 365 · Arazzo Workflow

Microsoft Office 365 Respond to Invitation

Version 1.0.0

Read an event, then accept or decline it based on a desired response.

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

Provider

microsoft-office-365

Workflows

respond-to-invitation
Accept or decline a calendar event based on the requested response.
Reads an event via GET /me/events/{event-id} (200), then branches: accepts via POST /me/events/{event-id}/accept (202) or declines via POST /me/events/{event-id}/decline (202).
3 steps inputs: comment, eventId, response outputs: acceptedOutcome, declinedOutcome, eventId
1
readEvent
Read the event by id to confirm it exists before responding, and decide which branch to take based on the requested response.
2
acceptEvent
Accept the event and send a response to the organizer. Returns 202 Accepted.
3
declineEvent
Decline the event and send a response to the organizer. Returns 202 Accepted.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Office 365 Respond to Invitation
  summary: Read an event, then accept or decline it based on a desired response.
  description: >-
    Responds to a meeting invitation on the signed-in user's calendar. The
    workflow reads the event by id, then branches on the caller's desired
    response: it either accepts the event or declines it, sending a comment to
    the organizer in both cases. Both the accept and decline actions return 202
    Accepted. 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: calendarApi
  url: ../openapi/microsoft-office-365-calendar-api-openapi.yml
  type: openapi
workflows:
- workflowId: respond-to-invitation
  summary: Accept or decline a calendar event based on the requested response.
  description: >-
    Reads an event via GET /me/events/{event-id} (200), then branches: accepts
    via POST /me/events/{event-id}/accept (202) or declines via POST
    /me/events/{event-id}/decline (202).
  inputs:
    type: object
    required:
    - eventId
    - response
    properties:
      eventId:
        type: string
        description: The id of the event to respond to.
      response:
        type: string
        description: The desired response, either "accept" or "decline".
      comment:
        type: string
        description: An optional comment to include in the response to the organizer.
  steps:
  - stepId: readEvent
    description: >-
      Read the event by id to confirm it exists before responding, and decide
      which branch to take based on the requested response.
    operationId: getEvent
    parameters:
    - name: event-id
      in: path
      value: $inputs.eventId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      subject: $response.body#/subject
    onSuccess:
    - name: chooseAccept
      type: goto
      stepId: acceptEvent
      criteria:
      - condition: $inputs.response == "accept"
    - name: chooseDecline
      type: goto
      stepId: declineEvent
      criteria:
      - condition: $inputs.response == "decline"
  - stepId: acceptEvent
    description: >-
      Accept the event and send a response to the organizer. Returns 202
      Accepted.
    operationId: acceptEvent
    parameters:
    - name: event-id
      in: path
      value: $inputs.eventId
    requestBody:
      contentType: application/json
      payload:
        comment: $inputs.comment
        sendResponse: true
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      outcome: accepted
    onSuccess:
    - name: done
      type: end
  - stepId: declineEvent
    description: >-
      Decline the event and send a response to the organizer. Returns 202
      Accepted.
    operationId: declineEvent
    parameters:
    - name: event-id
      in: path
      value: $inputs.eventId
    requestBody:
      contentType: application/json
      payload:
        comment: $inputs.comment
        sendResponse: true
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      outcome: declined
  outputs:
    eventId: $inputs.eventId
    acceptedOutcome: $steps.acceptEvent.outputs.outcome
    declinedOutcome: $steps.declineEvent.outputs.outcome

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-respond-to-invitation-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.