Zoho Workdrive
At a glance
Section titled “At a glance”| Capability | Support |
|---|---|
| rclone support tier | Tier 3: Supported |
| Checksums | None |
| Modification times | Not kept: files show their upload time |
| Case-insensitive names | No |
| Duplicate names allowed | No |
| Server-side copy | Yes |
| Server-side move and rename | Yes |
| Folder move and rename | Yes, in one step |
| Free space reporting | Yes |
| Empty folders | Yes |
| Change notifications | No |
| Uploads of unknown size | No |
| Public links | No |
Zoho WorkDrive is a cloud storage solution created by Zoho.
Setup notes
Section titled “Setup notes”In CloudMount you add this drive from the Add drive screen, and the wizard asks for the options listed under Options. The notes below come from rclone’s setup guide.
Modification times and hashes
Section titled “Modification times and hashes”Modified times are currently not supported for Zoho Workdrive
No hash algorithms are supported.
Usage information
Section titled “Usage information”To view your current quota you can use the rclone about remote:
command which will display your current usage.
Restricted filename characters
Section titled “Restricted filename characters”Only control characters and invalid UTF-8 are replaced. In addition most Unicode full-width characters are not supported at all and will be removed from filenames during upload.
Options
Section titled “Options”Standard options
Section titled “Standard options”The wizard asks for these when you add the drive.
client_id
Section titled “client_id”OAuth Client Id.
Leave blank normally.
Type: string
client_secret
Section titled “client_secret”OAuth Client Secret.
Leave blank normally.
Type: string
region
Section titled “region”Zoho region to connect to.
You’ll have to use the region your organization is registered in. If not sure use the same top level domain as you connect to in your browser.
Type: string
Choices:
com: United states / Globaleu: Europein: Indiajp: Japancom.cn: Chinacom.au: Australia
Advanced options
Section titled “Advanced options”The wizard shows these under Advanced options. Most drives work without changing any of them.
OAuth Access Token as a JSON blob.
Type: string
auth_url
Section titled “auth_url”Auth server URL.
Leave blank to use the provider defaults.
Type: string
token_url
Section titled “token_url”Token server url.
Leave blank to use the provider defaults.
Type: string
client_credentials
Section titled “client_credentials”Use client credentials OAuth flow.
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
Note that this option is NOT supported by all backends.
Type: bool · Default: false
root_folder_id
Section titled “root_folder_id”ID of the root folder.
Leave blank normally.
Fill in to make rclone use a non root folder as its starting point.
Type: string
upload_cutoff
Section titled “upload_cutoff”Cutoff for switching to large file upload api (>= 10 MiB).
Type: SizeSuffix · Default: 10Mi
tpslimit
Section titled “tpslimit”Max number of API transactions per second.
Zoho WorkDrive rate limits its API and returns HTTP 429 (error F7008, “Request rate limit exceeded”) when called too quickly, so the data API calls (list, upload, download, copy, move, delete) are paced to this rate.
Set to 0 to disable the cap, matching the global –tpslimit; pacing still can’t be turned off entirely because backoff and Retry-After always apply.
The default of 6 is a safe sustainable rate. Higher values can trigger long 429 Retry-After stalls that make throughput WORSE, so raise it only if your account tolerates more.
Type: float64 · Default: 6
tpslimit_burst
Section titled “tpslimit_burst”Number of API calls to allow back-to-back without sleeping, for –zoho-tpslimit.
This is the token-bucket capacity. Keep at 1 for Zoho: a burst > 1 lets several calls fire at once after an idle gap, which can trigger synchronized clusters of 429 errors.
Type: int · Default: 1
list_folder_limit
Section titled “list_folder_limit”Max listings of the SAME folder allowed per –zoho-list-folder-window.
Zoho WorkDrive rate limits its listing API (GET files/{id}/files) PER folder, independently of –zoho-tpslimit: listing one folder too often in a short time returns HTTP 429 (error F7008) with a multi-minute Retry-After penalty, which a tight polling loop can hit even at a low overall rate. Measured live, Zoho allows ~19 listings of one folder in any rolling ~60s window and the 20th fails, which the defaults (19 per 60s) model exactly.
This is a true per-window cap for any traffic pattern: each window starts with –zoho-list-folder-burst listings passing back-to-back (the burst re-arms at every window boundary) and the rest are spaced –zoho-list-folder-window/(limit - burst) apart (the defaults give ~4.6s), while a sliding log of recent listings enforces the cap across window boundaries. 0 disables the limiter. Only REPEATED listings of one folder are delayed; different folders, or a folder listed fewer than –zoho-list-folder-burst times, never are.
A HIGHER value means MORE listings per window, not more safety: raising it above 19 trips F7008. Lower it for a wider margin at the cost of listing responsiveness.
Type: int · Default: 19
list_folder_window
Section titled “list_folder_window”The window for –zoho-list-folder-limit.
The default of 60s (shown as 1m0s) matches Zoho’s real sliding window: at most –zoho-list-folder-limit listings of one folder are allowed in any window of this length. A bare number is parsed as seconds (“60” = “60s”).
Widen it (or lower the limit) for a bigger safety margin; the sustained spacing between same-folder listings is window/(limit - burst).
Type: Duration · Default: 1m0s
list_folder_burst
Section titled “list_folder_burst”Same-folder listings allowed back-to-back before –zoho-list-folder-limit paces them.
The burst is carved out of –zoho-list-folder-limit, so raising it never raises the per-window total: this many listings may fire immediately and the remaining limit - burst are spaced window/(limit - burst) apart. The burst RE-ARMS at every window boundary, so sustained re-listing gets a fresh burst each window while a sliding log of recent listings still enforces the per-window cap. A folder listed only a handful of times (the common case - a sync re-listing one directory a few times then moving on) never waits.
The default 6 is the largest burst validated live under the default 19-per-60s cap (bursts of 4, 5 and 6 all ran clean; an over-cap probe tripped F7008 exactly at the 20th listing in a window). Keep it well below ~15 - Zoho also has an instantaneous back-to-back cap around 15-16 regardless of the window. Set to 1 to pace from the second listing. Values >= the limit are clamped to limit - 1.
Type: int · Default: 6
encoding
Section titled “encoding”The encoding for the backend.
See the encoding section in the overview for more info.
Type: Encoding · Default: Del,Ctl,InvalidUtf8
description
Section titled “description”Description of the remote.
Type: string
Setting up your own client_id
Section titled “Setting up your own client_id”For Zoho we advise you to set up your own client_id. To do so you have to complete the following steps.
-
Log in to the Zoho API Console
-
Create a new client of type “Server-based Application”. The name and website don’t matter, but you must add the redirect URL
http://localhost:53682/. -
Once the client is created, you can go to the settings tab and enable it in other regions.
The client id and client secret can now be used with rclone.