Table of Contents

Google Sheets (Insert, Update and Get data)

Desirée M Updated by Desirée M

Note: available on Professional and Business plans.

Prefer watching than reading? No problem, we've got you covered 👇

Check out this article to learn how to configure our Google Sheets integration and perform complex actions without a single line of code: Sheets is now your Landbot's favourite database!

Google Sheets integration

To start setting up a Google Sheets integration, look for the Google Sheets block in the searcher:

Tip: Please keep in mind that you will use Fields to send the information to the Google Sheets block.

If you are not familiar with Landbot's fields, please check out this video tutorial before proceeding with the integration.

Sync with one of your Google Spreadsheets

â‘  Sign in to your Google account: Click Add account, and you will be redirected to Google.

Enter your email and password, then grant the app permission to manage your data. After logging in, choose the account you want to integrate with Landbot from the dropdown menu.

② Select the Spreadsheet: You will see a pop-up where you can choose which Spreadsheet you want to link to your bot. Click on it, then on Select. The pop-up will close and you will then see a dropdown to pick the specific sheet you want to work with:

The Google Sheets integration needs to find the headers (first row/line) in your Spreadsheet to work correctly, as shown below.

If the block stays loading and no options appear, it's likely because:

  • The app cannot find the headers of the columns in the selected sheet.
  • There is no data in the selected sheet.

If this is the case, change the setup of your Spreadsheet or add data to it, and begin the integration again from the start.

WARNING: Make sure the spreadsheet is in its final version before integrating it with Landbot.

If you perform any changes in the structure of the Spreadsheet, the Google Sheets integration must be set up again.
Note: As usual, the integration will only be activated if the block is triggered in the flow.

We recommend you place it right after collecting the relevant data, and not only at the end of the flow. This way, you ensure visitors go through it and trigger the integration.

How to Insert, Update and Get data

After integrating with a Spreadsheet, you must select the Action to perform.

Let's take a look at the 3 possible actions and how to configure each one.

Insert a New Row in a Sheet

The classic one. This action sends data collected by Landbot to your Spreadsheet, creating a new row (a new line) in the Spreadsheet.

â‘  Select the column where you want to insert data: First, choose the column in the Spreadsheet that should be updated with the data collected by Landbot. Just select the column name from the dropdown; it should match the one you set in the sheet.

② Define the data to be sent to that column. Next, choose which piece of information (stored in a field) should be sent to that column.

The selected value will be sent to Google Sheets, creating a new row with the data placed in the column you chose.

Example

In the example below we are going to send the value saved in the field @name to the column NAME.

This is how the Spreadsheet was set up:

First we used Question: Ask for a name block, and saved the answer in the field @name. This is the field we will insert in the Google Sheets block in the next step.

This is how it will look in the Google Sheets block, when we choose to create a new row, sending the value @name to the column NAME:

This is how the conversation will look like from the user's point of view:

And after the Google Sheets is triggered, the data will be sent to the Spreadsheet, creating a new row under the column NAME.

Update a row in a sheet

With this action you will be able to Update a row in a spreadsheet following two steps:

â‘  Search for a value collected by Landbot (REFERENCE COLUMN): Start by checking if a value saved in a Landbot field exists in a specific column of your Google Spreadsheet.

(for example, search for the field @name in the column NAME).

This step tells the spreadsheet where to begin searching. Once the value is found, Google Sheets will look from left to right across the same row (not down the column) to locate or update the related data.

② Update the row with a new value: After finding the row with the value you’re looking for, you can update another cell or cells in the same row using a value saved in Landbot.

(for example: update the EMAIL column using the field @email).

Outcomes:

There are two possible outcomes from the Google Sheets block when you are trying to Update a Row in a Sheet:

âś… Success (Green arrow): The value you searched for was found, and the row was updated successfully. This path lets you continue the flow knowing the data was saved correctly.

❌ Failed (Red arrow): This means the value you searched for was not found in the spreadsheet, so Landbot could not update any information. This path is useful to handle cases where the data is missing, for example, you might want to ask the user for different input or show an error message.

Example

This is how our Spreadsheet was set:

Pay special attention to the fields from the columns NAME and EMAIL.

This is how we set the flow:

We look up the user’s name saved in @name to find their row in the spreadsheet, searching in the NAME column. To do that, we set the NAME column as the reference point for the search.

Once the correct row is found, we can make changes to that specific row. In this case, we’ll be updating the email address.

The new email will come from the value saved in the field @email, and it will replace whatever is currently in the EMAIL column of that same row.

Here is how the user would see the flow:

And this is how it would look in the Spreadsheet after the integration was triggered. Please note that the email was changed, since it was updated with the new information:

Before:

After:

Get Data From a Sheet

This action searches through the rows in your spreadsheet using the column you set as the reference (REFERENCE COLUMN).

