The Google Sheets integration enables your chatbot to exchange data with spreadsheets in real-time. You can save user leads, fetch dynamic content (like daily menus or locations), and update existing records automatically.
Connecting Your Account
Navigate to Integrations
- Go to Settings > Integrations in the main menu.
- Locate the Google Sheets section.
Authorize Connection
- Click Connect.
- Sign in with the Google Account that owns or has access to the sheets you want to use.
- Grant the necessary permissions.
Critical Restriction: This integration relies on the Name of the Worksheet (tab) and Spreadsheet, not the ID.If you rename your Spreadsheet or the specific Tab inside Google Sheets after connecting it, the integration will break. You will need to re-select the sheet in every Flow Action that uses it.
Spreadsheet Setup
Before building your flow, prepare your Google Sheet. The first row must contain headers, which will act as the “keys” for mapping data.
Example “Subscribers” Sheet:
| A | B | C | D |
|---|
| User ID | Full Name | Email | Phone |
| (Data will go here) | … | … | … |
- User ID: Always recommended as a unique identifier (Lookup Column) for updating or retrieving specific user data later.
Available Actions
In the Flow Builder, add an Action block and select Google Sheets to access these features:
1. Send Data
Export collected user information (leads, answers) to a new row.
- Setup: Select Spreadsheet -> Select Worksheet -> Map Custom Fields (e.g.,
{{email}} to Sheet Columns (Header names).
- Result: A new row is added every time the flow runs.
2. Get Row (Lookup)
Retrieve data from a specific row to display in the bot (e.g., checking order status or finding a store location).
- Lookup Column: The column to search (e.g., “User ID”).
- Lookup Value: The value to find (e.g.,
user_id).
- Map Data: Save the data found in other columns (e.g., “Status”) to a Custom Field (e.g.,
order_status) to show the user.
3. Get Multiple Rows
Retrieve a list of items based on criteria. Useful for displaying menus, product lists, or directories.
- Filter: (Optional) Only return rows where “Category” equals “Shoes”.
- Limit: Set a maximum number of rows to return (e.g., 10).
- Output: The data is usually formatted into a Gallery or List dynamically.
4. Update Row
Modify an existing entry.
- Use Case: A user registered earlier (Row created), and now they are providing their phone number.
- Logic: Search for “User ID” in column A. If found, update Column D (“Phone”) with the new value.
5. Get Random Row
Picks a random entry from the sheet.
- Use Case: Daily quotes, random prize winners, or suggesting a random product.
6. Clear Row
Deletes data from a row.
- Use Case: Unsubscribing a user or removing a claimed coupon code.
Example: Dynamic “Food Truck” Location
Imagine a food truck that changes location daily. Instead of editing the bot every day, the client updates a Google Sheet.
Google Sheet Setup:
| Key | Location Name | Maps Link |
|---|
| Current | Downtown Park | https://maps.google… |
Bot Logic:
- User asks: “Where are you?”
- Action: Google Sheets -> Get Row.
- Lookup: Column “Key” equals “Current”.
- Save Data: Map “Location Name” to
truck_location and “Maps Link” to maps_url.
- Message: “We are currently at truck_location ! Click here: maps_url”