Just fill out a form to search for data and dynamically generate content. You can search for specific values inside of Google Sheet cells, or search using values stored in custom user fields.

You can choose from and configure several Botsheets Search Actions depending on the amount of search criteria you require and add these search capabilities right inside of the Manychat Flow Builder.

Botsheets Search Action

Search Actions

Search Actions can be accessed natively in the Manychat Flow Builder. Whether it's a simple keyword search or if you need to search with multiple criteria, you simply fill out a form and leave the magic to Botsheets.

Google Sheets Manychat

Search With Custom Fields

When you're searching your Google Sheet, start typing in the field for what to search for. You can use a value captured and stored in a Custom User Field, or you can select "custom value" and the value won't be stored, but used in just that search request.

Google Sheets Manychat

Search a Column

Pick the column in the Google Sheet you want to search for. With a gallery formatted worksheet, you could search a pre-defined column such as the sub-title of the gallery, or add a keywords column and search that column.

Google Sheets Manychat

Pick a Worksheet

Pick the worksheet name (the tab name at the bottom of your Google Sheet) from a list of worksheets.

Google Sheets Manychat

Image Presentation

Gallery images can be square, or horizontal. How will they appear in your dynamic gallery? Note that this feature is not available for Instagram bots.

Google Sheets Manychat

No Results Found

Your Google Sheet data may not return a response for the user because the search criteria didn't find a match. You can pick a flow to return to the user. You might create a single fallback flow, or create different fallback flows, one for each time you set a Botsheets search Action. You can't send the user back to a previous step inside of the flow where the Action was set when there are no search results.

Google Sheets Manychat

Advanced Search Methods

Use one of the Advanced Search actions and choose from different methods for more precise search matching. Some search methods allow for greater precision over numeric values. The difference between "Keywords" and "Contains" is that Keyword searches will ignore unimportant words from a phrase. If a user says "Do you have chicken pizza", the search will ignore "Do you have" and return results that contain either chicken or pizza. A search with Contains would return results with any words used in the phrase.

Google Sheets Manychat

Search Result Order

When searching your Google columns, you have the ability to control the way results will be sorted, which will determine the order of cards in your gallery. By default, the order will be in the order of the rows containing data that matches the search request.

Google Sheets Manychat

Additional Search Criteria

With an advanced search action, you can search with two search criteria (either Custom User Field values or a custom input value). You then specify whether the search must contain both criteria or either criteria.

Google Sheets Manychat

Search Locations

Location-specific businesses (i.e. A multi-location restaurant chain) can get a user's coordinates, save the user's coordinates to a Custom User Field, then use the saved value to search a Google Sheet and return a gallery of locations ranked by closest distance to a user. In short, you can easily build a store locator with Botsheets!

Botsheets for Manychat

Using a Gallery formatted Google Sheet, add in a column for locations. You'll add the longitude and latitude of locations that you want to make available to your user through your bot.

Google Sheets Manychat

In order to get the X,Y coordinates for any location, go to Google Maps and enter in the address for a location. Google will insert the coordinates for the location into the URL. Grab the coordinates out of the URL and copy them to your clipboard.

Google Sheets Manychat

You'll see data on either side of the coordinates. You'll want to ignore the @ sign to the left of the coordinates and ignore the comma and data which follows the comma. Make sure you just grab the latitude and longitude and copy only the coordinates from the URL, not the data on either side of the coordinates.

✅ This is correct as it only contains the X,Y coordinates for the location: -33.8567799,151.21310 ❌ This is incorrect because it includes ,11z which you don’t want to copy. This is actually a zoom variable for a map (1–20). -33.8567799,151.21310,11z

Another way, and like an easier way, to get the Longitude and Latitude coordinates for a list of addresses in a Google Sheet is using this free Chrome Browser Extension.

In your flow, you can request the user's location with a user input step and ask the user for their postal/zip code. Save the value you capture to a User Field named user_location.

Botsheets for Manychat

Next, you'll want to use the Botsheets Action that will process the user input (their postal/zip code).

Botsheets for Manychat

Set the action by selecting a country code. Next, add the user field user_location to get the value. You'll also map App data for Coordinates to user_location.

Botsheets for Manychat

Now assuming you have a value for user_location, you can generate a gallery of locations ranked by nearest distance.

Botsheets for Manychat

If you open the Gallery action, you can see how you'll want to utilize two key options. You'll want to order the gallery cards by Distance from user and you'll want to add user_location for the User Coordinates.

Botsheets for Manychat

The example demonstrated here is available in both our Starter Ki for Instagram and Messenger.

Search by date

You can search for a specific date in a Google Sheet, or even rank dates and determine the order of cards in a dynamically generated gallery. You'll want to add a date column to your Google Sheet (or use the example in the Starter Kit) to format date data so that it matches up with the format that Manychat expects. This is the format to use yyyy-MM-dd.

You'll need a flow to capture user input and you'll want to save a value to a date-type user field.

In the user input step, you can select a date-type response and save the input to a Custom User Field called date.

Now you'll want to set another User field formatted_date with the following.

Now you'll want to set up a Gallery From an Advanced Search Action. For the Search Method, use equals (use for numbers) and use formatted_date as the search value.

Order your cards by the Default Row Order option and you'll rank cards by nearest date for the user.