If the Google Sheets finds the matching value in that row, it will get this information and send it to Landbot. Once the data is retrieved from the Spreadsheet, you can use it as a field in your bot.

â‘  Search for a value collected by Landbot (REFERENCE COLUMN): Start by checking if a value saved in a Landbot field exists in a specific column of your Google Spreadsheet.

(for example, search for the field @name in the column NAME).

This step tells the spreadsheet where to begin searching. Once the value is found, Google Sheets will look from left to right across the same row (not down the column) to locate or update the related data.

② Get Row Values: Once the match is found in a row, you can pull a value from another column in that same row and send it to Landbot.

(for example, get the value from the column EMAIL and store it in the field @email).

Outcomes:

There are two possible outcomes from the Google Sheets block when you are trying to Get Data from a Sheet:

âś… Success (Green arrow): This means the value you searched for was found in the reference column. As a result, the Google Sheets block was able to read the row and send the requested value to Landbot successfully. You can then use this new field anywhere in your bot.

❌ Failed (Red arrow): This means the value you searched for was not found in the reference column. Since the row wasn't found, Landbot couldn't retrieve any data. This path is helpful for setting fallback logic, like showing an error message or asking the user to re-enter the value.

Example

This is how our Spreadsheet was set:

Pay attention to the fields from the columns NAME and EMAIL.

This is how we set the flow:

Reference Column: We'll use the user's name, saved in the field @name, as a Reference Column to find the information in this row.

For that, we select the column NAME as the reference column and choose the field @name by clicking on the Use Field button.

Get data from the Spreadsheet: Once the name is found in that column, we retrieve data from another column in the same row. In this case, we’re getting the email address from the column EMAIL and using it in the field @email.

Here is how the user would see the flow:

Remember the Spreadsheet won’t be changed at all since we’re just getting information from it and not inserting or updating any data.

And just like that, we were able to bring the field @email into the bot, even though the user didn’t provide it during the chat. Easy and efficient!

FAQs & Troubleshooting:

If your Google Sheets integration is not working, please see if one of the following cases applies to your bot.

FAQ & Troubleshooting

Can I use 2 Google Sheets blocks, one right after the other?

No, Google Sheets blocks can’t be placed directly one after another—they require a different block between them to work properly.

How can I send a URL (external link) from the Spreadsheet to the bot?

Using the Get data from the Spreadsheet action, you must add the field in the format @{link1}.

The data is uploading to the wrong column

Once the integration is set up in Landbot, moving a column or changing its header name will cause the integration to stop working correctly.

If you make any of these changes, you’ll need to redo the integration from the beginning by creating a new Google Sheets block.

The block configurator keeps loading after selecting the sheet

This happens when there are no columns set in the sheet selected.

Move on to your Google Sheets account and create some columns in the Spreadsheet to complete the integration!

I've created a copy of the sheet and the data isn't uploading in the new sheet

If you create a new sheet in the Spreadsheet (or edit anything in the sheet integrated already), you will need to reset the settings in the Google Sheets block.

If you don’t reset the integration, it may stop working correctly or fail to upload any information.

Why do I get a 403 error when linking Google Sheets to Landbot?

A 403 error usually means Landbot doesn’t have permission to access your Google Sheets. Make sure you’ve granted all required permissions during login and you are logged into the correct Google account.

If that's the case, simply refreshing the page usually solves the problem.

The method "Get Data From a Sheet", returns a similar value, but not the exact one that I was looking for.

The Get Data From a Sheet action makes a search based on a "Contains" condition. So if more than one row contains the same value, this may happen.

To fix this problem, add another column with the same value, for example, email, but with the "|" symbol like |email@email.com. 

Use it in the Google Sheet Integration as well. This way, the search will contain all the email address, not just a part of it.

What happens if I search for a value in a column, but this value doesn't exist?

If no value is found, the flow will continue through the Failed (red arrow) output. Make sure to connect this output to another block to use this option.

If the failed path is not connected, the bot will stop.

What happens if there are 2 or more cells with the same value?

The integration only returns values from one row. In this case, it will return values from the row that is located higher in the Spreadsheet.

Can I use a Code Block before a Google Sheets integration?

No, it's not possible to use a Code block before a Google Sheets block. If you do, both blocks won't work properly, and the bot will stop.

Why I can't get dates from a sheet?

Keep in mind that, in Landbot, the date is saved in the format of YYYY-MM-DD, with the dash or hyphen (-), and won't be accepted if the date is added with a slash (/). To solve this, you need to use a Set a field block, and the format for a Date field should be YYYY-MM-DD. Check out this article for more information about setting a date field.

Channel Type compatibility

for Web

This feature is fully compatible.

for WhatsApp

This feature is fully compatible.

for Messenger

This feature is fully compatible.

Was this article helpful?

How to use Google Sheets to create a simple verification system for returning visitors

Contact