arazzo: 1.0.1
info:
title: Microsoft Office 365 Schedule Event
summary: Create a calendar event, then read it back to confirm the booking.
description: >-
Books a meeting on the signed-in user's default calendar. The workflow
creates an event with a subject, start and end times, a location, and an
attendee, then reads the event back by id to confirm the booking and capture
its web link. The create returns 201. 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: schedule-event
summary: Create a calendar event and confirm it by reading it back.
description: >-
Creates an event via POST /me/events (201), then reads it via GET
/me/events/{event-id} (200) to confirm the booking.
inputs:
type: object
required:
- subject
- startDateTime
- endDateTime
- timeZone
properties:
subject:
type: string
description: The subject of the event.
startDateTime:
type: string
description: The event start, e.g. 2026-06-10T15:00:00.
endDateTime:
type: string
description: The event end, e.g. 2026-06-10T16:00:00.
timeZone:
type: string
description: The time zone name, e.g. Pacific Standard Time.
locationName:
type: string
description: The display name of the meeting location.
attendeeAddress:
type: string
description: The email address of an attendee to invite.
steps:
- stepId: createEvent
description: >-
Create an event on the default calendar with the supplied subject, time
range, location, and a single required attendee.
operationId: createEvent
requestBody:
contentType: application/json
payload:
subject: $inputs.subject
start:
dateTime: $inputs.startDateTime
timeZone: $inputs.timeZone
end:
dateTime: $inputs.endDateTime
timeZone: $inputs.timeZone
location:
displayName: $inputs.locationName
attendees:
- type: required
emailAddress:
address: $inputs.attendeeAddress
successCriteria:
- condition: $statusCode == 201
outputs:
eventId: $response.body#/id
webLink: $response.body#/webLink
- stepId: confirmEvent
description: Read the created event back by id to confirm the booking.
operationId: getEvent
parameters:
- name: event-id
in: path
value: $steps.createEvent.outputs.eventId
successCriteria:
- condition: $statusCode == 200
outputs:
eventId: $response.body#/id
subject: $response.body#/subject
outputs:
eventId: $steps.confirmEvent.outputs.eventId
webLink: $steps.createEvent.outputs.webLink
subject: $steps.confirmEvent.outputs.subject
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.