Cards from Table
Display a set of UI Cards generated dynamically from rows in a Knowledge Base Table document.
The Cards from Table node generates a set of visual cards by reading rows from a Table document in the Knowledge Base. Each row becomes one card, with fields mapped to card title, subtitle, image, and action.
Use this node to dynamically display product listings, location directories, menu items, or any structured data stored as a Table.
Available in: Conversational Flows
Configuration
| Field | Description |
|---|---|
| Wait for user input | When enabled, the flow pauses after showing the cards until the user taps one (or replies) before continuing |
| Text Response (optional) | Text shown alongside the cards, framing the choice (up to 500 characters) |
| Select table | The Knowledge Base Table document to read rows from |
| Image column | The Table column containing the card image |
| Name column | The Table column used as the card title |
| Sort by | How matched rows are ordered before being shown as cards (e.g. Latest) |
| Filter results? | Toggle on to restrict which rows are shown, using the same filter builder as Find Records – Filter by / Condition / Match By / Variable Name |
Routing is built in
Like the other card and choice nodes, Cards from Table has built-in output ports rather than needing a separate router: Card selected (a card was tapped) and Not selected.
How it differs from UI Cards
| Cards from Table | UI Cards | |
|---|---|---|
| Content source | Dynamic – from Knowledge Base Table | Static – written in the flow |
| Update without republishing | ✅ Update the Table document | ❌ Must edit the flow and republish |
| Best for | Product catalogues, menus, directories | Fixed options or navigation choices |
Use Cards from Table when the card content changes regularly and should be maintainable by non-technical team members through the Knowledge Base, without touching the Conversation Editor.
Prerequisites
- A Table document must exist in your Knowledge Base with the relevant columns
- The Table should have at least a column to use as the card name and a column with image values
Example: Product listing
A flow that shows products in the "Shoes" category from a Products table:
[Text: "Here are our current running shoes:"]
→ [Cards from Table:
Select table: Shoe Catalogue
Image column: product_image
Name column: product_name
Sort by: Latest
Filter results?: on
Filter by: category, Condition: Equals, Match By: Exact value, Value: running
]
├── Card selected ──► [next node]
└── Not selected ──► [fallback response]When the user taps a card, execution continues from the Card selected port – no separate router node needed to detect the tap.