--- title: "Integrate SDK in Third-Party Apps" url: https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/integrate-sdk-in-third-party-apps/ last_updated: 2026-09-08T11:07:33Z service: All Services type: general related_links: - name: "Catalyst Environments" url: /en/deployment-and-billing/environments/introduction/ - name: "Catalyst Cloud Scale Authentication" url: /en/cloud-scale/help/authentication/introduction/ - name: "Catalyst Cloud Scale Stratus" url: /en/cloud-scale/help/stratus/introduction/ --- # Catalyst Node.js SDK Integration in Third-Party Applications > **Note:** This SDK is currently in deprecation. Migrate to [JavaScript SDK](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/overview/) now. You can integrate and use the Catalyst Node.js SDK methods in applications deployed outside the Catalyst environment. Say, a React app hosted on Vercel using a Flask backend (running outside Catalyst) can upload documents to [Catalyst Cloud Scale Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) or a data pipeline running on Amazon Web Services EC2 can push customer data into [Catalyst Cloud Scale Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) using [Catalyst Cloud Scale ZCQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/introduction/) queries using the respective Node.js SDK operations. These are just a few common use cases where external applications can securely interact with Catalyst components without being deployed within the Catalyst platform. We have provided the code snippet to help you integrate the Catalyst Node.js SDK with external applications. However, before implementing the code in your application, please review the following prerequisites. ### Prerequisites for the SDK Integration To integrate the Catalyst Node.js SDK with your external application, ensure you have the following information: * **Project ID:** The unique identifier of your [Catalyst project](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/). * **ZAID (Zoho Account ID):** A unique portal identifier assigned by Catalyst to link your project with the [Catalyst environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/) ([development](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/) or [production](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/)). * **Environment:** The [target environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/) ([development](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/) or [production](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/)) of your Catalyst project. * **OAuth Credentials:** This is required to authenticate and authorize your external application via Catalyst’s self-client portal to access Catalyst components. You will need the following: 1. Client ID 2. Client Secret 3. Refresh Token After you fetch these values , you can proceed with integrating the Node.js SDK into your application. ### Steps to Integrate Now, let's look at how to fetch each of these values and configure them in the code snippet. Please ensure you follow the steps outlined below: 1. **Create a project in the Catalyst Console:** You can create a new [Catalyst project](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/#introduction-to-catalyst-projects) in the [console](https://console.catalyst.zoho.com/) by using the steps mentioned in [this help page](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/#create-a-catalyst-project). 2. **Retrieve the Project ID:** Once you have created your project, you will need to make a note of the **Project ID**. The Project ID is the unique ID of your project that will be created automatically during the project’s creation. You can find it by clicking the **Settings** icon located in the top-right corner of the Catalyst console. ![click-settings](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/click-settings.webp) In the **Settings** screen, navigate to **Project Settings** and select **General**. You can view and make a note of the Project ID from this section, as shown in the screenshot below. ![project-id](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/project-id.webp) 3. **Retrieve the ZAID:** You will need to include your project’s **ZAID** in the code snippet provided in this section. The **ZAID** is a unique portal identifier assigned by Catalyst to link your project with the required Catalyst environment ([development](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/) or [production](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/)). [Learn more about Catalys environments](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/). To retrieve the ZAID, setting up the [Catalyst CloudScale Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) component is mandatory. However, using it for your application's authentication flow is optional. To fetch the ZAID: i. Navigate to the [Catalyst CloudScale](https://docs.catalyst.zoho.com/en/cloud-scale/) service in the console and under **Security & Identity**, select **Authentication**. ![select-authentication](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/select-authentication.webp) ii. You will need to set up [Native Catalyst Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/introduction/), where Catalyst manages the entire authentication process for you, eliminating the need for any additional coding or infrastructure management on your part. iii. Click **Set Up**. ![click-setup](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/click-setup.webp) iv. Select the **Hosted authentication** type, which enables you to host your login element on dedicated pages of your application. You can configure and design the authentication from the console, and Catalyst will render it for your application and handle all the backend requirements. ![hosted-authentication](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/hosted-authentication.webp) v. You must enable the [Public Signup](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/public-signup/) option to display the signup feature in your login component, allowing new users to register and access your application. You can refer to the [hosted authentication help page](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/hosted-authentication-type/introduction/) for a detailed step-by-step setup guide. ![public-signup](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/public-signup.webp) vi. In the confirmation screen, click **Yes, proceed**. ![confirmation](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/confirmation.webp) vii. You can enable any of the supported social login options listed below and retrieve the corresponding **ZAID** value from the selected provider. [Learn how to obtain the ZAID for a specific social login](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/social-logins/configuring-social-logins/). > **Note:** Social login providers, such as Google, Microsoft, LinkedIn, and Facebook, are supported for retrieving the ZAID; however, Zoho login is not supported for this purpose. ![socials](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/socials.webp) [Learn more about this hosted authentication type](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/hosted-authentication-type/introduction/). 4. **Register a Self Client Application:** You will need to obtain the **Refresh Token**, **Client ID**, and **Client Secret** to authenticate and authorize your application to access Catalyst resources on behalf of your application's user. For fetching the above required items, you must first register your application as a self-client in [API console](https://api-console.zoho.com). i. Log in to the API console and click on **Self-client**. ![self-client](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/self-client.webp) ii. Configure the scope of the self-client application based on the operations your application needs to perform in Catalyst. [Learn more about available scopes](https://docs.catalyst.zoho.com/en/api/oauth2/scopes/#Scopes). iii. Provide the required scope, add an appropriate description, and click **Create**. ![create](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/create.webp) iv. The grant token will be generated. Make sure to copy and store it securely, as this is a one-time process, and the token cannot be retrieved from the console again. [Learn more about generating a grant token](https://docs.catalyst.zoho.com/en/api/oauth2/generate-grant-token/#GenerateGrantToken). ![generated-code](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/generated-code.webp) v. Switch to the **Client Secret** tab and note down the client ID and the client secret details. ![client-secret](https://catalyst-docs-development.zohostratus.in/images/sdk/sdk-integration/client-secret.webp) vi. You can generate the access and refresh token by using the request in [this help page](https://docs.catalyst.zoho.com/en/api/oauth2/generate-access-and-refresh-token/#GenerateAccessandRefreshToken). You can also refresh the access token by using the steps listed in [this page](https://docs.catalyst.zoho.com/en/api/oauth2/refresh-access-token/#RefreshAccessToken). After you have noted all the values mentioned above, you can configure them in the code snippet as shown below and integrate Node.js SDK into your application. The code below demonstrates this with the example of fetching buckets from [Catalyst CloudScale Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/). ### Code Snippet ```javascript var catalyst = require("zcatalyst-sdk-node"); const express = require("express"); const app = express(); const port = 3006; const project_id = "PROJECT_ID"; //Provide Project ID value here const project_key = "ZAID"; //Provide ZAID value here const environment = "Development"; //Provide value as either "Development" or "Production" const credentials = { refresh_token: "YOUR_REFRESH_TOKEN", //Provide refresh token value here client_id: "CLIENT_ID", //Provide client ID value here client_secret: "CLIENT_SECRET", //Provide client secret value here }; const CatalystCred = catalyst.credential.refreshToken(credentials); app.get("/listbuckets", async (req, res) => { try { req.project_id = project_id; req.project_key = project_key; req.environment = environment; req.credential = CatalystCred; let catalystApp = catalyst.initializeApp(req); const stratus = catalystApp.stratus(); const bucket_data = await stratus.listBuckets(); res.send(bucket_data); res.end(); } catch (err) { console.log(err.toString()); res.send(err); res.end(); } }); app.listen(port, async () => { console.log(`Server running on http://localhost:${port}`); }); ```