Google Sheets - Migrating from v3 to v4
The Legacy Google Sheets integration will cease to function as early as June 8, 2021. Please upgrade your flows to Google Sheets v4 as soon as possible.
On June 8, 2021, Google will shut down version 3 of their API, in favor of version 4. Version 3 is the version that Flow XO has historically used. In order to prepare for the cutover, we have released a new Google Sheets integration for version 4.
Who it Applies To
This applies to all Flow XO users who have flows using the legacy Google Sheets integration.
Unfortunately, Version 4 of the Google Sheets API is not backwards compatible with Version 3, and have removed some frequently used functionality, primarily unique row identifiers and the ability to perform server side searches of rows by search criteria. We are unable to automatically migrate your V3 integrations to V4, which means you will need to manually update any flows using the legacy Google Sheets integration before June 8. This will require removing the old integration actions and replacing them with the current version.
Although we have made every effort to keep the V3 and V4 Flow XO integrations as similar as possible, the lack of unique row identifiers in the v4 API means that we could not simply upgrade our v3 integration behind the scenes, but had to produce a new integration. You will need to remove any v3 actions and replace them with the current v4 equivalents prior to June 8.
Row IDs Removed from Sheets API v4
Although under the hood the v3 and v4 versions of our Sheets integration are quite different, the main difference to end users will be that the previous Row IDs can no longer be used to find or update rows in your Google Sheets.
Instead, any API actions that used to return a Row ID will return a Row Number instead. We continue to call this field Row ID for historical purposes, but in actuality is simply the position of the row within the spreadsheet. This means two things: if your flows rely on previously saved Sheets Row IDs, those IDs will not work with the v4 API, and storing Row IDs from version 4 will not be guaranteed to refer to the same record over time if you ever remove rows from your sheet or insert rows anywhere except after the last row.
Server Side Query API Removed from Sheets API v4
In version 3 of the Google Sheets API, Google exposed an API that would allow us to construct filtered queries of Sheets rows to find rows that met a certain criteria. This is how we implemented Search Rows. This API method is missing in v4, so we changed our Search Rows implementation to load the entire spreadsheet, including all of its rows, and perform the query ourselves. This means potentially loading a lot more data each time Search Rows is used.
What do I need to do?
If you use Search Rows in conversational (chatbot) flows where response time matters, and your sheets have many rows, you will want to thoroughly test your flows that use Google Sheets to ensure they perform well enough for your use case. If they don't, you may need to remove some rows from your sheets.
Migrating from v3 to v4
As of this writing (May 2021) when adding Google Sheets to your flows, you will only see the latest version. If you are using the legacy Google Sheets integration, your Google Sheets actions will show as Google Sheets (v3 Legacy). These actions must be REMOVED and replaced with the current versions.'
The steps to migrate a flow using legacy Google Sheets are as follows:
1. Open your flow in the editor, identify any actions that are named Google Sheets (v3 Legacy)
2. Make note of the settings for that action. You will need to re-apply the settings when you replace it with v4
3. Remove the Google Sheets v3 action
4. Click the "Add New" button to add a new action. Click "Other Services" and find "Google Sheets"
5. Select the matching method of the step you removed
6. Re-apply your configuration settings to the v4 version
7. Adjust any references to that step later in the flow to point to the new V4 version
8. Test your flow.