In message flow capture customer message as variable

Good day

Is there any way we can accomplish the following in a message flow (web messenger deployment):

  • Prompt the customer to enter their full name
  • Capture the full name as a variable
  • Prompt the customer to enter their cell number
  • Capture the cell number as a variable
  • Set participant data with the two variables

Use a bot (bot flow, lex, dialogflow, or nuance) to get the name & cell from the customer. Then a set participant data action.

Hi Melissa,
What about trying to use Message.Message.body in web message to capture something simple like 10 digit phone number and then pass that to a data action to do the lookup. I've tried to leverage it and message.message.body doesn't seem to populate, but I would think it would work.

Message.Message.body only contains the initial message from the customer that started the interaction. If you want to have a back-and-forth conversation with the customer, use a bot (bot flow, lex, etc). The data the bot collects should come back in the slots.

When I use conversation auto start, Send a Response to start the message flow, and ask a question like "Give me your phone number in 10digits Example : 2125551212. Then a wait action. When the customer types in their phone number, message.message.body is not populated by the message flow. Is conversation auto start blocking the ability to use message.message.body?

Message.Message.body only contains the initial message from the customer that started the interaction. It will never change to anything else. You can use a Send Message to say anything you want to the customer, Message.Message.body will never change. You must use a bot if you want to get information from the customer. Even after you do so, Message.Message.body will still only contain the initial message from the customer. The output slots from the bot will contain the information the bot got from the customer.

Hi Melissa

I have looked into using the Genesys dialogue flow bot to capture the clients name and phone number however it does not look like the bot is created for this purpose. When creating a slot for a customer name I guess I have to use a custom regex slot: ^(.*\s.*)+$ to capture two or more words since there is no predefined word that would characterize any given name. However this slot will capture almost any response from the customer and be overwritten.

If you have any further information you can link me to be able to capture a full name as a slot in a Genesys bot flow please do provide this.

Unfortunately your regex will not work either as some names are more than 2 words with hyphens etc. I would suggest using a builtin:any slot to capture anything and ensure that confirmation is set to Always on the Ask for Slot block. Names are difficult as there are so many options and ones that are being added. Even name based built in entities often fail as names can be different (Jack, Jacques, Jak etc) for different languages and take a long time to process. Any validation you do using Custom Validation in the Ask for Slot block may be to restrictive. However, if you have the phone number and can do a Data Action that returns the list of names attached to the account, for example, you could use a Dynamic List slot. I get the feeling you just want them to enter their name to be stored?

Thanks for that info. I have managed to accomplish what I needed to do now using your advice.

Inside the bot flow I am capturing data using ask for slot action, and then in the message flow I am saving those slot outputs into local variables and then able to set participant data using the local variables.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.