Stopping the bot from treating a button payload as intent

lets say, i am using buttons to provide some info to the user. So if a user select a button called ‘school’ then the definition of school will be displayed to the user. I do not want the bot to treat this definition (payload) as an intent. Once the definition is shown the bot should enter into listening mode. How can i do this?

Can you elaborate more? I don’t see why you want to eliminate the payload if your conversation will be like this:

  • Bot send buttons
  • Bot enters listening mode
  • User selects “school”
  • Bot uses payload from selection to display the definition
  • Bot enters listening mode

Not the original poster, but i can think of a use case.
If the payload is dynamically generated, it might not be present as an intent.

You could use an action for this, which is triggered by the payload.

Hi @Govert If you are talking about returning an action directly via the payload, then I think it is not possible according to this post. Handling utterances & actions in buttons directly

Hi @Gehova Gehova, I do not want to eliminate the payload. Once the payload is executed the bot is treating the payload output as a user input and trying to find its intent. I need to know if there is a way, that the bot enters listening mode once the payload is executed and wait for user to actually enter an input.

Hi @akshayg11!

How exactly are you showing the definition on button click?

@akshayg11 Here’s a simple demo (2.8 KB)

The payload is supposed to be treated as an input user message. So deploying payload is the same as if user just said something. If don’t want to do anything with this input and simply want to enter listening mode then put action_listen after the button click in your story. Something like this:

## happy path
* greet
  - utter_greet
  - action_show_buttons
* button_click
  - action_listen

@Govert I had already implemented it just like you have. But the payload is considered as an input. In your example when the sentence “THIS IS BAR!” will be printed, the bot will consider it as the next input.

I think maybe i need to replace ‘utter_message’ with something else so that the bot just displays the payload and then listens. Any comments?