Hello Hafid,
I can think of several approaches you could do to handle your large slot list.
The first is using a database as an intermediate layer. Instead of making multiple API calls directly from the bot flow, you could set up a database as an intermediate layer. You would have to periodically sync the full dataset to this database. But this would allow you to create a single API endpoint that queuries this database instead of making multiple data table API calls. This approach should reduce the latency during conversations and eliminate the need for multiple API calls.
The second is Implement Caching, if your slot values dont change frequently, you could implement caching mechanism. Cache the complete list of values and refresh it periodically. This would eliminate the need for multiple API calls during each conversation.
The third is progressive loading, if possible to implement. A progressive loading approach where you only load relevant subsets of data based on initial user input. For example, if the slots are hierarchical or can be categorized, load only the relevant category first.
The fourth would be to optimize data structure, review if all 25000 values are necessary. Consider grouping or categorizing the values to reduce the initial load. Implement search/filter functionality to help users find relevant values more efficiently.
The fifth and final option would be a custom integration, this would require you to create a custom integration that aggregates the data table API results. This integration would need to handle the multiple API calls and combine the results before sending them to the bot.
These are just some ideas and the best solution would depend on several factors.
- How frequently the slot values changes
- the performance requirements of your bot
- the infrastructure available to you
- the nature of the data
Hope this helps!
------------------------------
Cameron
Online Community Manager/Moderator
------------------------------
Original Message:
Sent: 09-05-2025 06:39
From: Hafid Bourich
Subject: Dynamic slot in a bot flow
Hi,
I want to use a dynamic slot list with approximately 2500 values in a bot flow. Configuring this manually in bot flow would be a lot of work. Alternatively, I could use it to retrieve the values from a data table using the data able API. However, the API returns a maximum of 500 results, so I'd need to make multiple API calls (5 API calls) per call interaction to get the complete list.
Is there any smart way to deal with this?
#ArchitectureandDesign
#ConversationalAI(Bots,AgentAssist,etc.)
------------------------------
Hafid Bourich
Technisch Consultant
------------------------------