Eric_Cajada
Eric_Cajada3mo ago

“How to Structure Voiceflow Flows for Large Image-Based Catalogs

So I've got a challenge in front of me... I’m building a conversational assistant for a client that sells 200+ appliances (TVs, air conditioners, fridges, microwaves, stoves). Instead of using a structured database, we’ll be manually uploading the product posters into Voiceflow using card/carousel blocks (each poster already has price, model, and size). My approach so far: Create category-based flows (e.g., TVs, ACs, etc.). When the user asks for a category (e.g., “Show me TVs”), I route them into a card/carousel block that displays the right set of posters. Add clarifying questions (for TVs: “What size?”) to route to the correct subset of images. If the request is unclear or filters don’t match, I plan to fall back to showing all posters for that category so the conversation never stalls. Allow topic switching mid-conversation (e.g., “Actually, show me microwaves”) without breaking the flow. My question 🙏: 👉 What’s the best practice in Voiceflow for managing a large number of manually uploaded card images? (I saw something about OCR + tagging layer outside of Voiceflow and expose it via a custom API) Is there a cleaner way to structure and scale this so it doesn’t become unmanageable with 200+ images? Any tips from the team (or @Braden (Voiceflow CEO) ) on keeping this architecture scalable? I feel like uploading the images manually is not going with an "AI" approach.
2 Replies
Showboyy
Showboyy3mo ago
Hi, I don't know if I can help, but I'll try. Manually uploading 200+ cards in Flow will soon fall apart. Create a catalog outside of Voiceflow (Airtable/Sheets), pull data dynamically into VF, and render carousels from JSON. Management then takes place only in the catalog, not in the canvas. What works in practice: Catalog outside of VF: columns category, brand, model, size, price, image_url, tags[]. Host images via URL (CDN/Drive), do not upload to VF. Filtering: Airtable step or API Step (v2) returns filtered results by intent/slots (e.g., TV + 55–65"). In the JavaScript step, remap the results to card fields and send them in batches (8–10) to the Carousel step; add "Show more." Controls: buttons on cards with "listen" for details/comparison, easy category skipping ("show me microwaves"). Knowledge base for text responses (FAQ, policies), not for product inventory; keep the catalog in Airtable/API. Uniform card templates, controlled vocabulary, pagination, optional tagging layer; OCR only if you really don't have structured data. ✌🏻
Eric_Cajada
Eric_CajadaOP3mo ago
Got it awesome! Will start working on it

Did you find this page helpful?