Was any solution found? I’m struggling with the same issue " No registered action found for name ‘action_back’."
Someone help!
Was any solution found? I’m struggling with the same issue " No registered action found for name ‘action_back’."
Someone help!
I did not find a solution to it in the end. Sorry I can’t help more!
Hey, how are you? May I ask you how you make Rasa work as in those screeshots?
@YordanBonne I’m fine thanks for asking. I hope you are also doing great. Yes, I have a good experience whilst developing the Conversation AI Chatbot and in my past major company project I develop the same.
Can you be more elaborative in your query? Thanks.
Thanks for answering. I’m trying to use action_back in my bots. Searching, I ended up in this thread. I saw the answer you gave to @ronankff and is exactly what I need. Could you tell me how you make “action_back” work that way?
@YordanBonne you just want the buttons to be displayed and get back to you on the previous menu?
I want to create an “go_back” intent and, everytime the user types “back” or “go back”, the boy display the previous message.
@YordanBonne it will be displayed by button like using previous menu or next menu. There is no such feature I personally used as action_back. If you required that solution do let me know and always tag me and else you post will be ignored by my. Thanks.
Hello, after a long time of searching regarding the use of action_back I always end up in this thread. So can this action be used to go back one step in the caster? And how can this be achieved?
This is what I want to achieve:
you can use slots and create a previous menu button it will be -1 level then -2 and so on.
Hello @lukrad
I have a similar requirement and I’ve succesfully managed to create this flow by using rules and custom actions.
My form’s last required slot is called confirm, which I made categorical:
slots:
first_slot:
type: text
second_slot:
type: text
confirm:
type: categorical
influence_conversation: true
values:
- true
- false
- back_1
- back_2
I ask for confirmation using buttons:
utter_ask_back_min_form_confirm:
- buttons:
- payload: /affirm
title: Yes
- payload: /deny
title: No
- payload: /back_1
title: Change 1st slot
- payload: /back_2
title: Change 2nd slot
text: "Are we all set with 1st slot={first_slot} and 2nd slot = {second_slot} ?"
Then, I have a rule where I call a custom action to reset previously set slots:
# submit form if success
- rule: submit my form
condition:
- active_loop: back_min_form
steps:
- action: back_min_form
- active_loop: null
- slot_was_set:
- requested_slot: null
- slot_was_set:
- confirm: true
- action: action_log_form
# reset first slot
- rule: Reset first slot
condition:
- active_loop: back_min_form
steps:
- action: back_min_form
- active_loop: null
- slot_was_set:
- requested_slot: null
- slot_was_set:
- confirm: back_1
- action: action_reset_slot
# Redefines 2nd field
- rule: Reset second slot
condition:
- active_loop: back_min_form
steps:
- action: back_min_form
- active_loop: null
- slot_was_set:
- requested_slot: null
- slot_was_set:
- confirm: back_2
- action: action_reset_slot
Finally, my custom action code to clear previously set fields:
def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
last_intent = tracker.get_intent_of_latest_message()
if last_intent == "back_1":
return [SlotSet("first_slot", None), SlotSet("confirm", None), FollowupAction("back_min_form")]
if last_intent == "back_2":
return [SlotSet("second_slot", None), SlotSet("confirm", None), FollowupAction("back_min_form")]
return []
@otmarjr nice approach.