--- title: "Google Sheets Template Integration: CodeStation Configuration and Usage" slug: "google-sheets-template-integration-codestation-configuration-and-usage" description: "Covers how to integrate Google Sheets with CodeStation, including credentials, templates for creating, retrieving, finding and updating records, and usage limits." updated: 2026-08-10T07:51:07Z published: 2026-08-10T07:51:07Z canonical: "academy.insiderone.com/google-sheets-template-integration-codestation-configuration-and-usage" --- > ## Documentation Index > Fetch the complete documentation index at: https://academy.insiderone.com/llms.txt > Use this file to discover all available pages before exploring further. # Google Sheets Template Integration: CodeStation Configuration and Usage This guide walks you through configuring CodeStation to work with Google Sheets. After completing your Google setup, you will create your CodeStation template, add your service account credentials, and implement the Google Sheets code block in your bot flow. The steps below show how to use Google Sheets as a dynamic backend within CodeStation. ## Step 1: CodeStation Template Setup After adding your service account credentials, you can create your code block, select a Google Sheets template, and bind it to your secret. To set up the Secret Manager, 1. Navigate to the **Company Management** > **Code Station** tab. 2. Add the required fields from your Service Account JSON file into Secret Manager. (created previously in the [Google Sheets Template Integration: Environment & Credentials Setup](/v1/docs/google-sheets-template-integration-environment-credentials-setup)) to Secret Manager. ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-rcd0omh6.png) 1. You must extract and add the following fields from your Service Account JSON file: - `private_key` ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-0zq1g4vy.png) - `client_email` **![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-9vsktjph.png)** 1. Click the **Add Code Block** button. ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-agw5fn89.png) 2. Select the **Google Sheets** template. ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-uhj43qgk.png) 3. Select the **Create from template** option. ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-kyaz1ytu.png) 4. In the dropdown, you will see 5 template options. You can check these template types in the [Code Block Templates](/v1/docs/google-sheets-template-integration-codestation-configuration-and-usage#step-2-code-block-templates) based on your use case. ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-3dqjvw1x.png) 1. Now, you will connect the secret to the template. Secret binding works the same for all templates. **![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-o8rel7s6.png)** 2. When you create your code block template, you will see it under your code station tab. Click your desired template and connect your secret. ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-3f05fgof.png) ## Step 2: Code Block Templates CodeStation offers multiple Google Sheets templates. Select the one that matches the operation you need. ### Create Record This template allows you to create new records in your Google Sheet. Let's suppose you want to use the **Create Record** method: 1. You need to get input from the end user, and your input parameter should look like this: `sheet_create_<key>` - If your column name is "Name", it should be formatted as `sheet_create_Name`. - If your column name is "Number", it should be formatted as `sheet_create_Number`. 1. You should fill in the Parameter Name of your Input Action as follows: ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-nkau7gdb.png) 2. Since the Code Action's output is `isCreated`, use [**Logic Action**](/v1/docs/mindbehind-logic-action) to check whether the operation was successful. In this case, you should fill in the fields in the Logic Action module as shown in the image below: ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-ru82r3zy.png) ### RetriveAll The RetrieveAll method returns all rows in your Google Sheet as an array of objects. Each object includes key–value pairs where the keys match your column titles and the values match the corresponding cell values. For example, if your sheet contains the columns **ID**, **Name**, **Department**, **Email**, **Phone**, and **City**, the output will include an object for each row with these fields and their values. This structured JSON format makes the data easy to use in backend systems. To send the retrieved data to your backend, run the **RetrieveAll** template in **CodeStation** and add an **Integration Action**. Set the request method to **POST**, and the full **JSON** response will be sent automatically to the endpoint you specify. **![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-7aq0v1bs.png)** ### FindRecordByParams This template allows you to check your data in your Google Sheet. Let's say you want to use the **FindRecordByParams** method: 1. You need to get input from the end user, and your input parameter should look like this: `sheet_search_<key>`. - If your title is "Name", it should be formatted as `sheet_search_Name`. - If your title is "Number", it should be formatted as` sheet_search_Number`. 1. You should fill in the Parameter Name of your Input Action as follows: ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-t5873ec2.png) 2. Since the Code Action's output is `isFound`, use [**Logic Action**](/v1/docs/mindbehind-logic-action) to check whether the operation was successful. In this case, you should fill in the fields in the Logic Action module as follows: ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-3jelwqal.png) ### updateRecordByParams This template allows you to update your existing records to your Google Sheet Let's say you want to use the **updateRecordByParams** method. 1. You need to get some input from the end-user, and your input parameter should look like this: `sheet_update_<key>` - If your column name is "Name", it should be formatted as `sheet_update_Name`. - If your column name is "Number", it should be formatted as `sheet_update_Number`. 1. You should fill in the Parameter Name of your Input Action as follows: ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-kqilo96m.png) 2. Since the Code Action's output is "isCreated", use [**Logic Action**](/v1/docs/mindbehind-logic-action) to check whether the operation was successful. In this case, you should fill in the fields in the Logic Action module as follows: ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-jkfofwu4.png) ### FindRecordByParamsAsHash Let's say you want to use the **FindRecordByParamsAsHash** method: 1. You need to get input from the end user, and your input parameter should look like this: `sheet_search_<key>`. - If your column name is "Name", it should be formatted as `sheet_search_Name`. - If your column name is "Number", it should be formatted as `sheet_search_Number`. 1. You should fill in the Parameter Name of your Input Action as follows: ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-wryn1eif.png) 2. Since the Code Action's output is `isFound`, use [**Logic Action**](/v1/docs/mindbehind-logic-action) to check whether the operation was successful. In this case, you should fill in the fields in the Logic Action module as follows: ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-kp8rctoq.png) ## Example Scenario The example flow below includes two CodeStation blocks: [FindRecordByParams](/v1/docs/google-sheets-template-integration-codestation-configuration-and-usage#findrecordbyparams) and [updateRecordByParams](/v1/docs/google-sheets-template-integration-codestation-configuration-and-usage#updaterecordbyparams). This scenario shows that you will check whether the user exists in the sheet, and later update one of the columns. **![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/google-sheets-template-integration_-codestation-configuration--usage-image-yvnwrf58.png)** - 2 code stations were used here: **FindRecordByParams** and **updateRecordByParams.**![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/image-Q6UCT50N.png) You should check whether the user exists using the email address, since it is unique; it can also be a phone number. - With Selection Action, the bot asks which column we would like to update. In this case, we will update the user’s name. ![](https://cdn.document360.io/c6df4583-da94-4cb2-bb8a-be0cbdd11109/Images/Documentation/image-TM1E5XV8.png) CodeStation lets you update a specific column in a selected row of your Google Sheet. This enables quick, real-time modifications based on user input. ## Limitations ### Per-user limits (default) You can see the limits for each limit type below. These apply **per user**, **per project**, **per minute**. | Limit Type | Value | | --- | --- | | Read requests | Approximately 300 requests per minute | | Write requests | Approximately 60 requests per minute | | Total requests | Approximately 500 requests per minute | ### Per-project limits Google also applies global limits across your whole Google Cloud project. | Limit Type | Value | | --- | --- | | Requests per 100 seconds per project | 100 requests | | Requests per 100 seconds per user | 60 requests | ## Related - [Integrate Code Station](/mindbehind-integrate-code-station.md) - [Google Sheets Template Integration: Environment and Credentials Setup](/google-sheets-template-integration-environment-and-credentials-setup.md)