With Sheetgo, you can connect your Zoho CRM account directly to Google Sheets using Zoho’s REST API. This allows you to automatically retrieve CRM data such as Leads, Contacts, Accounts, Deals, and Activities into a spreadsheet for reporting, forecasting, pipeline tracking, and performance analysis. Instead of manually exporting CSV files from Zoho CRM, the Sheetgo API Connector automates the process using secure API authentication and scheduled refreshes. This ensures your sales and operations teams always work with up-to-date CRM data inside Google Sheets.
Prerequisites
A Zoho CRM account with API access enabled
Zoho CRM API documentation: https://www.zoho.com/crm/developer/docs/api/v2/
Zoho API Console (to create OAuth client credentials): https://api-console.zoho.com/
Zoho OAuth 2.0 documentation (for generating access and refresh tokens): https://www.zoho.com/accounts/protocol/oauth.html
Your Zoho CRM data center domain (e.g., zohoapis.com, zohoapis.eu, zohoapis.in depending on your region)
A Sheetgo account using the same email associated with your Zoho CRM account
Step 1: Identify the Required API Endpoint
Zoho CRM provides multiple API modules depending on the type of data you want to retrieve. You must first review the Zoho CRM API documentation linked in the Prerequisites to determine the correct module endpoint. All Zoho CRM API calls follow this structure: https://www.zohoapis.com/crm/v2/{module}. For example, if you want to retrieve Leads, the endpoint will be https://www.zohoapis.com/crm/v2/Leads. If you want Deals, the endpoint would be https://www.zohoapis.com/crm/v2/Deals. The documentation linked in the Prerequisites lists all available modules and query parameters such as filters, fields selection, and sorting options. Identify the module that matches your reporting needs before moving forward.
Step 2: Generate API Credentials
Zoho CRM uses OAuth 2.0 authentication. This means you must generate a Client ID, Client Secret, Authorization Code, Access Token, and Refresh Token. First, log in to the Zoho API Console using the link in the Prerequisites. Create a new “Server-based Application” and provide a redirect URI. Once created, Zoho will generate a Client ID and Client Secret. Next, generate an authorization code by following the OAuth steps described in the documentation linked in the Prerequisites. Exchange this authorization code for an Access Token and Refresh Token using Zoho’s token endpoint. Zoho access tokens expire after a short period, so the Refresh Token is required for long-term automation. You will use both the access token and refresh token in the Sheetgo configuration so the system can automatically request new tokens when needed.
Step 3: Open the Sheetgo API Connector
Log in to Sheetgo and open an existing workflow or create a new one. Click on Connect and choose API Request under Data Source. Then select HTTP Request as the method type. You’ll be prompted to enter the API URL and configure authentication and headers.
Step 4: Configure the API Request in Sheetgo
Log in to Sheetgo and create a new workflow. Select HTTP Request as your source, as described in the Sheetgo documentation
In the Request URL field, enter your chosen Zoho CRM endpoint.
Example: https://www.zohoapis.com/crm/v2/Leads?per_page=200&page=1
Then open the Headers section and insert the following JSON configuration. This example includes OAuth2 token refreshing and page-based pagination.
{
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
"@auth": {
"auth_method": "oauth2",
"auth_type": "Bearer",
"refresh_url": "https://accounts.zoho.com/oauth/v2/token",
"refresh_params": {
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"refresh_token": "YOUR_REFRESH_TOKEN",
"grant_type": "refresh_token"
}
},
"@pagination": {
"type": "page",
"page_param": "page",
"per_page_param": "per_page"
}
}Replace all placeholder values with your real credentials.
Zoho CRM uses page-based pagination where you specify page numbers and records per page. Sheetgo will continue requesting pages until no additional records are returned. The OAuth configuration ensures the access token is automatically refreshed when it expires, following the Sheetgo refresh token structure and pagination configuration guidelines
If your API response returns data inside a nested object such as data, Sheetgo automatically detects common roots, but you may define a data root using the @flags parameter if needed
Step 5: Choose the Destination Spreadsheet
After configuring the API request, click Next in Sheetgo. Choose Google Sheets as your destination. You can either select an existing spreadsheet or create a new one. Sheetgo will automatically structure the JSON response into columns. If necessary, you can add a Filter by Condition step before the destination to refine the dataset. Once selected, confirm the destination tab where Zoho CRM data will be stored.
Step 6: Execute the Sheetgo Connection
Click Finish and Save to activate your workflow. Run the connection to test the integration. Sheetgo will fetch data from Zoho CRM and populate your Google Sheet. To keep your CRM reports updated automatically, configure a scheduled refresh inside the workflow settings. Since OAuth refresh tokens are configured in the header, Sheetgo will automatically handle token renewal without requiring manual updates. This ensures your Zoho CRM data remains continuously synced with Google Sheets.
