{"formatVersion":"1","kind":"dock_integration","slug":"microsoft-graph-calendar","title":"Microsoft Graph Calendar","summary":"Import a Harbor-safe Microsoft Graph Calendar starter set for calendar discovery, event listing, and approval-friendly event creation.","description":"A Dock-hosted Microsoft Graph Calendar starter integration for Harbor. Importing it creates a local http_api port shell plus a Harbor-safe Microsoft Graph action set covering signed-in user calendar reads, event listing, and explicit event creation.","version":"0.1.0","publisher":{"slug":"microsoft","name":"Microsoft","websiteUrl":"https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0"},"category":"Calendar","tags":["microsoft","graph","calendar","events","productivity"],"compatibility":{"harborNode":">=0.1.0","notes":"Requires local operator-configured auth after import. Templates use location-based inputs such as input.query and input.body at execution time."},"requiredPlan":"community","portTemplates":[{"kind":"http_api","label":"Microsoft Graph Calendar API","description":"Microsoft Graph Calendar connection managed locally through Harbor.","baseUrl":"https://graph.microsoft.com/","authMode":"header_token","authHeaderName":"Authorization","authTokenPrefix":"Bearer"}],"actionTemplates":[{"slug":"list-calendars","label":"List Calendars","description":"List calendars visible to the signed-in Microsoft Graph user.","method":"GET","path":"/v1.0/me/calendars","approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-calendar-groups","label":"List Calendar Groups","description":"List calendar groups visible to the signed-in Microsoft Graph user.","method":"GET","path":"/v1.0/me/calendarGroups","approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-calendar","label":"Get Calendar","description":"Fetch a specific Microsoft Graph calendar using an explicit calendar ID.","method":"GET","path":"/v1.0/me/calendars/{calendarId}","inputs":{"parameters":[{"name":"calendarId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Microsoft Graph calendar ID."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-events","label":"List Events","description":"List events in the signed-in user's default calendar using typed query inputs for page size.","method":"GET","path":"/v1.0/me/events","inputs":{"parameters":[{"name":"$top","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000},"default":25,"description":"Maximum number of events to return. Microsoft Graph applies its own defaults if omitted."}],"staticQuery":{"$select":"id,subject,start,end,location,organizer,isAllDay,webLink"}},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-calendar-view","label":"List Calendar View","description":"List calendar events in a bounded time window for the signed-in user using explicit start and end datetimes.","method":"GET","path":"/v1.0/me/calendarView","inputs":{"parameters":[{"name":"startDateTime","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"RFC 3339 start datetime for the calendar view window."},{"name":"endDateTime","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"RFC 3339 end datetime for the calendar view window."},{"name":"$top","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000},"default":25,"description":"Maximum number of events to return."}],"staticQuery":{"$select":"id,subject,start,end,location,organizer,isAllDay,webLink"}},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-event","label":"Get Event","description":"Fetch a specific Microsoft Graph event using an explicit event ID.","method":"GET","path":"/v1.0/me/events/{eventId}","inputs":{"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Microsoft Graph event ID."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-event","label":"Create Event","description":"Create a calendar event for the signed-in Microsoft Graph user using a bounded JSON request body.","method":"POST","path":"/v1.0/me/events","approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"accept-event","label":"Accept Event","description":"Accept a Microsoft Graph event using an explicit event ID and a bounded JSON request body.","method":"POST","path":"/v1.0/me/events/{eventId}/accept","inputs":{"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Microsoft Graph event ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"decline-event","label":"Decline Event","description":"Decline a Microsoft Graph event using an explicit event ID and a bounded JSON request body.","method":"POST","path":"/v1.0/me/events/{eventId}/decline","inputs":{"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Microsoft Graph event ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"tentatively-accept-event","label":"Tentatively Accept Event","description":"Tentatively accept a Microsoft Graph event using an explicit event ID and a bounded JSON request body.","method":"POST","path":"/v1.0/me/events/{eventId}/tentativelyAccept","inputs":{"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Microsoft Graph event ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-event","label":"Update Event","description":"Update a Microsoft Graph event using an explicit event ID with a bounded JSON request body.","method":"PATCH","path":"/v1.0/me/events/{eventId}","inputs":{"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Microsoft Graph event ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-event","label":"Delete Event","description":"Delete a Microsoft Graph event using an explicit event ID.","method":"DELETE","path":"/v1.0/me/events/{eventId}","inputs":{"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Microsoft Graph event ID."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"}],"workflowTemplates":[{"slug":"schedule-review","title":"Schedule Review","summary":"Future workflow template for checking calendar load and drafting an operator-reviewed event creation flow."}],"helpText":"Import to Harbor, configure local auth, then use the starter Microsoft Graph Calendar actions through the signed-in user's /me routes. Keep create-event on approval unless your local policy explicitly allows operator-reviewed event creation.","installNotes":"Dock shares only safe metadata. Hidden auth must be configured locally inside Harbor after import. These starter actions assume delegated Microsoft Graph access for the signed-in operator and use fixed /me routes only."}