How to Create OAuth Credentials for Zoho Books

This guide will help you set up your Zoho Books OAuth app to connect with Apideck.

Zoho Books is a comprehensive cloud accounting software that helps businesses manage invoicing, expenses, inventory, and financial reporting. Integrating Zoho Books into your application allows you to access invoices, contacts, bills, payments, and other accounting data through Apideck's unified API.

Prerequisites

Before you begin, make sure you have:

  1. A Zoho account with access to Zoho Books
  2. An Apideck account
  3. Admin access to create OAuth applications in Zoho

Enable the Zoho Books Connector in Apideck

  1. Navigate to the Apideck Dashboard
  2. Enable the Zoho Books connector if it's not already enabled

Getting Your OAuth Credentials

Step 1: Sign in to Zoho API Console

  1. Go to https://api-console.zoho.com/
  2. Sign in with your Zoho account credentials

Zoho - Login

Step 2: Create a New OAuth Application

  1. On the applications overview page, click the "Add client" button in the top right corner

Zoho - Create App

  1. Select "Server-based Applications" as the client type

Zoho - Select type

Step 3: Configure Application Details

Fill in the application details form:

  • Client Name: Enter a descriptive name (e.g., "Apideck Integration"). This name will be shown to users when they authorize your app to access their Zoho Books account.
  • Client Type: Should be set to "Server-based Applications" (selected in the previous step).
  • Homepage URL: Enter your company's website URL or your SaaS product URL.
  • Authorized Redirect URIs:

https://unify.apideck.com/vault/callback

Zoho - Create App Details

💡 TIP: The redirect URI must match exactly. Make sure there are no trailing slashes or extra characters.

Step 4: Get Your Client Credentials

After creating the application, Zoho will display your OAuth 2.0 credentials:

You'll see:

  • Client ID: A unique identifier for your application
  • Client Secret: A secret key used for authentication

Zoho - Copy Credentials

Step 5: Configure Data Center Settings

  1. Click on "Settings" for your newly created application
  2. Enable the data centers that match the regions where your customers will operate
  3. Click "Use the same OAuth credentials for all data centers" to use a single set of credentials across all enabled data centers

Zoho - Data Center Settings

💡 TIP: Zoho operates multiple data centers (US, EU, IN, AU, etc.). Make sure to enable the data centers where your customers' Zoho Books accounts are hosted. Using the same credentials for all data centers simplifies management.

Configure in Apideck

Now that you have your Zoho Books OAuth credentials, configure them in Apideck:

  1. Navigate to Apideck Dashboard > Configuration > Accounting > Zoho Books

  2. Enter your OAuth credentials:

    • Client ID → client_id: Paste the Client ID from your Zoho application
    • Client Secret → client_secret: Paste the Client Secret from your Zoho application

Apideck - Configure Connector

  1. Configure Scopes: This is an important step for Zoho Books integration

💡 IMPORTANT: You have two options for scope configuration:

  • Option 1 (Full Access): Assign ZohoBooks.fullaccess.all scope. This grants full access to all Zoho Books resources and operations, so you won't need to add scopes separately.

Apideck - Configure Scopes

  • Option 2 (Assign scopes separately): Assign ZohoBooks.settings.READ scope. This scope is required to retrieve Organization IDs and allow consumers to select their organization from a dropdown when they authorize the connection. You can then assign additional scopes separately for each resource and operation (read/write) as needed.

Apideck - Configure Scopes

  1. Click "Save settings" to save your credentials and scopes

Test Your Connection

  1. Click "Test Vault" in the Apideck Dashboard
  2. Click on "Authorize" for your Zoho Books connection

Vault - Unauthorized

  1. You'll be redirected to Zoho to authorize the application access

Zoho - Authorization

  1. After authorization, you'll be redirected back to Apideck where you can select your Organization ID from the dropdown
  2. Click "Save" and your connection status will change to Connected.

Vault - Connected

Do Your First API Call

  1. Test the connection by making a request to get invoices:
curl --location 'https://unify.apideck.com/accounting/invoices' \
  --header 'x-apideck-consumer-id: test-consumer' \
  --header 'x-apideck-app-id: {APIDECK_APP_ID}' \
  --header 'x-apideck-service-id: zoho-books' \
  --header 'Authorization: Bearer {APIDECK_API_KEY}'
  1. Replace:
  • {APIDECK_APP_ID} with your Apideck application ID
  • {APIDECK_API_KEY} with your Apideck API key
  1. You'll receive a list of invoices from your Zoho Books account

Configure Virtual Webhooks

Apideck supports virtual webhooks for Zoho Books. Virtual webhooks allow you to receive notifications about changes in Zoho Books data without requiring Zoho Books to send webhooks directly to your application.

How Virtual Webhooks Work

By enabling virtual webhooks, Unify will periodically check for updates in Zoho Books. By default, Apideck checks for updates every 24 hours.

Configure Webhooks in Apideck

  1. Navigate to Apideck Dashboard > Configuration > Accounting > Zoho Books
  2. Scroll to the Webhooks section
  3. Enable virtual webhooks for the resources you want to receive notifications for
  4. Save settings

Apideck - Configure Webhooks