About
Microsoft 365 - Calendar connects Microsoft 365 calendars to Home Assistant as calendar entities. It works through the Microsoft cloud and is configured in the UI with a client ID and client secret from an app registration. Actions allow events to be created, modified, deleted, and responded to, and a separate action returns events in a time range with attendees and organizer details. Setup choices include an alternate authentication method, support for group calendars, a shared mailbox, a read-only basic calendar mode, and a tenant ID for single-tenant apps. Options cover which calendars are enabled, the update interval, how many days back and forward to sync, and the maximum number of events retrieved. Start and end times can be offset by hours, and events with chosen sensitivities can be excluded.
Automatic summary of the README and code of RogerSelwyn/MS365-Calendar. Something wrong, or are you the maintainer and want your own text here? Get in touch
Supports
Uses the vendor's cloud Needs an internet connection and an account with the vendor.
From the Marketplace Installed through the Marketplace, formerly HACS.
Actively maintained Its author released or pushed a change in the last six months.
Provides
- Calendars
Setting it up
Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.
Connect
- Uniquely identifying name for the entities
- Client ID
- Client Secret
- Use alternate (more complex) authentication
- Enable update services
- Enable read only basic calendar
- Enable support for group calendars
- Email address/ID of 'shared' mailboxDo not put your own email address in this box
- API CountryOnly use if you know you need it since your credentials will be sent to the selected api/country.
- Tenant IDAzure tenant ID for single-tenant app registrations. Leave blank for multi-tenant apps.
Request default
- Returned URL
After setup
- Enable new calendars
- Enabled calendars
- Update interval in seconds
- Number of days backwardsDays backward to sync to store
- Number of days forwardDays forward to sync to store
- Calendar friendly name
- Hours to offset the end time
- Hours to offset the start time
- Max number of events to retrieve
- Sensitivities to exclude from retrieval
Texts from the code of RogerSelwyn/MS365-Calendar.
Actions
- Respond to an eventRespond to calendar event/inviteFields: Event ID, Response, Message, Send Response
- Create a new eventCreate new calendar eventFields: Subject, Start, End, Body, Location, Categories, Sensitivity, Show_as, All Day, Attendees
- Modify an eventModify existing calendar event, all properties except event_id are optionalFields: Event ID, Subject, Start, End, Body, Location, Categories, Sensitivity, Show As, All Day
- Delete an eventDelete calendar eventFields: Event ID
- Get eventsGet the events in a time range with their full MS365 detail, including attendees and organizerFields: Start date time, End date time
Troubleshooting
- DiagnosticsDownloads a diagnostics file to attach to a bug report.
From the README
This project would not be possible without the wonderful python-o365 project.
I work on this integration because I like things to work well for myself and others. Please don't feel you are obligated to donate, but of course it is appreciated.
Shows in Vulpo
Calendar card.Information
- Installs
- 883 sharing analytics
- GitHub stars
- 96
- Connection
- Uses the vendor's cloud
- Upkeep
- Updated in the last 6 months
- Version
- v1.12.0,
- Category
- Productivity and information, Calendars and to-dos
- Kind
- Marketplace integration
- Brand
- Microsoft
- Needs
- Needs the Marketplace (HACS on 2026.10 and older)
- Domain
ms365_calendar- Issues
- Report an issue




















