The following shows an example of part of an entity extraction based call flow:
Here is what it is doing:
- Introducing the process using some Realtime TTS
- Asks the caller to input their customer number by speech
- If the caller speaks his customer number, then check if it is found
- If not, we ask for the customer number again, applying the same logic
Let's look at the Input ASR Object we are using:
This will:
- Say to the customer "What is your customer number" using the TTS
- Wait for input from the customer
- For a maximum of 5 seconds, if the customer says nothing
- If they start to speak, then for a maximum of 20 seconds
- Once they have started to speak, then a pause of 2 seconds will cause the ASR to deliver a "final" result containing the digits we require
The second Input ASR Object is very similar, just this time we prompt the user letting them know we didn't understand what they said:
Following this, we search for the customer number in the database (here we use a list, but this could be anything - a REST API, DB Call or whatever is needed.
This is generally a good pattern for such call flows:
- Ask the caller for the data you require
- If you do not get it, ask one more time
- Chat the data you get for validity
Tip
Don't overdo it - you will frustrate callers if they get "caught" in any kind of loop they cannot break out of. Ask them twice, maybe in some cases three times. Then give them an exit ...
Key points:
- You can cascade this approach, asking for several things one after the other.
- If you are combining this approach with an LLM, simply add a check whether the appropriate entity is already filled with data, and skip that part of the call flow if you already have the data.


