Zoho
CRM OAuthWork with Zoho CRM, Books, Inventory and Billing from any Windmill script, flow or app.
Set up in 2 steps
Connect from the Resources page
Open Resources, click Add a resource/API and pick zoho from the OAuth APIs list. Click Connect, sign in and grant access, then name the resource and save it.
Run your first script
Fork any script below and read a record before writing anything. The set spans four Zoho products, so search by the object you need.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
update an Estimate using a custom field's unique value
Write off invoice
Write off fixed asset
Write off
Void vendor credit
Void an invoice
Void a retainer invoice
Void a bill
Void a Credit Note
View Scheduled Changes
Users transfer and delete
Users count
User transfer and delete
Upsert records
Upload url attachments
Upload photo
Upload organization photo
Upload files
Upload file
Updating a package
Updating a composite item
Update vendor credit refund
Update vendor credit
Update variables
Update variable by id
Update variable by api name
Update users unavailability
Update users
Update user unavailability
Update user type
Resource type
The shape of the credential every script on this page expects.
zoho
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| token | string | Yes | Access token retrieved using the OAuth flow. |
Questions
Which Zoho products do the scripts cover?
CRM, Books, Inventory and Billing. They all go through the same access token, but each product has its own object model.
A call fails on a missing scope
Zoho scopes are granted per product and per operation at consent time. Reconnect the resource requesting the scope the script needs — the token itself cannot be widened.
There is no Connect button on my instance
Self-hosted instances need a Zoho OAuth client configured once by an admin before the tile appears.
Is my token stored on the hub?
Never. It lives only in your own Windmill workspace, encrypted at rest.