googleGoogle Sheet

This guide walks you through setting up a Google Cloud project, OAuth 2.0 and API Key credentials, and configuring your on-premise Nected deployment so users can connect Google Sheets as an integration. The Gsheet connector is used in Nected for reading and writing spreadsheets.

Prerequisites

  • Access to your on-premise Nected deployment (Helm values and cluster)

  • A Google account with access to Google Cloud Consolearrow-up-right

  • Redis already configured for Nected (used by Nalanda; Garuda reuses the same Redis settings for Gsheet)

  • Your Nected UI base URL for the OAuth redirect URI

Step 1: Create a Google Cloud Project

  1. Sign in with your Google account.

  2. Create a new project (or select an existing one):

    • Click the project selector at the top, then New Project.

    • Enter a Project name (e.g. Nected or Nected Gsheet).

    • Click Create.

  1. In the Google Cloud Console, open APIs & ServicesOAuth consent screen.

  2. Choose External (or Internal if only your organization will use the integration) and click Create.

  3. Fill in the App information:

    • App name (e.g. Nected)

    • User support email

    • Developer contact email

  4. Under Scopes, add the scopes required for Google Sheets (or add them when configuring OAuth credentials; see Step 3).

  5. Save the consent screen. If you use External and go to production, you may need to submit the app for verification depending on scope and usage.

Step 3: Create OAuth 2.0 Credentials

  1. Go to APIs & ServicesCredentials.

  2. Click Create CredentialsOAuth client ID.

  3. If prompted, complete the OAuth consent screen configuration.

  4. For Application type, select Web application.

  5. Give the client a Name (e.g. Nected Gsheet).

  6. Under Authorized redirect URIs, add your Nected OAuth redirect URI:

    • Format: https://<nected-ui-domain>/auth/redirect (or the redirect path your Nected deployment uses for Google OAuth; confirm in your Nected docs or existing config).

    • Example: https://nected.yourcompany.com/auth/redirect

  7. Click Create.

  8. Copy the Client ID and Client Secret and store them securely. You will use them in nected-values.yaml.

Step 4: Create API Key Credential

The Gsheet connector also requires an API Key in addition to OAuth (used for Sheets API access).

  1. In APIs & ServicesCredentials, click Create CredentialsAPI key.

  2. Copy the generated API key and store it securely.

  3. (Recommended) Restrict the key:

    • Click Edit API key (or open the key from Credentials).

    • Under API restrictions, restrict to Google Sheets API (and Google Drive API if needed).

    • Under Application restrictions, you can restrict by IP or HTTP referrer if your Nected deployment has fixed egress IPs or domains.

You will add this API key to CREDENTIAL_CONFIG_MAP in the next step.

Step 5: Enable Required APIs (If Not Already Enabled)

  1. Go to APIs & ServicesLibrary.

  2. Search for Google Sheets API and Google Drive API and ensure both are Enabled for your project.

Step 6: Update nected-values.yaml

Update Nalanda environment variables and enable Garuda (required for the Gsheet connector). Use the same Redis settings for Garuda as for Nalanda.

6a. Add Gsheet to CREDENTIAL_CONFIG_MAP (Nalanda envVars)

  1. Open your nected-values.yaml file.

  2. Locate the Nalanda section and its envVars (or the global place where CREDENTIAL_CONFIG_MAP is set for Nalanda).

  3. Set or merge CREDENTIAL_CONFIG_MAP so it includes the gsheet entry. If you already have other integrations (e.g. slack, msexcel), keep them and add gsheet to the same JSON object.

Gsheet config to add (as part of CREDENTIAL_CONFIG_MAP):

  • Replace <<CLIENT-ID-OAUTH-CREDENTIAL>> with the OAuth 2.0 Client ID from Step 3.

  • Replace <<CLIENT-SECRET-OAUTH-CREDENTIAL>> with the OAuth 2.0 Client Secret from Step 3.

  • Replace <<API-KEY-CREDENTIAL>> with the API Key from Step 4.

Example with multiple integrations:

6b. Add gsheet to SYNC_PLUGINS (Nalanda envVars)

In the same Nalanda section, ensure SYNC_PLUGINS includes gsheet:

Add or keep other plugins (e.g. slack, msexcel) as needed; gsheet must be present.

6c. Enable Garuda and Set Redis envVars

The Gsheet connector uses the Garuda service. Enable Garuda and set Redis environment variables to match your Nalanda Redis configuration (same host, port, TLS, credentials, and use a different REDIS_DB if desired).

Add or update the garuda section in nected-values.yaml:

  • Replace <<REDIS-HOST>> with your Redis host (e.g. service name or hostname).

  • Ensure REDIS_ENABLED, REDIS_TLS_ENABLED, REDIS_HOST, REDIS_PORT, REDIS_USERNAME, and REDIS_PASSWORD match what Nalanda uses so both services can use the same Redis instance.

Step 7: Apply Changes with Helm

  1. (Optional) Update the Helm repo if you want the latest chart:

  2. Upgrade the release with your values file:

  3. If the Gsheet integration does not appear under Integrations in the Nected UI:

    • Restart Nalanda: kubectl rollout restart deploy nected-nalanda

    • Optionally run plugin sync from inside the Nalanda pod: kubectl exec -it <<nalanda-pod-name>> -- /bin/bash then ./nalanda sync plugin

Summary Checklist

  1. Configure OAuth consent screen (branding and app info).

  2. Create OAuth 2.0 credentials (Web application), add redirect URI, and save Client ID and Client Secret.

  3. Create API Key credential and optionally restrict it to Sheets (and Drive) API.

  4. Enable Google Sheets API and Google Drive API for the project.

  5. In nected-values.yaml: add gsheet to CREDENTIAL_CONFIG_MAP (Nalanda envVars), add gsheet to SYNC_PLUGINS, and enable Garuda with Redis envVars matching Nalanda.

  6. Run Helm upgrade and, if needed, restart Nalanda or run plugin sync.

Troubleshooting

  • Gsheet not in Integrations list: Ensure gsheet is in SYNC_PLUGINS, Garuda is enabled with correct Redis settings, and run ./nalanda sync plugin inside the Nalanda pod if needed.

  • OAuth or redirect errors: Confirm the Authorized redirect URI in Google Cloud matches your Nected UI redirect URL exactly (e.g. https://<nected-ui-domain>/auth/redirect).

  • Redis / Garuda errors: Ensure Garuda’s REDIS_* envVars match Nalanda’s and that Redis is reachable from the cluster. Use the same REDIS_HOST, REDIS_PORT, and credentials; REDIS_DB can differ.

  • API key errors: Ensure the Google Sheets API (and Google Drive API, if used) is enabled for the project, and that the API key is not overly restricted (e.g., by referrer or IP if Nected runs on a different network).

Last updated