Thanks @johnjackson. I was afraid this would be the answer and I’d ask if, somehow, a solution can find its way on to the FlowXO roadmap as this is going to be a pretty significant blocker for what I’m trying to prototype on FlowXO.
To use a common example that I’ve seen on services like this, i.e. booking an appointment, and to which the base example is quite simple (almost too simple), I would suggest thinking about this kind of use case:
- User wants to book an appointment.
- Ask the user what type of appointment they would like to book (this list would come from an external service and could have 1…n types returned).
- User selects an appointment type.
- Ask the user what date they would like to book the appointment (this list would come from an external service, dates based on availability of the service provider and appointment type)
- User selects an available date.
- Ask the user what time they would like to book the appointment (this list would come from an external service, times based on availability of the service provider for that day and appointment type).
- User selects an available time.
- System books the appointment.
If I had to guess, I think the “easy” solution here would be just to put some intelligence into the “Ask a Question” service (and perhaps many other places that would benefit), to allow a collection to be passed to the “choice” field and have it split up the collection into multiple choices if it detects the input is a collection.
An alternative, if that’s too much heavy lifting, is to provide an alternate field that expects a collection as input.
Similarly, value
fields would expect a collection of values.
The above would make my problem be a simple matter of referencing {{service_name.data__name *}}
as the choices and {{service_name.data__id *}}
as the values.
I’m not sure I can use the workaround you suggested as it implies a few “cons” on the UX side of things which is fundamental to what I’m trying to prove is better through a conversational bot approach than requiring a lot of back and forth with the user just to find a choice that is appealing to them. Further, I can’t simply “add choices for 10 items”, because if the user doesn’t like those 10 and wants to see 10 more, I need to solve that, which, btw, would be interesting to hear how that’s solved in FlowXO, assuming I might need to go that route in the short term.
Thanks again!