Business Applications
/
Google Sheets

Google Sheets

Connecting to Google Sheets allows you to pull in and manipulate spreadsheet data like you would a database. This allows you to:

  1. Easily view and combine Sheets data with data from other sources (like MySQL or Salesforce)
  2. Build a frontend to view and update Sheets in a controlled manner, with column-by-column user permissions

How to connect

Sign into your Google account and give Internal permissions to access your Sheets. Then select the workbook that you want to connect.

What happens when you connect

When you connect a Google Sheets workbook, Internal automatically generates:

  1. A resource for each Sheet within the workbook. So if your workbook has two Sheets, "Users" and "Companies", Internal will generate a "Users" resource and a "Companies" resource. Each resource contains the corresponding Sheet's data.
  2. An insert, update, and delete function for each Sheet in the workbook. These functions will allow you to manipulate the data within each resource.
Note: In order for Internal to properly read your Google sheet, please make sure that:

  1. The top row of the sheet (header) contains the column names.
  2. The top row (header) is fully filled out, i.e., every column with a value has a column name in the first row.
  3. All column names in the header are unique (no duplicates).

Working with Google Sheets

As Google Sheets are easily editable, special care must be taken to prevent conflicts with changes from Internal.

  1. If you plan to write back to a Google Sheet from Internal, we recommend only allowing editing, sorting, and creating new records from Internal. Internal uses the row number to identify the record to be updated. As a result, if someone edits, sorts, or adds data directly to a Google Sheet while another user is trying to edit the same Sheet from Internal, there could be unintended changes made to your data.
  2. If you do want to add additional columns of data in the Sheet, we recommend you add it as the right-most / newest column, and then syncing your data to import the new field(s). This will help prevent conflicts.