Skip to main content
The Dynamic Gallery feature allows you to turn a spreadsheet of products, real estate listings, or menu items into a swipeable carousel in your chatbot. When you update the sheet, the gallery updates automatically.

Configuration

1

Prepare Your Sheet

Ensure your Google Sheet has columns for the visual elements you need:
  • Title (e.g., “Caramel Frappuccino”)
  • Subtitle (e.g., “Sweet and creamy”)
  • Image URL (Must be a direct link to an image, e.g., https://example.com/image.jpg)
  • ID/Details (Data to pass when clicked)
2

Add Action to Flow

  1. In Flow Builder, add an Action block.
  2. Select Google Sheets > Generate Dynamic Gallery from any Google Sheet.
3

Map Visual Elements

A visual card editor will appear. Click the {} (variable) icon next to each field to select the corresponding column from your sheet headers:
  • Image: Map to your Image URL column.
  • Title: Map to your Product Name column.
  • Subtitle: Map to your Description column.
4

Configure Buttons & Actions

Add a button to the card (e.g., “View Details”).
  • Crucial Step: You must tell the bot which item was clicked.
  • Select the button > Add Action > Set Custom Field.
  • Save a unique identifier (like Column A ID or Product Name) to a variable like selected_product_id.

Handling User Selection

When a user clicks a button in the dynamic gallery, the flow continues. You can now use the data saved from that click to show specific details. Example Scenario:
  1. User clicks “Caramel Frappuccino”.
  2. The button action saves “Caramel Frappuccino” to last_viewed_product.
  3. The next message block says: “Great choice! The last_viewed_product is one of our best sellers.”
Segmenting Audiences: By saving the last_viewed_product, you can tag users or send follow-up offers specific to what they browsed (e.g., “Here is a coupon for your Frappuccino”).

Limitations

Facebook Messenger Limit: Custom Fields have a character limit (1000 chars). Ensure the data you pull from the sheet (like long descriptions) does not exceed this if you plan to store it in a variable.