From this article, you will learn how to connect your ManyChat Account to Google Sheets, and how to simply transfer your contact's data to tables by actions in flows.
Connect your Google account
Firstly, you have to connect your Google account to ManyChat:
1. Go to Settings —> Integrations
2. Tap the button bellow: Connect Google Sheets Account, and confirm the authorization.
3. Now you can start using Google Sheets.
Add Google Sheets action to flows
You can add the integration action in one of your flows, and when your contact passes through this flow, their data will be pushed to your Google Sheet.
1. Create a new worksheet in your Google Docs and prepare column names on the first row of the document
2. Go to the flow where you want to add an action
3. Make a new action node and choose Google Sheet Actions
Set up your Worksheet action
Insert Row Action
1. Click on the Insert Row link, and Google Sheets wizard will appear.
2. Choose your spreadsheet, worksheet, and match ManyChat fields to the worksheet fields. All contact's data, Custom User Fields, Bot Fields or Tags are available to send.
Now you can try your flow, and then chosen data will appear in your Worksheet.
Note: If you want to change the structure of your Worksheet, you have to go to the wizard of your Google Sheets Action and refresh the fields.
Get a row from Google Sheet by lookup value
Our integration allows you to import data from the Google Sheet into Custom Fields in ManyChat. Refer to the screenshot below to match the narrative with the live action through the guide!
You will need to create
1. Number Bot Field "coupon_id",
2. Number Custom Field "user_coupon_id",
3. Text Custom Field "coupon_code" in ManyChat,
4. Coupon sheet at Google Sheets.
And it basically works like this: ManyChat takes value from the Number Bot Field "coupon_id", looks for the number in the sheet and saves it in the specified Custom Field, "user_coupon_id" in our case.
For example, value of "coupon_id" is now 3 — this will be Lookup Value. And then ManyChat goes and looks for "3" in the Google Sheet Column "ID"— this is Lookup Column.
It will find a Row with "1111-11111111-111111-1111" code and map it to the chosen Custom Field.
We're going to make a Flow that will give contact a coupon after the click on the button. We are making the request to Google Sheet (described on the screenshot above). We're receiving the coupon ID and checking with Condition if the user received the coupon at all (we need it in the case there are no more coupons). If there is a coupon, we'll increase "coupon_id" by 1 — that will increase Lookup Value and move us through the list giving the next contact the next coupon.
If Lookup Value is more than the number of the coupons and there are no more coupons, nothing will be mapped to the "user_coupon_id" Custom Field and we'll sent the second message "No coupon".
Note that the second Condition checks if the user has a "Coupon_received" tag which is applied only when the user do not have it yet. If he has, he will receive the message that he already received the coupon. That will make sure that the same user won't be available to get the code twice.
Note: if Google Sheet doesn’t find any value identical to Lookup Value, then it wouldn’t return anything. And if you have two or more the same values, then the user will receive the first one.
Update Existing Row
This newest feature allows you to update the information in a Google Sheet you had already filled before, using a column and a Custom Field as the lookup values.
1. Create a Google Sheet action and select the sub-action "Update Existing Row".
2. Select the Sheet, the Lookup Column, and the Lookup Value so that they correspond to the column and the Custom Field that were used in the initial "Insert Row" action.
3. Once it is done, the setup Custom Fields will get re-populated with the current values.
Google Sheets integration has a limit of 150 requests per 60 seconds. This limit applies to the user, who has enabled this integration under their Google account, i.e. if the user has multiple pages in ManyChat and connected Google Sheets integration, then the limit will be shared across those pages. Hitting this limit causes the error in Settings > Logs "X or more requests were not processed due to the Google API limit" and the integration action won't be executed, but the processing of the flow will continue.
We have implemented the monitoring of the requests being performed to Google Sheets per such user and all the Flows that trigger integration that overflows the limit will be suspended at the point of Integration Action until they can be executed according to the limit. In such cases, you will see a new Warning in Settings > Logs instead of the error: "X or more requests exceeded Google API limit and will be throttled and executed later."
Actions that should be executed by Triggers & Actions can't be suspended, so we will attempt to execute them anyway without checking the limit.
If you read this article and still experience some issues with the Google Sheets Integration, please, make sure to check this Troubleshooting article for this feature.