This page covers Zoho Books. To connect your Zoho Directory through SCIM, see Zoho.
What Oleria discovers
Once connected, Oleria continuously discovers and maps the following from your Zoho Books organization:- Accounts - every user in the organization, with their name, email address, role, and status. Active users are enabled. Inactive users and users who haven’t accepted their invitation yet are imported as disabled. Users with the Admin role are marked as administrators. Deleted users aren’t imported.
- Roles - the role each user holds: the built-in Admin, Staff, and Timesheet Staff roles, and any custom roles. Every user holds exactly one role.
Oleria doesn’t import customers, vendors, invoices, bills, projects, or any other accounting data. This integration covers identity and access governance for people and roles only.
Prerequisites
- A Zoho Books user with the Admin role in the organization you want to connect. Zoho Books lets only admins list users and roles.
- Access to the Zoho API Console for the data center your organization is hosted in.
- Admin access to the Oleria workspace.
Find your data center and organization ID
1
Identify your data center
Your data center is the Zoho domain you sign in to. Use the matching addresses in the steps below and choose the matching Data Center in Oleria:
2
Copy your organization ID
In Zoho Books, go to Settings -> Organization Profile and copy the Organization ID. It’s a number, for example
10234695.Create a Self Client and refresh token in Zoho
1
Create a Self Client
Sign in to the API Console for your data center as the Zoho Books admin. Select Add Client (or Get Started), choose Self Client, and select Create.
2
Copy the client credentials
Open the Client Secret tab and copy the Client ID and Client Secret.
3
Generate a grant code
Open the Generate Code tab and enter these scopes exactly:
ZohoBooks.settings.READ lets Oleria import users and roles. ZohoBooks.settings.CREATE and ZohoBooks.settings.UPDATE are needed for the remediation actions. Include all three unless you want a read-only connection.Choose a time duration, enter a description such as Oleria, and select Create. If Zoho asks you to choose a portal or organization, select the Zoho Books organization you’re connecting. Copy the grant code.The grant code expires after the duration you chose, which can be as short as a few minutes. Complete the next step before it expires.
4
Exchange the grant code for a refresh token
On a trusted machine, run the following commands. Replace the accounts server with the one for your data center and the placeholders with your values. The first command prompts for the client secret without showing it or saving it to your shell history:Copy the
refresh_token value from the response. Don’t paste the response into tickets or chat, because it contains the refresh token.The exact location of these settings can change over time. If the steps above don’t match what you see, refer to Zoho’s own API documentation.
Connect Zoho Books to Oleria
1
Open the integration
Go to your Oleria workspace, select Integrations -> select Zoho Books.
2
Complete the connection form
Select Continue and provide the following:
3
Confirm the connection
Select Authenticate to validate the credentials. Oleria checks that the refresh token works in the selected data center, that the organization ID belongs to that account, and that the token’s user has the Admin role. Find the newly connected organization on the Connected tab of your Oleria Integrations page.
You can connect each Zoho Books organization to Oleria once. To connect a different organization, add a new integration.
Verify the integration
Confirm the Zoho Books organization appears on the Connected tab of your Oleria Integrations page with a status of Healthy. After the first sync completes, you can review the discovered accounts and roles in your Oleria workspace.If you revoke the refresh token or replace the Self Client in Zoho, update the integration in Oleria with the new values. To keep the stored client secret or refresh token when you edit other settings, leave that field empty. You can’t change the organization ID of an existing integration.
Remediation actions
Oleria can take these actions in Zoho Books. Each one runs with the permissions of the user who created the refresh token:- Mark a user inactive and mark a user active. These need the
ZohoBooks.settings.CREATEscope. An inactive user keeps their role and history and can be reactivated. - Change a user’s role. This needs the
ZohoBooks.settings.UPDATEscope. Because every Zoho Books user holds exactly one role, assigning a role replaces the user’s current role. Reverting the action restores the previous role.
- Oleria won’t mark inactive, or change the role of, the user who created the refresh token, because that would disconnect the integration.
- Users who haven’t accepted their invitation yet can’t be marked active or inactive.
- You can assign only roles that Oleria has discovered, which are roles held by at least one user.
Known limitations
- Oleria doesn’t import MFA or single sign-on settings for Zoho Books users. These are managed in Zoho Accounts and Zoho Directory.
- Oleria doesn’t import activity. The Zoho Books activity log isn’t available through the Zoho Books API.
- Oleria discovers roles from the users who hold them. A role that no user holds doesn’t appear.
- Zoho Books has no user groups.
- Zoho limits API requests per organization. Oleria paces its requests to leave room for your other Zoho Books integrations.

