Catalyst Connectors JavaScript SDKAdmin Scope

A Catalyst Connector provides a seamless connection between Catalyst and an external Zoho service established through Zoho OAuth authentication. You can use a connector in your Catalyst application if your business logic includes an external Zoho service’s API, such as a Zoho CRM or a Zoho WorkDrive API.

Prerequisites

You need to install the following package to be able to use the Connector SDK methods.

copy
$
npm install @zcatalyst/connector
Info: Ensure that you have applied the required authentication configuration to use the SDK methods of this component.

Catalyst handles the connection by storing the Access Token you generate in Zoho API console for a specific application in Catalyst Cache until its expiration. After it expires, the connector will automatically fetch a new Access Token using the Refresh Token and store it in the cache. Each time the Access Token expires, the connector automatically fetches and caches a new token in the background, relieving you from the efforts of constructing the logic to maintain an uninterrupted connection with the external Zoho service in your application’s business logic.

Note: Catalyst Connectors can only be used to maintain connections with an external Zoho service, and not any third-party services. This is because the OAuth standards maintained across all Zoho services are uniform and compatible for Catalyst to implement the Connectors feature.

Before you configure the connector in your Node.js business logic as shown below, you will need to register a new client in the Zoho API console, and follow the steps to generate an Authorization Code and an Access Token for the first time. You can then configure the connector with the Refresh Token received, as well as other standard OAuth parameters, such as the Client ID, Client Secret, Authentication URL, and Refresh URL, that are required to refresh the Access Token automatically at a set rate. You can also incorporate your own logic in the connector based on your requirements.

Notes:
  • The name you provide for each connector in your logic must be unique.

  • If you create a server-based application in the Zoho API console and you allow the access token to be created for different users within the same application, you will need to provide a different and unique connector name for each user. This is because when the same connector is used for different users in an application, the token will be overwritten on the same cache segment resulting in fetching the wrong user’s data from the external Zoho service.

copy
// Create a new connection with your connector configuration
const connection = new Connection({
  ConnectorName: {
    client_id: '{add_client_id}',          // Client ID of your app
    client_secret: '{add_client_secret}',  // Client Secret of your app
    auth_url: '{add_auth_url}',            // OAuth authorization URL
    refresh_url: '{add_refresh_url}',      // OAuth refresh token URL
    refresh_token: '{add_refresh_token}',  // Refresh token obtained from OAuth flow
    refresh_in: '{add_refresh_in}',        // Time (in secs) after which token should be refreshed
    expires_in: '{add_expires_in}',        // Token expiry duration
    secret_key: 'sample'                   // Key used to encrypt stored tokens
    // Configure these OAuth parameters using the values you get 
    // after registering your application in the Zoho API Console 
    // and generating the authorization code.
  }
});
// Get the connector using the connector's registered name
const connector = connection.getConnector('ConnectorName');
// Fetch a valid access token
const accessToken = await connector.getAccessToken();

Last Updated 2026-07-02 14:51:41 +0530 IST