OneDrive
This integration allows you to use Microsoft OneDrive
Backups will be created in a folder called Home Assistant\backups_<id>
in the App Folder
of your OneDrive by default.
id
is part of your Home Assistant instance’s unique id to allow backups from multiple instances to the same OneDrive account.
The integration only has access to an application specific Home Assistant
folder in the App Folder
and cannot access any other parts of your OneDrive.
Because of an issue in Microsoft’s APIs, the application-specific folder is often called Graph
instead of Home Assistant
. More on that below.
Configuration
To add the OneDrive service to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select OneDrive.
-
Follow the instructions on screen to complete the setup.
Application ID of the app registration to be used with the integration. Uses Home Assistant provided by default.
The name of the instance specific backup folder.
Options
Options for OneDrive can be set via the user interface, by taking the following steps:
- Browse to your Home Assistant instance.
- Go to Settings > Devices & Services.
- If multiple instances of OneDrive are configured, choose the instance you want to configure.
- Select the integration, then select Configure.
Backup folder
The backup folder is root:\Apps\[Home Assistant | Graph]\backups_{id}
. This is not configurable because otherwise the integration would need permissions to write into your entire drive. You can, however, rename the application folder which is called Home Assistant
or Graph
in your OneDrive.
The last folder in the hierarchy (backups_{id}
) is always a unique folder per Home Assistant instance to ensure that backups from different instances are not mixed. The name of this folder can be set during integration setup and can be changed later through reconfiguring the integration or by renaming the folder in OneDrive.
Backup folder is called Graph
This integration uses Microsoft’s Graph API to communicate with your OneDrive. Because of an issueHome Assistant
), but Graph
instead.
There is no risk of different applications mixing in that Graph
folder, if you already have such a Graph
folder from a different application, the next folders will just be called Graph 1
, Graph 2
and so on.
You should be able to manually rename the folder to something else, without the integration breaking.
Requested permissions by the integration
The integration will request the following permissions on your OneDrive for the integration to work:
-
Files.ReadWrite.AppFolder
: Grants the application permission to read and write in its own, app-specific folder inside your OneDrive -
offline_access
: Grants the application permission to refresh its authentication token without requiring your manual intervention -
openid
: Grants the application permission to read basic information, e.g. if you have a OneDrive

Sensors
The integration provides the following sensors, which are updated every 5 minutes:
- Total available storage: The total size of your drive (disabled by default)
- Used storage: The amount of storage you have used up
- Remaining storage: The amount of storage that is left in your drive
-
Drive state: Calculated state of your drive, based on the storage left. Possible values:
Normal
,Nearing limit
,Critical
,Exceeded
A drive that is in Drive state Exceeded
will be automatically frozen (meaning you can’t upload any more backups & files), until you clear up enough storage.
Automations
Get started with these automation examples.
Send alert when drive is near storage limit
Send an alert when the drive usage is close to the storage limit and needs cleanup.
Example YAML configuration
alias: Alert when OneDrive is close to storage limit
description: Send notification to phone when drive needs cleanup.
triggers:
- trigger: state
entity_id:
- sensor.my_drive_drive_state
from: "normal"
to: "nearing"
- trigger: state
entity_id:
- sensor.my_drive_drive_state
from: "nearing"
to: "critical"
actions:
- action: notify.mobile_app_iphone
data:
title: OneDrive is almost full!
message: >
OneDrive has used up {{ states('sensor.my_drive_used_storage') }} of {{
states('sensor.my_drive_total_available') }}GB. Only {{ states('sensor.my_drive_remaining_storage') }}GB remaining.
mode: single
Getting application credentials
This integration comes with a predefined set of application credentials through Home Assistant account linking. This means you should not need to provide credentials, but get redirected to Microsoft’s sign-in page.
Even if you use the default credentials, nobody will ever have access to your data except you, as the app does not have permission to do anything on its own. It only works with a signed-in user (it only has delegated
not application permissions
).
However, if you want to use your own credentials, follow this guide
You will need an Azure tenant with an active Azure subscription to create your own client credentials.
Make sure to configure the following settings on the app registration:
- Supported account types: Personal Microsoft accounts only
-
Redirect URI: Type:
Web
, URL:https://my.home-assistant.io/redirect/oauth

If you set the integration up with the default credentials and switch to custom credentials later, your backup folder will change inside your OneDrive, and you will have to manually copy existing backups from the old folder to the new one.
Known limitations
- Only personal OneDrives are supported at the moment.
Removing the integration
This integration follows standard integration removal. No extra steps are required.
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- From the list of devices, select the integration instance you want to remove.
- Next to the entry, select the three-dot
menu. Then, select Delete.
Troubleshooting
Unknown error while adding the integration
Make sure that your OneDrive is not frozen. This can happen if you haven’t used it for a longer period of time, or went over your data quota.
Default credentials not available
If the integration asks you for a client ID
and a client secret
, that likely means you disabled part of the default_config
in your Home Assistant configuration. For account linking to work you’ll need my
& cloud
integrations loaded.