Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column

Let's take a look at how you can update existing values in a sheet. It’s another common scenario that can be used for a variety of tasks (e.g. limiting the number of submissions for a particular form or creating a sequentially increasing counter). We’ll use this sample Google Sheet to discuss. It has a row for each employee: Employee Id, Location and Extension.

Column
width240px

 On This Page:

Table of Contents

Info

First, it’s important to note that Google Sheets is not a transactional system like a database and results can be unpredictable if multiple users update the same Sheet at the same time.

Column
width300px

 On This Page:

Table of Contents

Rule syntax and best practices to follow are discussed in the Writing Rules to Retrieve and Update Data in a Google Sheet topic.

Step 1: Obtain an access token

As before, If you do not have to first get an access token . This is a one-for your Google Account, perform this one time step.

  1. Open your web browser and login to your Google Account

  2. Go to:

    1. Live Forms Online Cloud customers: https://app.frevvo.com/google/consent

    2. Live Forms In-house customers: http://<your frevvo server domain name>/google/consent
  3. Copy and Save the access token. THIS IS VERY IMPORTANT. The token is used as the password for  wizards and rules. 
  4. Click on the Accept button.

Insert excerpt
Obtain an Access Token
Obtain an Access Token
nopaneltrue

Step 2: Add the Business Rule

We’ve created a simple example form. Select the employee, a location and a new extension number. Click the Update Google Sheet button, wait a few seconds and see that the sheet was successfully updated. We did this using this rule:

Code Block
languagejs
/*member password, user*/

if (UpdateGoogleSheet.clicked) {
 
  var eid = EId.value; // Unique key in the Google Sheet row  
  var headers = {“user”"user": ” < google id > ”,”password”: ” < access token > ”}’;
 "<google id>","password":"<your access token>"};
  var updatequery = '/google/spreadsheets / update / key /<your < spreadsheetkey > ? wsname = Locations & query = employeeid = ”‘+spreadsheet key>?wsname=Locations&query=employeeid="' + eid + ‘”‘'"';
    var updateparams = '& updates = location =' + Location.value + ',extension=' + Extension.value;
      extension = ’+Extension.value;
 
  eval(‘x 'x=' + http.put(updatequery + updateparams, null, headers, false));
}
  1. It’s triggered by clicking on the Update Google Sheet button.
  2. We setup headers and an update query using your access token and spreadsheet key (the long ID in the URL of the Google Sheet). In this example, the name of the Google Sheet tab is Locations. Change the wsname= parameter to the name of your Google Sheet tab if you named the tab something different.
  3. Add updateparams: we’re updating location and extension with new values.
  4. Run the update – perform an http.put() and eval the results.

Step 3: Try it yourself using the sample form

...